メインコンテンツへスキップ
 

Excelで数字を綴ったり英語の単語に変換したりする方法は?

著者:シャオヤン 最終更新日:2020年09月11日

価格金額の数値がたくさんあり、それらをテキスト文字列に変換またはスペルアウトする必要があるとします。 たとえば、変換 $123.55 英語の単語に 百二十三ドル五十五セント。 Excelには、この問題を解決するための効果的な機能はありませんが、長くて複雑なVBAコードを使用します。 この記事では、それに対処するためのいくつかの方法を紹介します。

VBAコードを使用して、数字をスペルアウトまたは英語の単語に変換します

Kutools for Excelを使用して、数字をスペルアウトするか、英語の単語に変換します


VBAコードを使用して、数字をスペルアウトまたは英語の単語に変換します

次の長いVBAコードは、テキスト文字列に数字を綴るのに役立ちます。 次のようにします。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のマクロをに貼り付けます モジュールウィンドウ。

VBA:Excelで通貨番号を英語の単語にスペルアウトする

Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
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

3。 次に、コードを保存してワークシートに戻り、隣接するセルB2に数式を入力します = SpellNumberToEnglish(A1)、スクリーンショットを参照してください:

4。 次に、 入力します キーを押してセルB2を選択し、必要に応じて塗りつぶしハンドルをこの数式を含む範囲にドラッグします。 そして、すべての通貨番号は英語の単語にスペルト小麦で書かれています。 スクリーンショットを参照してください:

Note:数式ですので、コピーして貼り付ける必要がある場合は、値として貼り付けてください。


Kutools for Excelを使用して、数字をスペルアウトするか、英語の単語に変換します

上記の長いコードはあなたを怒らせるかもしれません、心配しないでください、ここで私はあなたにそれを解決するための簡単で迅速な方法を与えることができます。 とともに Kutools for Excelさん 数字から言葉へ 関数を使用すると、数値をテキスト文字列にすばやく簡単に変換できます。

Kutools for Excel-Excel用の300以上の便利なツールが含まれています。 30日間のフル機能の無料トライアル、クレジットカードは必要ありません! 今すぐ入手

1。 綴りたい範囲番号を選択し、をクリックします クツール > コンテンツ > 数字から言葉へ.
dockutools番号から単語1

2。 ポップアウトダイアログボックスで、 英語 ESL, ビジネスESL <br> 中国語/フランス語、その他。 そして、あなたは右から結果をプレビューすることができます プレビュー ペイン。 スクリーンショットを参照してください:
dockutools番号から単語2

3。 次に、をクリックします Ok or 申し込む。 また、すべての価格金額の数値は、元の範囲のテキスト文字列に変換されています。
dockutools番号から単語3

Note:数字を(通貨ではなく)英語の単語に変換したいだけの場合は、チェックしてください 通貨に変換されません チェックボックスをオンにします。
dockutools番号から単語3 dockutools番号から単語3

のこの素晴らしい機能 数字から言葉へ 32.01を「XNUMXドルXNUMXセント」または「叁資格贰元零壹分」に翻訳するなど、通貨番号を英語または中国語の通貨のテキストに簡単に翻訳できます。 無料トライアルを!

デモ: 通貨番号を英語の単語に綴る

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!