如何在Excel中把数字转换成文字(4种合适的方法)

  • Share This
Hugh West

许多人在日常工作中使用电子表格,使其成为办公室的一个重要元素。 虽然大多数人以合理的基本方式使用电子表格,但一些高级用户发现它很难或复杂地 将数字转换为文字 在本指南中,我们已经解决了这个问题,并提供了 不同的方法来 将数字转换为文字 此外,在Excel中还有 更多的方法用于 将数字转换为文本格式 .

下载工作手册

你可以从下面下载我们在本文中使用的工作手册,并自己用它来练习。

将数字转换为文字.xlsm

在Excel中把数字转换为文字的4种方法

本节介绍了如何在Excel中把数字转换为文字。 此外,我们将演示 为了进行会话,我们将使用 微软365版本 .

1.使用Excel中的组合函数将数字转换为文字

我们在这里使用的Excel公式依靠的是 职能。 左边 , 医学部 , 文本 , 选择 职能。

首先,语法上的 左边 功能如下。

基本上,这个函数是用来从文本中提取字符。

=LEFT (text, [num_chars])

文本。 要提取字符的文本字符串。

num_chars [可选]。 要提取的字符数,从左边开始。 默认情况下。 num_chars=1 .

其次,在语法上 医学部 功能如下。

实际上,这个函数是用来从一个字符串里面提取文本的。

=MID (text, start_num, num_chars)

文本。 要提取的文本。

start_num: 要提取的第一个字符的位置。

num_chars: 要提取的字符数。

其三,在语法上 文本 功能如下。

最终,这个函数将一个数字转换为数字格式的文本。

=TEXT (value, format_text)

价值。 要转换的数字。

format_text。 要使用的数字格式。

下一步是 选择 功能如下。

这个函数根据位置从一个列表中获取一个值。

=CHOOSE (index_num, value1, [value2], ...)

index_num。 要选择的值。 一个介于 1 254 .

value1。 可以从中选择的第一个值。

value2 [可选]。 可供选择的第二个值。

  • 在这里,我们将把数字在 字里行间的数字 列。

  • 现在,写下以下公式,在 C5 细胞。

=CHOOSE(LEFT(TEXT(B5, "00000000.00″))+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

&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),” Hundred”,” Hundred and “))

&选择(MID(TEXT(B5, "0000000.00″),2,1)+1,, "20", "30", "40", "50", "60", "70", "80", "90")

&IF(-MID(TEXT(B5, "00000000.00″),2,1)1,CHOOSE(MID(TEXT(B5, "00000000.00″),3,1)+1,, "一", "二", "三", "四", "五", "六", "七", "八""九")。

CHOOSE(MID(TEXT(B5, "0000000.00″),3,1)+1, "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九")

&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),” Million and “,” Million “))

&CHOOSE(MID(TEXT(B5, "0000000.00″),4,1)+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

&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),” Hundred”,” Hundred and”))

&CHOOSE(MID(TEXT(B5, "0000000.00″),5,1)+1,,," 20"," 30"," 40"," 50"," 60"," 70"," 80"," 90" )

&IF(-MID(TEXT(B5, "00000000.00″),5,1)1,CHOOSE(MID(TEXT(B5, "00000000.00″),6,1)+1,," One"," Two"," Three"," Four", " Five", " Six", " Seven", " Eight", " Nine") , CHOOSE(MID(TEXT(B5, "0000000.00″),6,1)+1, " Ten" ," 11" , " Twelve" , " Thirteen" , " 14" , " 15" , " 16" , " 17" , " 18" , " N19" )

&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(TEXT(B5,”000000000.00″),9,1))=0,–MID(TEXT(B5,”000000000.00″),7,1)0),” Thousand “,” Thousand and “))

&CHOOSE(MID(TEXT(B5, "0000000.00″),7,1)+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

&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),” Hundred “,” Hundred and “))&

选择(MID(TEXT(B5, "00000000.00″),8,1)+1,, "20", "30", "40", "50", "60", "70", "80", "90")

&IF(-MID(TEXT(B5, "00000000.00″),8,1)1,CHOOSE(MID(TEXT(B5, "00000000.00″),9,1)+1,, "一"、"二"、"三"、"四"、"五"、"六"、"七"、"八"、"九") ,CHOOSE(MID(TEXT(B5, "00000000.00″),9,1)+1, "十"、"十一个"、"十二"、"十三"、"十四"、"十五"、"十六"、"十七"、"十八"、"十九")

整个公式乍看起来很复杂,然而它本质上是一个单一部分的重复。 因此,如果你能理解 首先 掌握了公式的一部分,你就应该能够理解其余部分。

  • 随后,按 进入 .

结果是,你将看到以下输出。

公式分解。

起初, 文本 函数在这里被用来将数字转化为 "000000000.00" 文本格式。

TEXT(B7,”000000000.00″)

在这之后, 左边 函数用于从数字中提取最左边的字符。 它允许我们识别返回的数字是否是 或任何其他价值。

LEFT(TEXT(B7,”000000000.00″))

接下来是 选择 函数用于用适当的词来表示提取的数字。

选择(LEFT(TEXT(B7, "0000000.00″))+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

现在,它检查值是否是 或没有。 如果是 那么它就不会显示任何东西。

选择(LEFT(TEXT(B7, "0000000.00″))+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

&IF(–LEFT(TEXT(B7,”000000000.00″))=0,,

它将显示 "百" 如果下一个 数字是 否则,它将显示 "百和"。

选择(LEFT(TEXT(B7, "0000000.00″))+1,, "一", "二", "三", "四", "五", "六", "七", "八", "九")

&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),” Hundred”,” Hundred and “))

这个公式不需要 VBA 这是一种将数字变成文字的优秀方法。 然而,它有 缺点:第一,它不能完美地表示点后的小数。 第二,最大的数字限制是 999, 999, 999 ......事实上。 彼得-M.先生 想出了这个公式。

  • 现在,你可以为其余的行编写公式,或者简单地使用 Excel自动填表功能 .

最后,你将得到所有 将数字转换成文字 .

阅读更多。 如何在Excel中把数字转换成小数点后2位的文本(5种方法)

2.应用VLOOKUP功能将数字转换为文字

你可以申请 VLOOKUP 功能,以 将数字转换为文字 让我们做一些不同的事情。 在这里,你必须先插入所有的数字,然后你可以使用这个函数将任何数字转换为单词。

步骤。

  • 首先,将所有的数字用文字手动写在 C列 .

  • 现在,使用以下公式在 C12 细胞。
=vlookup(b12,b4:c9,2,false)

  • 然后,按 进入 .

公式分解

在这个公式中, VLOOKUP 函数将从一个给定的数组中返回一个值。

  • 首先。 B12 是它在给定表格中寻找的查询值。
  • 其次。 B4:C9 是指 表阵列 其中,它寻找的是 目标值 .
  • 第三。 2 是要返回值的表中的列数。
  • 第四。 假的 表示一个 确实 匹配。

阅读更多。 如何将Excel中的VLOOKUP的数字转换成文本(2种方法)

类似读物

  • 如何在Excel中用撇号将数字转换为文本
  • 在Excel中用绿色三角形将数字转换为文本
  • 如何在Excel中用逗号将数字转换为文本(3种简单方法)
  • 在Excel中把数字转换成没有科学符号的文本
  • 如何在Excel中把比索数字转换成文字(简单的步骤)。

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 = 0x_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 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 Booleanx_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 结束 If Mid(x_string_Num, 2, 2)"00" 那么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("10", "11", "12", "13" "14" "15" "16" "17" 。"十八", "十九") x_array_2 = Array("", "", "二十", "三十", "四十", "五十", "六十", "七十", "八十", "九十") 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 Thenx_string = "和" 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 = "和" 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 get_digit(xDgt) Dim x_string As String Dim x_array_1() As Variant x_array_1 = Array("Zero","一", "二", "三", "四", "五", "六", "七", "八", "九") 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 "或选择 数字转换为文字 功能,从下拉菜单中选择。
  • 随后,选择有数字值的单元格,将其转换为文字(在我们的例子中,单元格 B5 ).
  • 最后,打 进入 按钮。

最后,你可以简单地把这个公式复制到其余的单元格。

阅读更多。 如何在Excel中把数值转换成英文单词

4.运用VBA在Excel中为货币编码

这个方法与上一个方法类似。 它的工作原理也是通过插入一个模块,使用 VBA (Visual Basic for Application) 它与上一个方法的不同之处在于,它 将数字转换为适当的货币词。 此外,下面给出了一个例子。

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 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 IfxIndex = xIndex + 1 循环选择 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" 结束选择 Case converted_into_cent Case "" converted_into_cent = " and Zero Cent" Case "One"Convert_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 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="十" Case 11: my_output = "十一" Case 12: my_output = "十二" Case 13: my_output = "十三" Case 14: my_output = "十四" Case 15: my_output = "十五" Case 16: my_output = "十六" Case 17: my_output = "十七" Case 18: my_output = "十八" Case 19: my_output = "十九" Case Else End Select ElseSelect Case Val(Left(pTens, 1)) Case 2: my_output = "20 " Case 3: my_output = "30 " Case 4: my_output = "40 " Case 5: my_output = "50 " Case 6: my_output = "60 " Case 7: my_output = "70 " Case 8: my_output = "80 " Cash 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职能 

因此,你可以用你的 界定的 名为 将数字转换为带有货币的单词 为此,你应该遵循所给的步骤。

步骤。

  • 现在,你必须选择一个你想保留结果的单元格。 我们已经选择了 C5 细胞。
  • 然后,你需要使用相应的公式在 C5 细胞。
=Convert_Number_into_word_with_currency(B5)

  • 随后,按 进入 .

  • 最后,使用Excel 自动填表功能 对于其余的细胞 C6:C9 .

最后,你将得到所有转换的金额。

阅读更多。 如何在Excel中把数字转换成文本并保留尾部零点(4种方法)

如何在Excel中把数字转换为文本格式

到目前为止,我们已经谈论了 如何将数字转换为文字 文章的这一部分解释了如何在Excel中 将数字改为文本格式 它是将数字转换为文本的最简单和最快的方法。

在这里,请按照这些步骤来应用这个方法。

  • 首先,选择你想转换为文本的一个或多个带有数字值的单元格(在我们的例子中,单元格 C5:C9 )
  • 第二,去 首页 选项卡,并选择 文本 选项,从单元格类别下拉菜单中的 数量 节。

因此,它将把你选定的单元格的数字值转换成文本。 你可以通过观察对齐方式来理解它。 默认情况下,Excel中文本是左对齐的,数字是右对齐的。

或者你可以按 CTRL+1 来打开名为 格式化单元格 并选择 数量 选项,然后选择 文本 从那里开始的类别。

阅读更多。 Excel VBA将数字转换为文本(4例)

练习部分

为了做练习,我们在每张纸的右边部分增加了一个练习部分。

总结

在这里,我们试图使这篇文章成为关于如何将数字转换为适当的单词或文本的终极指南。 MS Excel 此外,我们已经缩小了 本文中的不同技术,以便你可以选择最适合你的具体情况的理想方案。 因此,我们希望你能找到你所寻找的解决方案。 如果你有任何建议或问题,请留下评论。 谢谢你。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.