Excel で数値を単語に変換する方法 (4 つの適切な方法)
スプレッドシートは日常業務で多くの人が使用しており、オフィスの重要な要素となっています。大部分の人はスプレッドシートをかなり基本的な方法で使用していますが、一部の上級ユーザーは、数字を単語に変換するのが難しい、または複雑であると感じています。 エクセルで。このガイドでは、この問題に対処し、 4 を提供しました。 数字を単語に変換するさまざまな方法 エクセルで。さらに、3 あります 数値をテキスト形式に変換する方法が増えました。
ワークブックをダウンロード
この記事で使用したワークブックを以下からダウンロードして、自分で練習できます。
Excel で数値を単語に変換する 4 つの方法
記事のこのセクションでは、Excel で数値を単語に変換する方法について説明します。さらに、4 のデモンストレーションを行います。 操作を実行するためのテクニック。セッションの実施には、Microsoft 365 バージョンを使用します .
1.数値を単語に変換するための Excel の組み合わせ関数の使用
ここで使用した Excel の式は、4 に依存しています。 機能。 左 、 中 、 テキスト 、 そして選択 関数。
まず、 LEFT の構文 関数は次のとおりです:
基本的に、この関数はテキストから文字を抽出するために使用されます。
=LEFT (テキスト, [num_chars])テキスト: 文字を抽出するテキスト文字列。
num_chars [オプション]: 抽出する文字数。左からスタートです。デフォルトでは、num_chars=1 です。 .
次に、MID の構文 関数は次のとおりです:
実際、この関数は文字列内からテキストを抽出するために使用されます。
=MID (テキスト, start_num, num_chars)テキスト: 抽出するテキスト。
開始番号: 抽出する最初の文字の位置。
num_chars: 抽出する文字数。
第三に、TEXT の構文 関数は次のとおりです:
最終的に、この関数は数値を数値形式のテキストに変換します。
=TEXT (値, format_text)値: 変換する数値。
format_text: 使用する数値形式。
次に、CHOOSE の構文 関数は次のとおりです:
この関数は、位置に基づいてリストから値を取得します。
=CHOOSE (index_num, value1, [value2], …)index_num: 選択する値。 1 の間の数値 そして254 .
値1: 選択する最初の値。
value2 [オプション]: 選択する 2 番目の値。
- ここでは、語数の数値を変換します。
- さて、次の式を C5 に書き留めます
=CHOOSE(LEFT(TEXT(B5,”000000000.00”))+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”エイト」、「ナイン」)
&IF(–LEFT(TEXT(B5,”000000000.00″))=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),2,1)=0,–MID(TEXT(B5) ,”000000000.00″),3,1)=0),”百”,”百と”))
&CHOOSE(MID(TEXT(B5,”000000000.00”),2,1)+1,,,"20","30","40","50","60","70"," 80"、"90")
&IF(–MID(TEXT(B5,”000000000.00”),2,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00”),3,1)+1,,”1”, 「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」)、
CHOOSE(MID(TEXT(B5,”000000000.00″),3,1)+1,”10”,”11”,”12”,”13”,”14”,”5”,”16” 、「セブンティーン」、「エイティーン」、「ナインティーン」))
&IF((–LEFT(TEXT(B5,”000000000.00”))+MID(TEXT(B5,”000000000.00”),2,1)+MID(TEXT(B5,”000000000.00”),3,1) )=0,,IF(AND((–MID(TEXT(B5,”000000000.00”),4,1)+MID(TEXT(B5,”000000000.00”),5,1)+MID(TEXT(B5,”) 000000000.00″),6,1)+MID(TEXT(B5,”000000000.00″),7,1))=0,(–MID(TEXT(B5,”000000000.00″),8,1)+RIGHT(TEXT( B5,”000000000.00”)))>0),”ミリオンと”,”ミリオン”))
&CHOOSE(MID(TEXT(B5,”000000000.00”),4,1)+1,,”1”,”2”,”3”,”4”,”5”,”6”,”7 」、「エイト」、「ナイン」)
&IF(–MID(TEXT(B5,”000000000.00″),4,1)=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),5,1)=0,–MID (TEXT(B5,”000000000.00”),6,1)=0),”百”,”百と”))
&CHOOSE(MID(TEXT(B5,”000000000.00”),5,1)+1,,," 20"," 30"," 40"," 50"," 60"," 70"," 80"、"90")
&IF(–MID(TEXT(B5,”000000000.00”),5,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00”),6,1)+1,,”ワン”, ” 2”,” 3”,” 4”,” 5”,” 6”,” 7”,” 8”,” 9”),CHOOSE(MID(TEXT(B5,”000000000.00”),6,1) +1、" Ten"、" Eleven"、" Twelve"、" Thirteen"、" Fourteen"、" Fifteen"、" Sixteen"、" Seventeen"、" Eighteen"、" Nineteen"))
&IF((–MID(TEXT(B5,”000000000.00”),4,1)+MID(TEXT(B5,”000000000.00”),5,1)+MID(TEXT(B5,”000000000.00”), 6,1))=0,,IF(OR((–MID(TEXT(B5,”000000000.00”),7,1)+MID(TEXT(B5,”000000000.00”),8,1)+MID(テキスト(B5,”000000000.00”),9,1))=0,–MID(TEXT(B5,”000000000.00”),7,1)<>0),”千”,”千と”))
&CHOOSE(MID(TEXT(B5,”000000000.00”),7,1)+1,,”1”,”2”,”3”,”4”,”5”,”6”,”7 」、「エイト」、「ナイン」)
&IF(–MID(TEXT(B5,”000000000.00″),7,1)=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),8,1)=0,–MID (TEXT(B5,”000000000.00”),9,1)=0),”百”,”百と”))&
CHOOSE(MID(TEXT(B5,”000000000.00”),8,1)+1,,,"20","30","40","50","60","70"," 80"、"90")
&IF(–MID(TEXT(B5,”000000000.00”),8,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00”),9,1)+1,,”1”, ”2”,”3”,”4”,”5”,”6”,”7”,”8”,”9”),CHOOSE(MID(TEXT(B5,”000000000.00”),9,1) +1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"))
全体の処方は一見複雑に見えるかもしれませんが、本質的には一つの部分の繰り返しです。ですから、まずを理解できれば 式の一部を理解すれば、残りは理解できるはずです。
- 続いて ENTER を押します .
その結果、次の出力が表示されます。
式の内訳:
最初は TEXT ここで関数を使用して、数値を 「000000000.00」 に変換します テキスト形式。
TEXT(B7,”000000000.00”)
その後、左 関数を使用して、数値から一番左の文字を抽出します。戻り値がゼロかどうかを識別できます またはその他の値。
LEFT(TEXT(B7,”000000000.00”))
次に、選択 関数を使用して、抽出された数値を適切な単語で表します。
CHOOSE(LEFT(TEXT(B7,”000000000.00”))+1,,”ワン”,”ツー”,”スリー”,”フォー”,”ファイブ”,”シックス”,”セブン”,”エイト」、「9」)
ここで、値が ゼロ かどうかをチェックします か否か。 ゼロの場合
CHOOSE(LEFT(TEXT(B7,”000000000.00”))+1,,”ワン”,”ツー”,”スリー”,”フォー”,”ファイブ”,”シックス”,”セブン”,”エイト」、「9」)
&IF(–LEFT(TEXT(B7,”000000000.00”))=0,,
「百」と表示されます 次の 2 の場合 数字はゼロです .それ以外の場合は、「百と」 と表示されます。
CHOOSE(LEFT(TEXT(B7,”000000000.00”))+1,,”ワン”,”ツー”,”スリー”,”フォー”,”ファイブ”,”シックス”,”セブン”,”エイト」、「9」)
&IF(–LEFT(TEXT(B7,”000000000.00″))=0,,IF(AND(–MID(TEXT(B7,”000000000.00″),2,1)=0,–MID(TEXT(B7) ,”000000000.00″),3,1)=0),”百”,”百と”))
この式には VBA は必要ありません または配列。数字を言葉に変える優れた方法です。ただし、2 あります 欠陥。 1 つ目は、ポイントの後の 10 進数を完全に表現できないことです。 2、最大数の制限は 999、999、999 です .実は、Mr.ピート M. この式を思いつきました。
- ここで、残りの行の数式を記述したり、単に Excel オートフィル機能 を使用したりできます .
最後に、すべての数値を単語に変換します。 .
2. VLOOKUP 関数を適用して数値を単語に変換する
VLOOKUP を適用できます 数字を単語に変換する 関数 エクセルで。何か違うことをしましょう。ここでは、最初にすべての数字を単語に挿入する必要があります。その後、この関数を使用して数字を単語に変換できます。
手順:
- まず、C 列にすべての数字を手書きで書き留めます。 .
- では、C12 で次の式を使用します
=VLOOKUP(B12,B4:C9,2,FALSE)
- 次に、ENTER を押します .
式の内訳
この数式では、VLOOKUP 関数は、指定された配列から値を返します。
- まず、B12 指定されたテーブルで検索するルックアップ値です。
- 次に、B4:C9 テーブル配列です 目標値を探します .
- 3 番目に、2 値が返されるテーブル内の列の数です。
- 4 番目に、誤り 正確を示します
3. VBA を使用して数値を Excel の単語に変換する
最も興味深いのは、独自の関数を作成できることです。 数字を単語に変換する エクセルで。さらに、VBA コードを使用できます 定義されたを開発する 関数。以下に手順を示します。
手順 :
- まず、開発者を選択する必要があります タブ>> 次に、Visual Basic を選択します。
- さて、挿入から タブ>> モジュールを選択する必要があります .
- この時点で、次のコードを書き留める必要があります モジュールで .
Function number_converting_into_words(ByVal MyNumber)
Dim x_string As String
Dim whole_num As Integer
Dim x_string_pnt
Dim x_string_Num
Dim x_pnt As String
Dim x_numb As String
Dim x_P() As Variant
Dim x_DP
Dim x_cnt As Integer
Dim x_output, x_T As String
Dim x_my_len As Integer
On Error Resume Next
x_P = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
x_numb = Trim(Str(MyNumber))
x_DP = InStr(x_numb, ".")
x_pnt = ""
x_string_Num = ""
If x_DP > 0 Then
x_pnt = " point "
x_string = Mid(x_numb, x_DP + 1)
x_string_pnt = Left(x_string, Len(x_numb) - x_DP)
For whole_num = 1 To Len(x_string_pnt)
x_string = Mid(x_string_pnt, whole_num, 1)
x_pnt = x_pnt & get_digit(x_string) & " "
Next whole_num
x_numb = Trim(Left(x_numb, x_DP - 1))
End If
x_cnt = 0
x_output = ""
x_T = ""
x_my_len = 0
x_my_len = Int(Len(Str(x_numb)) / 3)
If (Len(Str(x_numb)) Mod 3) = 0 Then x_my_len = x_my_len - 1
Do While x_numb <> ""
If x_my_len = x_cnt Then
x_T = get_hundred_digit(Right(x_numb, 3), False)
Else
If x_cnt = 0 Then
x_T = get_hundred_digit(Right(x_numb, 3), True)
Else
x_T = get_hundred_digit(Right(x_numb, 3), False)
End If
End If
If x_T <> "" Then
x_output = x_T & x_P(x_cnt) & x_output
End If
If Len(x_numb) > 3 Then
x_numb = Left(x_numb, Len(x_numb) - 3)
Else
x_numb = ""
End If
x_cnt = x_cnt + 1
Loop
x_output = x_output & x_pnt
number_converting_into_words = x_output
End Function
Function get_hundred_digit(xHDgt, y_b As Boolean)
Dim x_R_str As String
Dim x_string_Num As String
Dim x_string As String
Dim y_I As Integer
Dim y_bb As Boolean
x_string_Num = xHDgt
x_R_str = ""
On Error Resume Next
y_bb = True
If Val(x_string_Num) = 0 Then Exit Function
x_string_Num = Right("000" & x_string_Num, 3)
x_string = Mid(x_string_Num, 1, 1)
If x_string <> "0" Then
x_R_str = get_digit(Mid(x_string_Num, 1, 1)) & "Hundred "
Else
If y_b Then
x_R_str = "and "
y_bb = False
Else
x_R_str = " "
y_bb = False
End If
End If
If Mid(x_string_Num, 2, 2) <> "00" Then
x_R_str = x_R_str & get_ten_digit(Mid(x_string_Num, 2, 2), y_bb)
End If
get_hundred_digit = x_R_str
End Function
Function get_ten_digit(x_TDgt, y_b As Boolean)
Dim x_string As String
Dim y_I As Integer
Dim x_array_1() As Variant
Dim x_array_2() As Variant
Dim x_T As Boolean
x_array_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
x_array_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
x_string = ""
x_T = True
On Error Resume Next
If Val(Left(x_TDgt, 1)) = 1 Then
y_I = Val(Right(x_TDgt, 1))
If y_b Then x_string = "and "
x_string = x_string & x_array_1(y_I)
Else
y_I = Val(Left(x_TDgt, 1))
If Val(Left(x_TDgt, 1)) > 1 Then
If y_b Then x_string = "and "
x_string = x_string & x_array_2(Val(Left(x_TDgt, 1)))
x_T = False
End If
If x_string = "" Then
If y_b Then
x_string = "and "
End If
End If
If Right(x_TDgt, 1) <> "0" Then
x_string = x_string & get_digit(Right(x_TDgt, 1))
End If
End If
get_ten_digit = x_string
End Function
Function get_digit(xDgt)
Dim x_string As String
Dim x_array_1() As Variant
x_array_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
x_string = ""
On Error Resume Next
x_string = x_array_1(Val(xDgt))
get_digit = x_string
End Function
- コードを保存する必要があります .
- 次に、Excel ワークシートに移動する必要があります .
この時点で、 定義済み を使用できます 関数。このためには、指定された手順に従う必要があります。
手順:
- 次に、変換された出力を表示するセルを選択します。 (この場合、セル C5 ).
- 次に、等号 (=) を入力します セルで。数式を入力できるようにする必要があります。
- その後、「=number_converting_into_words」と入力します 」または number_converting_into_words を選択します ドロップダウン メニューから機能を選択します。
- 次に、単語に変換する数値を含むセルを選択します (この場合、セル B5 ).
- 最後に ENTER を押します ボタン。
その結果、選択したセル番号が対応する単語に変換されます。最後に、この数式を残りのセルにもコピーできます。
4. Excel で通貨を表現するための VBA の採用
この方法は、最後の方法と似ています。 VBA (Visual Basic for Application) を使用してモジュールを挿入することでも機能します そしてそれを関数として使用します。最後の方法と異なる点は、数字を適切な通貨用語に変換することです。 さらに、以下に例を示します。
375.65=375 ドルと 65 セント次に、次の手順に従ってこの方法を適用します:
- まず、方法 3 に従います モジュールを挿入します。
- 次に、モジュール 2 に次のコードを書き留めます。 .
Function Convert_Number_into_word_with_currency(ByVal whole_number)
Dim converted_into_dollar, converted_into_cent
my_ary = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
whole_number = Trim(Str(whole_number))
x_decimal = InStr(whole_number, ".")
If x_decimal > 0 Then
converted_into_cent = get_ten(Left(Mid(whole_number, x_decimal + 1) & "00", 2))
whole_number = Trim(Left(whole_number, x_decimal - 1))
End If
xIndex = 1
Do While whole_number <> ""
xHundred = ""
xValue = Right(whole_number, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = get_digit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & get_ten(Mid(xValue, 2))
Else
xHundred = xHundred & get_digit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
converted_into_dollar = xHundred & my_ary(xIndex) & Dollar
End If
If Len(whole_number) > 3 Then
whole_number = Left(whole_number, Len(whole_number) - 3)
Else
whole_number = ""
End If
xIndex = xIndex + 1
Loop
Select Case converted_into_dollar
Case ""
converted_into_dollar = " Zero Dollar"
Case "One"
converted_into_dollar = " One Dollar"
Case Else
converted_into_dollar = converted_into_dollar & "Dollars"
End Select
Select Case converted_into_cent
Case ""
converted_into_cent = " and Zero Cent"
Case "One"
converted_into_cent = " and One Cent"
Case Else
converted_into_cent = " and " & converted_into_cent & "Cents"
End Select
Convert_Number_into_word_with_currency = converted_into_dollar & converted_into_cent
End Function
Function get_ten(pTens)
Dim my_output As String
my_output = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: my_output = "Ten"
Case 11: my_output = "Eleven"
Case 12: my_output = "Twelve"
Case 13: my_output = "Thirteen"
Case 14: my_output = "Fourteen"
Case 15: my_output = "Fifteen"
Case 16: my_output = "Sixteen"
Case 17: my_output = "Seventeen"
Case 18: my_output = "Eighteen"
Case 19: my_output = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: my_output = "Twenty "
Case 3: my_output = "Thirty "
Case 4: my_output = "Forty "
Case 5: my_output = "Fifty "
Case 6: my_output = "Sixty "
Case 7: my_output = "Seventy "
Case 8: my_output = "Eighty "
Case 9: my_output = "Ninety "
Case Else
End Select
my_output = my_output & get_digit(Right(pTens, 1))
End If
get_ten = my_output
End Function
Function get_digit(pDigit)
Select Case Val(pDigit)
Case 1: get_digit = "One"
Case 2: get_digit = "Two"
Case 3: get_digit = "Three"
Case 4: get_digit = "Four"
Case 5: get_digit = "Five"
Case 6: get_digit = "Six"
Case 7: get_digit = "Seven"
Case 8: get_digit = "Eight"
Case 9: get_digit = "Nine"
Case Else: get_digit = ""
End Select
End Function
その結果、 定義済み を使用できます Convert_Number_into_word_with_currency という名前の関数 .このためには、指定された手順に従う必要があります。
手順:
- ここで、結果を保持するセルを選択する必要があります。 C5 を選択しました
- 次に、C5 で対応する数式を使用する必要があります
=Convert_Number_into_word_with_currency(B5)
- 続いて ENTER を押します .
- 最後に、Excel の オートフィル機能 を使用します 残りのセル C6:C9 .
最後に、変換されたすべての金額を取得します。
Excel で数値をテキスト形式に変換する方法
これまで、数字を単語に変換する方法について説明してきました エクセルで。記事のこのセクションでは、数字をテキストに変更する方法について説明します エクセルでフォーマット。数値をテキストに変換する最も簡単で最速の方法です。
ここでは、次の手順に従ってこのメソッドを適用します:
- まず、テキストに変換する数値を含むセルを選択します (この場合、セル C5:C9) )
- 次に、 ホーム に移動します タブをクリックして テキスト を選択します 数値の下のセル カテゴリ ドロップダウン メニューのオプション
その結果、選択したセルの数値がテキストに変換されます。配列を観察することで理解できます。デフォルトでは、テキストは左揃え、数値は Excel で右揃えになります。
または、CTRL+1 を押すこともできます セルの書式設定という名前のウィンドウを開く 番号を選択します オプションを選択し、テキスト を選択します
練習セクション
練習を行うために、各シートの右側に練習部分を追加しました。
結論
ここでは、この記事を MS Excel で数値を適切な単語またはテキストに変換する方法についての究極のガイドにしようとしました。 .さらに、7 を絞り込みました 特定の状況に最も適した理想的なオプションを選択できるように、この記事ではさまざまな手法を説明します。ですから、あなたが探していた解決策が見つかることを願っています。提案や質問がある場合は、コメントを残してください。ありがとうございます。
関連記事
- 日付をテキスト YYYYMMDD に変換する方法 (3 つの簡単な方法)
- Excel で日付をテキストの月に変換する (8 つの簡単な方法)
-
Excel で ANOVA テーブルを作成する方法 (3 つの適切な方法)
この記事では、Excel で ANOVA テーブルを作成する方法について説明します . ANOVA テーブルは、データセットの帰無仮説を受け入れるか拒否するかを決定するのに役立ちます。 Excel のデータ分析ツールを使用して、Anova テーブルを簡単に作成できます。記事に従って、データセットで分析ツールを使用してください。 下のダウンロードボタンから練習用ワークブックをダウンロードできます。 Excel での ANOVA の概要 ANOVAはAnalysis of Varianceの略です。 Excelで帰無仮説を検証するために必要な値を取得する方法です . Excel では、この方法
-
Excel で XML を列に変換する方法 (4 つの適切な方法)
このチュートリアルでは、 4 を紹介します。 XML を変換する適切な方法 Excelの列に。大規模なデータセットでもこれらの方法を使用して、 XML からデータ セルを見つけることができます。 データ値。このチュートリアルでは、Excel 関連のタスクで非常に役立ついくつかの重要な Excel ツールとテクニックについても学習します。 ここから練習用ワークブックをダウンロードできます。 Excel で XML を列に変換する 4 つの適切な方法 比較的簡潔な XML 手順を明確に説明するためのデータセット。データセットには約 7 あります 行と 2 列。最初は、すべてのセルを