Excelで数字を単語に変換する - 包括的なガイド
財務報告書、法的文書、請求書、または小切手のために数字を書き言葉に変換する必要がよくあります。Excelにはこの機能があらかじめ備わっていませんが、Microsoft 365の組み込み関数からVBAユーザー定義関数、強力なサードパーティのアドインまで、信頼できる複数の方法でそれを実現できます。この包括的なガイドでは、各方法を紹介し、その利点と制限を強調し、特定のニーズに最適なアプローチを選択するのに役立てます。

Excelで数字を単語に変換する方法
このセクションでは、Excelで通貨の数字を単語に変換するための3つの効果的な方法をご紹介します。お使いのExcelのバージョンや用途に最も適したものを選んでください。
方法1:新しい組み込み関数を使用する(Microsoft 365のみ)
Microsoft 365版のExcelを使用している場合、新しいTRANSLATE関数を利用して、クリエイティブな数式の組み合わせで通貨の数字を簡単に単語に変換することができます。
下のスクリーンショットに示すように、範囲A2:A5にある通貨の数字を単語に変換するために、次の数式を適用して完了させることができます。
- 空白のセル(例:B2)を選択し、以下の数式を入力してください。 =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
- 「Enter」を押して、「フィルハンドル」をドラッグして他の行にも適用します。
数式の仕組み:
- BAHTTEXT: 数字をタイバーツ形式のテキスト(例:「หนึ่งบาทถ้วน」)に変換します。
- TRANSLATE(...,"th","en"): テキストを別の言語に翻訳します(Microsoft 365が必要)。この場合は、タイ語を英語に翻訳します。
- LOWER(): 一貫性のために文字列全体を小文字に変換します。
- SUBSTITUTE(): 「バーツ」や「サタン」などの通貨単語を希望の用語に置き換えます。
- PROPER(): 適切な書式設定のために各単語の最初の文字を大文字にします。
他の通貨への対応:
上記の数式は米ドルを出力します。主要通貨単位と補助通貨単位を以下のように置き換えることで、他の通貨にカスタマイズできます:
- 「ドル」を目標通貨の主要単位に置き換えます。たとえば、英国ポンドの場合は「ポンド」にします。
- 「セント」を補助単位に置き換えます。たとえば、英国ポンドの場合は「ペンス」にします。
次の表は、互換性のある通貨と、使用可能な対応する数式をリストしています:
通貨 | 主要単位の置換 | 補助単位の置換 | 例の数式(値がA2にあると仮定) |
---|---|---|---|
USD | ドル | セント | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","dollars"),"satang","cents")) |
GBP | ポンド | ペンス | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","pounds"),"satang","pence")) |
EUR | ユーロ | セント | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","euros"),"satang","cents")) |
MYR | リンギット | セン | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","ringgit"),"satang","sen")) |
この方法の制限事項:
- TRANSLATE() 関数が原因で、Microsoft 365版のExcelでのみ動作します。
- 出力はBAHTTEXT() のフォーマットの正確さに大きく依存します。
- この方法は、タイバーツのように主要単位と補助単位(例えば、ドルとセント)を持つ通貨に適しています。同様の通貨構造を持たない通貨には推奨されません。
方法2:VBAユーザー定義関数を使用する
このセクションでは、VBAベースのユーザー定義関数 (UDF) を使用して数値を英語の通貨単語に変換する方法を学びます。特に、デフォルトでは米ドル (USD) に対応しています。
ステップ1:VBAコードを挿入する
- この機能を使用したいワークシートを開きます。
- 「Alt」 + 「F11」を押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
- エディタで「挿入」>「モジュール」をクリックし、次のVBAコードを貼り付けます。
Function SpellNumberToEnglish(ByVal pNumber) 'Update by Extendoffice Dim Dollars, Cents arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ") pNumber = Trim(Str(pNumber)) xDecimal = InStr(pNumber, ".") If xDecimal > 0 Then Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2)) pNumber = Trim(Left(pNumber, xDecimal - 1)) End If xIndex = 1 Do While pNumber <> "" xHundred = "" xValue = Right(pNumber, 3) If Val(xValue) <> 0 Then xValue = Right("000" & xValue, 3) If Mid(xValue, 1, 1) <> "0" Then xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred " End If If Mid(xValue, 2, 1) <> "0" Then xHundred = xHundred & GetTens(Mid(xValue, 2)) Else xHundred = xHundred & GetDigit(Mid(xValue, 3)) End If End If If xHundred <> "" Then Dollars = xHundred & arr(xIndex) & Dollars End If If Len(pNumber) > 3 Then pNumber = Left(pNumber, Len(pNumber) - 3) Else pNumber = "" End If xIndex = xIndex + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "One Dollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " & Cents & " Cents" End Select SpellNumberToEnglish = Dollars & Cents End Function Function GetTens(pTens) Dim Result As String Result = "" If Val(Left(pTens, 1)) = 1 Then Select Case Val(pTens) Case 10: Result = "Ten" Case 11: Result = "Eleven" Case 12: Result = "Twelve" Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen" Case 16: Result = "Sixteen" Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case Else End Select Else Select Case Val(Left(pTens, 1)) Case 2: Result = "Twenty " Case 3: Result = "Thirty " Case 4: Result = "Forty " Case 5: Result = "Fifty " Case 6: Result = "Sixty " Case 7: Result = "Seventy " Case 8: Result = "Eighty " Case 9: Result = "Ninety " Case Else End Select Result = Result & GetDigit(Right(pTens, 1)) End If GetTens = Result End Function Function GetDigit(pDigit) Select Case Val(pDigit) Case 1: GetDigit = "One" Case 2: GetDigit = "Two" Case 3: GetDigit = "Three" Case 4: GetDigit = "Four" Case 5: GetDigit = "Five" Case 6: GetDigit = "Six" Case 7: GetDigit = "Seven" Case 8: GetDigit = "Eight" Case 9: GetDigit = "Nine" Case Else: GetDigit = "" End Select End Function
- 「Alt」 + 「Q」を押してワークシートに戻ります。
ステップ2:関数を適用する
- セルに以下の数式を入力し、「Enter」を押します。 =SpellNumberToEnglish(A2)
- そして、フィルハンドルをドラッグして他の行にも適用します。これで数字が次のように単語に変換されます:
他の通貨に対応させる:
この関数は「Dollar(s)」と「Cent(s)」に出力され、これらはUSD専用にハードコーディングされています。他の通貨、例えば「英国ポンド」に変換したい場合は、以下のコード行の主要単位と補助単位を手動で変更する必要があります。

マクロ有効ファイルとしてブックを保存する
デフォルトでは、VBA関数はブックがマクロ有効ブックとして保存されない限り保持されません:
- 「Ctrl」 + 「S」を押して保存します。
- ポップアップメッセージの「戻る」ボタンを選択してください。 注:ポップアップに「はい」「いいえ」「ヘルプ」のみ表示される場合、「いいえ」をクリックしてください。
- 「名前を付けて保存」ウィンドウで。
- 保存先を選択します。
- 「保存形式」のドロップダウンリストから「Excelマクロ有効ブック (*.xlsm)」を選択します。
- 「保存」をクリックします。
SpellNumberToEnglish VBA関数の制限事項
- この関数は結果を英語でのみ生成します。
- 他の言語(フランス語、ドイツ語など)には対応しておらず、また、通貨単位が数字の前に来るような通貨構造(インド英語の「ルピー百」など)も扱えません。
- マクロ有効ブック (.xlsm) として保存しない場合、Excelを閉じると関数が失われます。
- 通常の.xlsxファイルとして保存すると、すべてのVBAコードが削除されます。
- マクロ有効ファイルを他人に送ると、「セキュリティ警告 – マクロは無効にされました」というプロンプトが表示されます。
- 一部のユーザーは潜在的なセキュリティリスクを懸念し、ファイルを使用しないことを選ぶかもしれません。
- 通貨用語や書式の変更には、VBAコードを手動で編集する必要があります。
- マクロやスクリプトに不慣れなユーザーには理想的ではありません。
方法3:Kutools for Excel を使用する(数式やVBA不要)
Kutools for Excel をインストールすると、「Numbers to Words」機能を使用して、数字を英語(通貨または単純な単語)、数十種類の他の言語や通貨(EUR、GBP、JPYなど)に変換できます。
Excelで数字を単語に変換するためのノーコードでユーザーフレンドリーかつ多機能なソリューションを探している場合、Kutools for Excel には以下のサポートが含まれている「Numbers to Words」機能があります:
- 英語(USD、GBP、EURなど)
- 他の数十の言語や通貨(日本円、インド・ルピー、中国元など)
- 通貨形式または単純な単語(「123ドル」ではなく「123」)
使用手順:
- 変換したい数字が入っているセルを選択します。
- 「Kutools」>「コンテンツ」>「Numbers to Words」を選択します。
- 「Numbers to Currency Word」ダイアログボックスで、以下を行う必要があります:
- 希望する言語と通貨スタイルを選択します(例:USDの場合は英語 - 米国)
- 「OK」をクリックします。
オプション:単純な英語の単語(「ドル」や「セント」なし)にする場合は「Not converted to currency」にチェックを入れます。
選択された数字は、設定に応じて適切な通貨単語に変換されます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
逆操作:通貨単語を数字に変換する
次のような英語単語で書かれた通貨金額がある場合:
そして、それらをExcelで実際の数字(例:123.45)に変換したい場合、次のようにカスタムVBAユーザー定義関数 (UDF) を使用できます。

ステップ1:VBAエディタを開いてVBAコードを挿入する
- Excelブックを開きます。
- 「Alt」 + 「F11」を押して「Microsoft Visual Basic for Applications (VBA)」エディタを開きます。
- VBAエディタで「挿入」>「モジュール」をクリックします。
- 次のVBAコードをコピーして空白のモジュールウィンドウに貼り付けます:
Function WordsToNumber(ByVal Txt As String) As Double 'Updated by Extendoffice Dim x As Object: Set x = CreateObject("Scripting.Dictionary") Dim units, tens, specials Dim part As String, parts() As String Dim total As Double, partial As Double, multiplier As Double Dim i As Long, word As String Txt = LCase(Trim(Txt)) Txt = Replace(Txt, ",", "") Txt = Replace(Txt, "-", " ") Txt = Replace(Txt, " and ", " ") Txt = Replace(Txt, " ", " ") ' Setup basic number words x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3 x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7 x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11 x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14 x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17 x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20 x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50 x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80 x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000 x.Add "million", 1000000: x.Add "billion", 1000000000 Dim dollarPart As String, centPart As String Dim dollarValue As Double, centValue As Double ' Split into dollars and cents If InStr(Txt, "dollar") > 0 Then dollarPart = Trim(Split(Txt, "dollar")(0)) End If If InStr(Txt, "cent") > 0 Then centPart = Trim(Split(Txt, "cent")(0)) If InStr(centPart, "dollar") > 0 Then centPart = Trim(Split(centPart, "dollar")(1)) End If End If dollarValue = ParseWordsToNumber(dollarPart, x) centValue = ParseWordsToNumber(centPart, x) WordsToNumber = dollarValue + centValue / 100 End Function Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double Dim parts() As String: parts = Split(Txt, " ") Dim total As Double, current As Double Dim i As Long, val As Double For i = 0 To UBound(parts) If x.exists(parts(i)) Then val = x(parts(i)) Select Case val Case 100 If current = 0 Then current = 1 current = current * val Case Is >= 1000 If current = 0 Then current = 1 total = total + current * val current = 0 Case Else current = current + val End Select End If Next i total = total + current ParseWordsToNumber = total End Function
ステップ2:シートで関数を適用する
- 「Alt」 + 「Q」を押してExcelに戻ります。
- 任意の空のセルに次の数式を入力し、「Enter」を押します。「フィルハンドル」をドラッグして残りの結果を得ます。 =WordsToNumber(A2)
結論
数字を単語に変換したり、単語を数字に戻したりすることは、Excelにはネイティブには備わっていない機能ですが、このガイドでは、ニーズに応じて複数の実用的な解決策があることがわかりました:
- Microsoft 365のユーザーは、現代的な組み込み関数であるTRANSLATEを利用することで、特に「主単位+副単位」構造の通貨に対して、数式を使って通貨数字を英語の単語に変換できます。
- VBAユーザー定義関数は、数字を単語に変換したり、通貨単語を数字に戻したりする際に柔軟性が高いですが、マクロに関連するセキュリティ上の懸念があり、コーディングに精通したユーザーに最適です。
- Kutools for Excel は、最も簡単で多言語対応し、機能豊富なオプションを提供します。数式やコーディングは必要なく、数十の通貨と言語をカバーしています。
- 単語を数字に戻す必要がある場合、VBAソリューションがこのギャップを効果的に埋めますが、正確な結果を得るためには(例:コンマを削除するなど)クリーンアップが必要になる場合があります。
財務文書の準備、小切手印刷の自動化、またはデータプレゼンテーションの向上など、正しい方法を選ぶことで、プロフェッショナルで正確な出力を実現できます。
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得