【Excel】エクセルで数字を漢数字に変換する方法(一括変換)
エクセルで住所録、請求書、契約書の下書きなどを作成していると、セルに入力した数字を漢数字へ一括で変換したい場面があります。
たとえば「123」を「百二十三」、「2026」を「二千二十六」と表示できれば、和文の書類にもなじみやすくなります。
ただし、単純な置換では桁ごとの数字しか変わらず、「一二三」ではなく「百二十三」にするには関数やVBAの使い分けが必要です。
エクセルで数字を漢数字へ変換する主な方法は、TEXT関数で表示形式を変える方法、漢数字を組み立てる数式を使う方法、VBAで複数セルを一括処理する方法の3つです。
この記事では、整数を「一、十、百、千」の単位を含む漢数字に変換する方法を中心に、サンプルデータを使ってわかりやすく解説します。
元の数値を残しながら表示だけを漢数字にするのか、変換結果を文字列として別セルへ出力するのかを先に決めることが、失敗を防ぐポイントです。
エクセルで数字を漢数字へ一括変換する基本方法
| A列 元の数字 | B列 漢数字の結果 |
|---|---|
| 123 | 百二十三 |
| 4050 | 四千五十 |
| 10008 | 一万八 |
それではまず、数字を漢数字へ一括変換する基本方法について解説していきます。
最も手軽なのは、変換用の列を追加し、先頭行の数式を下方向へオートフィルする方法です。
表示形式で漢数字風に見せる方法
Excelの表示形式には、数値を漢数字風に表示するための書式があります。
対象セルを選択し、セルの書式設定の表示形式からユーザー定義を開き、書式コードに「[DBNum1]G/標準」と入力します。
この設定では、数値そのものは保持したまま、画面上の見た目だけを漢数字に変更できます。

計算に使う元データを数値のまま維持したい場合は、表示形式による変換が便利です。
ただし、コピーして別のアプリケーションへ貼り付けた場合は、貼り付け方法によって元の数字が渡ることがあります。
書類として印刷する用途には向いていますが、変換結果そのものを文字列として扱いたい場合には、次の数式やVBAを使いましょう。
【操作のポイント】表示形式は見た目だけを変える機能なので、SUM関数などの計算結果には影響しません。
変換用の列を作る方法
住所、数量、年度などの元データを残したいときは、隣の列に変換結果を表示する構成が安全です。
サンプルではA1を見出し、A2以降を元の数字とし、B1に「漢数字」、B2に変換用の式を入力します。
変換結果が文字列として出れば、文書用のデータとしてコピーしやすく、元の数値と見比べることもできます。

元データ列を直接置き換える前に、必ず別列で結果を確認してください。
先頭行に見出しがある表では、数式の開始位置を2行目にすると、オートフィルの範囲がわかりやすくなります。
確認が終わった後に値として貼り付ければ、数式を使わない確定済みの漢数字データにもできます。
【操作のポイント】元の数字列を残すと、変換ミスや桁の違和感をすぐに照合できます。
一括処理と値貼り付けの手順
B2に数式または変換結果を作成したら、セル右下の小さな四角を下へドラッグします。
隣接するA列にデータが連続している場合は、フィルハンドルをダブルクリックして最終行まで数式をコピーすることも可能です。
数式の結果を固定したい場合は、B列をコピーし、形式を選択して貼り付けから値を選びます。
値貼り付けを行うと、元の数式は消えて漢数字の文字列だけが残ります。
後から元の数字が変わる可能性がある表では、値貼り付けを急がず、数式を残しておくほうが管理しやすいでしょう。
【操作のポイント】一括変換の前に2行目から数行だけ試し、意図した漢数字になることを確認しましょう。
TEXT関数と表示形式による全角漢数字の扱い
| A列 数値 | 表示形式の例 | 画面の表示 |
|---|---|---|
| 1234 | [DBNum1]G/標準 | 千二百三十四 |
| 2026 | [DBNum2]G/標準 | 弐千弐拾六 |
続いては、TEXT関数と表示形式による全角漢数字の扱いを確認していきます。
TEXT関数の基本形は、TEXT(値,表示形式)です。数値を表示形式に従った文字列へ変換します。
DBNum1とDBNum2の違い
「[DBNum1]G/標準」は、一、二、三、十、百、千といった一般的な漢数字で表示する書式です。
一方で「[DBNum2]G/標準」は、壱、弐、参、拾などを使う大字の表現になります。
一般的な説明文や社内資料にはDBNum1、金額の改ざん防止を意識する帳票にはDBNum2が選ばれることがあります。

ただし、書式の対応状況や表示結果はExcelのバージョン、地域設定、対象の数値によって差が出ることがあります。
実際に利用する帳票と同じ環境で、印刷プレビューまで確認することが大切です。
【操作のポイント】DBNum1は通常の漢数字、DBNum2は壱や弐を使う大字として覚えると判断しやすくなります。
TEXT関数で文字列として出力する方法
表示形式ではなく、関数の結果として漢数字を出したいときはTEXT関数を使います。
たとえばB2に「=TEXT(A2,”[DBNum1]G/標準”)」と入力すると、A2の数値を参照した文字列の結果が表示されます。

TEXT関数の結果は文字列のため、後から合計や平均を計算する用途にはそのまま使えません。
数値計算用の列と、印刷・文書出力用の漢数字列は分けて管理すると、数値が文字列へ変わる問題を避けられます。
また、セルにエラーがある場合はTEXT関数もエラーになるため、入力規則やIFERROR関数を組み合わせる方法もあります。
【操作のポイント】TEXT関数は変換結果を文字列として扱うため、帳票用の補助列に使うと便利です。
ゼロと小数点の表示確認
漢数字への変換では、ゼロ、小数点、マイナス記号をどのように扱うかも確認が必要です。
たとえば0を「〇」としたいのか「零」としたいのか、1.5を「一点五」と表示したいのかは、書類の目的によって異なります。
Excelの標準的なDBNum書式だけでは、すべての表記ルールを細かく指定できない場合があります。
金額、日付、電話番号、郵便番号のように桁そのものに意味がある数字は、漢数字化すると読み違いにつながることもあります。
対象データの種類を確認し、単位付きの自然な漢数字が必要なセルだけを変換対象にするのが実務的です。
【操作のポイント】小数や負数を含むデータは、数件の実データで変換結果を必ずテストしてください。
VBAによる漢数字変換の一括処理
| A列 元データ | B列 VBA変換後 |
|---|---|
| 18 | 十八 |
| 250 | 二百五十 |
| 3406 | 三千四百六 |
続いては、VBAによる漢数字変換の一括処理を確認していきます。
大量のセルを文字列として漢数字に変換し、変換先の列へ確定値を出力したい場合はVBAが有効です。
VBAを使う場面と保存形式
数百行以上のデータを繰り返し変換する場合や、変換ルールを部署内で統一したい場合にはVBAが役立ちます。
VBAを含むブックは、通常のxlsx形式ではなく、Excelマクロ有効ブックであるxlsm形式で保存します。
マクロを実行する前には、必ず元ファイルのコピーを作成しておくと、想定外の上書きにも対応できます。
以下の例では、A列の2行目から最終行までを読み取り、B列へTEXT関数相当の漢数字を出力します。
【操作のポイント】VBAは元に戻せない処理を行うことがあるため、バックアップ用のブックを準備してから実行しましょう。
VBEへのコード入力手順
AltキーとF11キーを同時に押すと、Visual Basic Editorを開けます。
メニューの挿入から標準モジュールを選び、表示されたコード画面へマクロを入力または貼り付けます。
Excel画面に戻り、開発タブのマクロから対象のマクロ名を選択して実行します。
VBAの処理範囲をA列からB列のように明確に分けることで、元データの上書きを防げます。
【操作のポイント】開発タブが表示されない場合は、Excelのオプションでリボンのユーザー設定を開き、開発にチェックを入れます。
変換マクロの記述例
標準モジュールへ、次のコードを入力します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub ConvertNumbersToKanji() Dim lastRow As Long Dim r As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row For r = 2 To lastRow If IsNumeric(Cells(r, "A").Value) Then Cells(r, "B").Value = _ Application.WorksheetFunction.Text(Cells(r, "A").Value, "[DBNum1]G/標準") End If Next r End Sub |
このマクロは、A列の最終データ行を取得し、2行目から順番にセルの内容を確認します。
IsNumericで数値かどうかを判定しているため、見出しや文字列が混在する行をある程度避けられます。
WorksheetFunction.Textは、ワークシート上のTEXT関数をVBAから利用する書き方です。
「A」と「B」は列記号なので、実際の表に合わせて変更できます。
元データをC列に置く場合は、コード内のAをCへ、出力先のBを任意の列へ置き換えましょう。
【操作のポイント】1行目を見出しとしたサンプルのため、For文は2行目から開始しています。
漢数字変換で注意したい万と億の単位
| 元の数値 | 期待する表記例 |
|---|---|
| 10000 | 一万 |
| 123456 | 十二万三千四百五十六 |
| 100000000 | 一億 |
続いては、漢数字変換で注意したい万と億の単位を確認していきます。
日本語の大きな数は、3桁ごとではなく4桁ごとに万、億、兆と単位が変わります。
四桁ごとの単位構造
漢数字では、一、十、百、千のまとまりを4桁として考え、その上に万、億、兆が付きます。
123456は、12万3456と区切って考えると「十二万三千四百五十六」と読みやすくなります。
カンマ区切りの3桁と、漢数字の万単位の4桁は基準が異なるため、変換後の文字列を目視で確認しましょう。
特に桁数の多い売上や予算のデータでは、単位の抜けが大きな誤解につながるかもしれません。
【操作のポイント】大きな数値は、変換前に4桁ごとで区切って読み、万や億の位置を確認します。
一十と十の表記ゆれ
10を「十」と書くか「一十」と書くかは、帳票のルールや業務上の慣習によって異なります。
通常の日本語では「十」「十一」「二十」と書くことが多く、「一十」は一般的ではありません。
しかし、単純な桁ごとの置換や自作マクロでは、一十、百一十のような表記になることがあります。
提出先に表記ルールがある場合は、変換結果をそのまま使わず、指定例と比較することが重要です。
Excelの表示形式で得られる結果と、独自の数式・VBAで得られる結果が完全に同じとは限りません。
【操作のポイント】正式書類では、十、百、千の先頭に一を付けるかどうかを事前に確認しましょう。
日付と金額データの取り扱い
日付を漢数字にする場合は、数値のシリアル値を変換するのではなく、年、月、日をそれぞれ取り出して変換します。
たとえば日付セルを直接TEXT関数でDBNum化すると、Excel内部の日付番号が対象になる場合があるため注意が必要です。
金額については、「円」を付ける位置、小数点以下の扱い、壱や円の旧字体を使うかどうかも検討します。
数字を漢数字に変える処理と、日付・金額を帳票形式に整える処理は分けると、式が複雑になりにくいです。
【操作のポイント】日付や通貨は汎用変換の対象から外し、用途別の表示形式を設定するほうが安全です。
数式とVBAを使い分ける実務上の判断
| 目的 | 適した方法 |
|---|---|
| 印刷時だけ漢数字にしたい | ユーザー定義の表示形式 |
| 別セルへ文字列を表示したい | TEXT関数 |
| 大量データを確定値へ変換したい | VBAマクロ |
続いては、数式とVBAを使い分ける実務上の判断を確認していきます。
変換の頻度、データ量、数値を後から計算する必要があるかどうかで、最適な方法は変わります。
表示形式が向くケース
見積書の印刷、画面表示、社内チェック用など、数値を計算に使い続けながら見た目だけを変えたいケースでは表示形式が向いています。
元の値が数値のままなので、並べ替え、集計、グラフ作成を行っても大きな支障がありません。
数値の性質を保ちたいなら、まず表示形式を検討するという順番がわかりやすいでしょう。
ただし、CSV出力や他システム連携では表示形式が引き継がれないことがあるため、出力先の仕様も確認してください。
【操作のポイント】画面表示とデータ内容を分けて考えると、表示形式を選ぶべき場面が判断できます。
TEXT関数が向くケース
文書へ差し込むための文字列、メール本文へ転記するデータ、結合した文章の一部として使う漢数字にはTEXT関数が向いています。
たとえば「第」や「号」と結合すれば、番号を含む文言を作成できます。
例として、A2に123がある場合、=”第”&TEXT(A2,”[DBNum1]G/標準”)&”号”と入力すると、第百二十三号のような文字列を作れます。
ただし、結果は文字列になるため、漢数字化した列を集計の元データにしないよう注意が必要です。
【操作のポイント】文章用のセルにはTEXT関数、計算用のセルには元の数値を残す構成が基本です。
VBAが向くケース
毎月同じ形式の帳票を作る場合、複数シートをまとめて処理する場合、変換後に値として確定させる場合にはVBAが役立ちます。
マクロを使えば、対象列の判定、空白セルの除外、処理完了メッセージの表示なども自動化できます。
一方で、マクロ有効ブックの管理やセキュリティ設定への配慮が必要になります。
一度だけの少量変換なら数式、定型的な大量処理ならVBAという使い分けが目安です。
【操作のポイント】VBAを共有する場合は、処理対象の列、保存先、バックアップ方法を利用者へ明記しましょう。
まとめ エクセルで数字を漢数字に変換する一括方法
| 方法 | 特徴 |
|---|---|
| 表示形式 | 数値を保ったまま見た目を漢数字化 |
| TEXT関数 | 別セルへ漢数字の文字列を出力 |
| VBA | 大量データをまとめて処理 |
エクセルで数字を漢数字へ変換する際は、まず数値を計算用に残す必要があるかを考えましょう。
印刷時の見た目だけを変えるなら、[DBNum1]G/標準などのユーザー定義表示形式が手軽です。
漢数字を文字列として別セルへ出したいなら、TEXT関数を使う方法が適しています。
定型業務で多くの行を繰り返し変換するなら、A列の元データとB列の出力先を分けたVBAマクロが便利です。
変換後に値貼り付けをする前には、万、億、小数、ゼロ、日付などの表示結果を確認することが重要です。
用途に合う方法を選び、元データを保護しながら、読みやすい漢数字の帳票を作成していきましょう。