Excel中如何将货币数值由数字金额自动转为中文大写金额

合集下载

怎样在EXCEL中数字转人民币大写

怎样在EXCEL中数字转人民币大写

怎样在EXCEL中数字转人民币大写1.第一种方法:通过函数嵌套实现数字转人民币大写形式的公式是:=IF(B1<0,"金额为负无效",(IF(OR(B1=0,B1=""),"(人民币)零元",IF(B1<1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&"元"))))&IF((INT(B1*10)-INT(B1)*10)=0,IF(INT(B1*100)-INT(B1*10)*10=0,"","零"),(TEXT(INT(B1*10)-INT(B1)*10,"[dbnum2]")&"角"))&IF((INT(B1*100)-INT(B1*10)*10)=0,"整",TEXT((INT(B1*100)-INT(B1*10)*10),"[dbnum2]")&"分")数字转人民币大写形式的公式是:="大写金额:"&IF(TRIM(B1)="","",IF(B1=0,"","人民币"&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*10,"[dbnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100 -INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))12508.34 大写金额:壹万贰仟伍佰零捌元叁角肆分数字转人民币大写形式的公式是:="大写金额:"&IF(TRIM(B1)="","",IF(B1=0,"",""&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*10,"[dbnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100 -INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))这类转换的格式没有“人民币”字样1.第二种方法:通过宏VBA自定义函数实现第一步:按下ALT+F11组合键,或者是单击工具——宏——Visual Basic 编辑器,进入Visual Basic编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。

把单元格中数字快速转化为中文大写的方法

把单元格中数字快速转化为中文大写的方法

把单元格中数字快速转化为中文大写的方法将单元格中数字快速转化为中文大写的方法介绍在Excel中,有时我们需要将数字转化为中文大写,例如将12345转化为一万二千三百四十五。

本文将介绍几种快速将单元格中数字转化为中文大写的方法。

方法一:使用Excel自带函数Excel自带了一个函数=TEXT(value, "[$-0804][DBNum2]G/通用格式"),可以将数字转化为中文大写形式。

使用步骤: 1. 在一个空白单元格中输入=TEXT(A1, "[$-0804][DBNum2]G/通用格式"),其中A1为要转化的数字所在的单元格。

2. 按下Enter键即可看到转化后的中文大写数字。

方法二:使用VBA宏如果需要频繁使用该功能,可以使用VBA宏将其封装为一个函数,以便更加方便地调用。

使用步骤: 1. 按下ALT + F11打开VBA编辑器。

2. 在VBA编辑器中,选择要添加宏的工作簿。

3. 在模块中,插入以下VBA代码:Function ChineseNumber(ByVal Value As Variant) As S tringDim MyNumber As CurrencyDim DecimalPlace As IntegerDim Count As IntegerDim DecimalSeparator As StringDim Temp As StringDim DecimalValue As StringDim DecimalWords As StringDim ReturnValue As StringDecimalSeparator = "点"ReDim Place(9) As StringPlace(2) = "十"Place(3) = "百"Place(4) = "千"Place(5) = "万"Place(6) = "十"Place(7) = "百"Place(8) = "千"Place(9) = "亿"' Convert MyNumber to string, separate integral and decimalMyNumber = Trim(CStr(Value))DecimalPlace = InStr(MyNumber, ".")If DecimalPlace > 0 ThenDecimalValue = GetTens(Left(Mid(MyNumber, Decima lPlace + 1) & "00", 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then ReturnValue = Temp & Place(Co unt) & ReturnValueIf Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3) ElseMyNumber = ""End IfCount = Count + 1LoopSelect Case ReturnValueCase ""ReturnValue = "零"Case "一十"ReturnValue = "十"End SelectChineseNumber = ReturnValue & DecimalSeparator & Dec imalValueEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" & MyNumber, 3)' Convert the hundreds place.If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) & "百"End If' Convert the tens and ones place.If Mid(MyNumber, 2, 1) <> "0" ThenResult = Result & GetTens(Mid(MyNumber, 2))ElseResult = Result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = "" ' Null out the temporary funct ion value.If Val(Left(TensText, 1)) = 1 Then ' If value betw een 10-19...Select Case Val(TensText)Case 10: Result = "十"Case 11: Result = "十一"Case 12: Result = "十二"Case 13: Result = "十三"Case 14: Result = "十四"Case 15: Result = "十五"Case 16: Result = "十六"Case 17: Result = "十七"Case 18: Result = "十八"Case 19: Result = "十九"Case ElseEnd SelectElse ' If value betw een 20-99...Select Case Val(Left(TensText, 1))Case 2: Result = "二十"Case 3: Result = "三十"Case 4: Result = "四十"Case 5: Result = "五十"Case 6: Result = "六十"Case 7: Result = "七十"Case 8: Result = "八十"Case 9: Result = "九十"Case ElseEnd SelectResult = Result & GetDigit _(Right(TensText, 1)) ' Retrieve ones place. End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "一"Case 2: GetDigit = "二"Case 3: GetDigit = "三"Case 4: GetDigit = "四"Case 5: GetDigit = "五"Case 6: GetDigit = "六"Case 7: GetDigit = "七"Case 8: GetDigit = "八"Case 9: GetDigit = "九"Case Else: GetDigit = ""End SelectEnd Function4.按下CTRL + S保存宏。

EXCEL财务小技巧--人民币数字金额转汉字大写公式

EXCEL财务小技巧--人民币数字金额转汉字大写公式

EXCEL财务小技巧--人民币数字金额转汉字大写公式前几天又被问到人民币大写,正好想起来以前收集的这个公式,当时是做一个空调安装报价系统,所以在网上找到了这个公式,公式看起来很复杂,不过结构并不复杂,有兴趣的可以研究下,不过学会用还是很简单的公式如下:='大写:'&IF(ABS(E1)<0.005,'',IF(E1<0,'负',)&IF(INT(ABS(E1)),TEXT(INT(ABS(E1)),'[dbnum2]')&'元',)&IF(INT(ABS(E1)*10)-INT(ABS(E1))*10,TEXT(INT(ABS(E1)*10)-INT(ABS(E1))*10,'[dbnum2]')&'角',IF(INT(ABS(E1))=ABS(E1),,IF(ABS(E1)<0.1,,'零')))&IF(ROUND(ABS(E1)*100-INT(ABS(E1)*10)*10,),TEXT(ROUND(ABS(E1)*100-INT(ABS(E1)*10)*10,),'[dbnum2]')&'分','整'))在实际用的时候先把这个公式复制到记事本里,比如你要将A1的数字转化成人民币大写,那就用记事本的替换功能将E1替换成A1,在将公式复制粘贴到要显示大写的单元格即可应用的结果示范如下另外这个公式是个引子,需要的最终格式和这有点不一样,那也可以根据这个公式做一些简单改变,比如说总是要得到要得到 *元*角*分的样子那就写成='人民币'&IF(ABS(AG10)<0.005,'',IF(AG10<0,'负',)&IF(INT(ABS(AG10)),TEXT(INT(ABS(AG10)),'[dbnum2]')&'元',)&IF(INT(ABS(AG10)*10)-INT(ABS(AG10))*10,TEXT(INT(ABS(AG10)*10)-INT(ABS(AG10))*10,'[dbnum2]')&'角',IF(INT(ABS(AG10))=ABS(AG10),'零角',IF(ABS(AG10)<0.1,,'零')))&TEXT(ROUND(ABS(AG10)*100-INT(ABS(AG10)*10)*10,),'[dbnum2]')&'分')注意这里目标单元格时AG10,结果如下人民币伍万肆仟零叁拾元零角零分540302010-10-12 by excel880。

最新一秒把excel表格中的数字变成中文大写数字金额

最新一秒把excel表格中的数字变成中文大写数字金额

一秒把e x c e l表格中的数字变成中文大写
数字金额
如何把excel表格中的数字变成中文大写数字金额如何把excel表格中的数字变成中文大写数字金额,在网上找了很多方法,都是感到不方便,经过反复找寻,终于找了一个很简单的方法给大家。

1.插入函数=ROUND(F6,0) 我的单元格是F6
2.如找不到ROUND函数,在函数选择类别中选全部,就可以找到ROUND函数了。

2.(F6)是您要选定的单元格的名称,在哪个单元格就是多少,也可能是C2,F10,D8等等。

3.(,0)是您要求的人民币大写所要保留的小数点位数,一般是保留二位小数点,也可以不保留,啊啊随便你。

4. (,0)是不保留小数点。

图形示例如上。

5. (,1)是保留一位小数点。

图形示例如下
6. (,2)是保留二位小数点。

图形示例如下
6. 你也可以复制=ROUND(F6,0)到插入函数那个框里去,保留小数点是几您就改为几,然后回车就是您要的结果了,这样更便当。

这样是不是很方便了?祝您工作愉快。

在EXCEL中将数字转换为人民币大写的三种方式

在EXCEL中将数字转换为人民币大写的三种方式

鉴于本身提供将数字转换为大写表示地功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到地,懒得进来了,反正也差不多了.方法,通过在表格框(例如在“”单元)中直接输入以下公式:(<,"金额为负无效",(((""),"(人民币)零元",(<,"(人民币)",((),"[](人民币)通用格式")"元"))))(((*)()*),((*)(*)*,"","零"),(((*)()*,"[]")"角"))(((*)(*)*),"整",(((*)(*)*),"[]")"分") 个人收集整理勿做商业用途然后在“”中输入数字,就可看到效果.方法,通过(宏)输入转换公式: 点击菜单“工具”>“宏”>“编辑器”,在编辑器窗口中,点击菜单“插入”>“模块”,在出现地窗口中输入以下内容:个人收集整理勿做商业用途( ) ' 人民币中文大写函数"分角元拾佰仟万拾佰仟亿拾佰仟万""壹贰叁肆伍陆柒捌玖""整零元零零零万零零零亿零零零万"< "(负)"((), "") *> : "数字超出转换范围!!":: "零元零分":(())()' 数字转换过程((, , ))<> ' 非零数字转换(, , ) (, , )' 数字零地转换(, ) <> "零"(, , )' 特殊数位转换(, () ) (, , ),(, () ) (, , ) "零"(, () , ) <> "亿"(, () ) (, , ) "零""(人民币)" ()个人收集整理勿做商业用途然后切换回,在“”单元中输入数字,在“”单元中输入:“()”,就可看到效果.个人收集整理勿做商业用途方法,同样是通过公式,方法同上,公式如下:( ) ',"" '定义位置代码"" '定义汉字缩写"零壹贰叁肆伍陆柒捌玖拾佰仟萬億圆整角分" '定义大写汉字(, ".") > (, (, ".") )个人收集整理勿做商业用途() > "数目太大,无法换算!请输入一亿亿以下地数字", , "错误提示": '只能转换一亿亿元以下数目地货币!个人收集整理勿做商业用途(, "") '格式化货币""()(, , ) (, () , )(, ) """" '***元整((, ), ) "" (, ) "" '*元*角*分(, "", "") '避免零千(如:肆萬零千零贰佰)(, "", "") '避免零百(如:肆萬壹千零佰)(, "", "") '避免零十(如:贰佰零拾零肆)个人收集整理勿做商业用途<> (, "", "")(, "", "") '避免双零(如:壹仟零零肆)(, "", "") '避免零億(如:億贰佰壹十零億)(, "", "") '避免零萬(如:萬贰佰壹十零萬)(() (, ) "", (, () ), ) '避免壹十(如:壹拾肆;壹拾)(() , (, ".", ""), (, ".", ".")) '避免零元(如:贰拾零圆;零圆壹角贰分)个人收集整理勿做商业用途(, (, , ), (, , )) '大写汉字"(人民币)"个人收集整理勿做商业用途切换回,在“”单元中输入数字,在“”单元中输入:“()”,就可看到效果.个人收集整理勿做商业用途实现地效果比较如下:(人民币)壹仟贰佰叁拾肆元伍角整直接公式(人民币)壹仟贰佰叁拾肆元伍角整()(人民币)壹仟贰佰叁拾肆圆伍角零分()。

在EXCEL中将数字转换为人民币大写的三种方式

在EXCEL中将数字转换为人民币大写的三种方式

在EXCEL中将数字转换为人民币大写的三种方式鉴于EXCEL本身提供将数字转换为大写表示的功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到的,懒得KEYIN进来了,反正也差不多了。

方法1,通过在EXCEL表格框(例如在“B1”单元)中直接输入以下公式:=IF(A1<0,"金额为负无效",(IF(OR(A1=0,A1=""),"(人民币)零元",IF(A1<1,"(人民币)",TEXT(INT(A1),"[dbnum2](人民币)G/通用格式")&"元"))))&IF((INT(A1*10)-INT(A1)*10)=0,IF(INT(A1*100)-INT(A1*10)*10=0,"","零"),(TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角"))&IF((INT(A1*100)-INT(A1*10)*10)=0,"整",TEXT((INT(A1*100)-INT(A1*10)*10),"[dbnum2]")&"分")然后在“A1”中输入数字,就可看到效果。

方法2,通过VBA(宏)输入转换公式: 点击菜单“工具”->“宏”->“VisualBasic编辑器”,在编辑器窗口中,点击菜单“插入”->“模块”,在出现的窗口中输入以下内容:Function daxie(ByVal Num) ' 人民币中文大写函数Application.Volatile TruePlace = "分角元拾佰仟万拾佰仟亿拾佰仟万"Dn = "壹贰叁肆伍陆柒捌玖"D1 = "整零元零零零万零零零亿零零零万"If Num < 0 Then FuHao = "(负)"Num = Format(Abs(Num), "###0.00") * 100If Num > 999999999999999# Then: daxie = "数字超出转换范围!!": Exit FunctionIf Num = 0 Then: daxie = "零元零分": Exit FunctionNumA = Trim(Str(Num))NumLen = Len(NumA)For J = NumLen To 1 Step -1 ' 数字转换过程temp = Val(Mid(NumA, NumLen - J + 1, 1))If temp <> 0 Then ' 非零数字转换NumC = NumC & Mid(Dn, temp, 1) & Mid(Place, J, 1) Else ' 数字零的转换If Right(NumC, 1) <> "零" ThenNumC = NumC & Mid(D1, J, 1)ElseSelect Case J ' 特殊数位转换Case 1NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1)Case 3, 11NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"Case 7If Mid(NumC, Len(NumC) - 1, 1) <> "亿" ThenNumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"End IfCase ElseEnd SelectEnd IfEnd IfNextdaxie = "(人民币)" & FuHao & Trim(NumC)End Function然后切换回excel,在“A2”单元中输入数字,在“B2”单元中输入:“=DaXie(A2)”,就可看到效果。

Excel表格里怎么将数字金额转换为大写

Excel表格里怎么将数字金额转换为大写

Excel表格里怎么将数字金额转换为大写
Excel表格里怎么将数字金额转换为大写?很多朋友都有这样的需求,手动打字太慢而且容易错,大家可以尝试把数字金额直接转换成大写,今天系统之家我就来讲解office软件里Excel表格怎么将金额转成大写的方法,感兴趣的小伙伴快来这里学习一下。

Excel表格将金额转成大写的方法
1、进入Excel后,将金额复制到大写的一列,并选中这一列。

2、单击鼠标右键,在弹出的功能栏中选择设置单元格格式。

3、在左侧栏中点击特殊,选择中文大写数字,点击确定。

4、此时小写的金额就变成大写的金额了。

以上就是系统之家给大家分享的Office Excel表格将金额转成大写的快捷方法,希望对你有帮助。

手把手教你转换出中文大写金额

手把手教你转换出中文大写金额

手把手教你转换出中文大写金额大家在使用Excel的时候,是否会遇到要把一个或一些阿拉伯数字转换成中文大写金额的计算要求呢?如果只是偶尔需要对少数几个数字进行转换,干脆手工操作啦,但如果要进行转换的数字较多或经常要转换时,该怎么办呢?一向无往不胜的Excel能为你做些什么呢?其实,这个不难,最少有三种方法可以实现。

<br>一、设置单元格格式:<br>用这个办法能直接将阿拉伯数字转换成中文大写金额,而且操作简单。

右击需要转换的单元格,在弹出的快捷菜单中选择“单元格格式”,然后在“数字”选项卡中选择“自定义”,在“类型”中写入“[DBNum2]G/通用格式"元"”后按确定即可。

瞧,321是不是已经变成了“叁佰贰拾壹元”了?<br> 可惜的是,这个办法只能处理整数,而对带有小数的数字无能为力。

当然也有过朋友通过对此法进行一定的扩展而可以处理部分带小数的数字,但效果不是很理想。

<br>二、利用中文大写金额转换函数:<br>先别急,这个函数你在Excel里是找不到的,微软毕竟不是大陆公司!这个函数被收集在本站开发的“Excel扩展函数集”里,下载这个函数集,按说明进行安装后,在Excel中运用一个叫EHDXRMB()的函数就可以将任意数字转换成中文大写金额。

具体情况在此就不多进行介绍了。

<br>三、利用公式进行转换:<br>所谓“自力更生,丰衣足食”,这第三种方法就是自己编写公式进行转换。

虽然吝啬的小编连白开水也舍不得给我,但我还是一如既往地发扬大公无私之精神将独门密技告之天下,包学包会,不会免费再学……(小编:STOP!再要是废话就OUT!)<br>为了照顾一些Excel初学者,我们先来了解一下什么是Excel里的公式与函数。

Excel之所以计算功能异常强大,百分之八十的功劳就在于用户可以创建公式进行计算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel中如何将货币数值由数字金额自动转为中文大写金额
使用Excel时有时会用数据的转换,尤其是做财务工作,如工资表等时就需要用中文大写金额。

如果手动输入,就会麻烦一些,多的时候也会增加了工作量。

我们可以使用Excel中的函数来实现将货币数值由数字金额自动转换成中文大写金额。

本文以一份表格为例讲解如何将数字金额转换为中文大写金额。

先在Excel表格中算出合计金额,如下图。

利用公式把小写的货币转换为中文大写,并写在合并的单元格中。

公式如下:
=IF((I41-INT(I41))=0,TEXT(I41,"[DBNUM2]")&"元整
",IF(INT(I41*10)-I41*10=0,TEXT(INT(I41),"[DBNUM2]")&"元
"&TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角整
",TEXT(INT(I41),"[DBNUM2]")&"元"&IF(INT(I41*10)-INT(I41)*10,"零",TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角
")&TEXT(RIGHT(I41,1),"[DBNUM2]")&"分"))。

把公式输入合计右边的合并单元格中,如下图。

输入后的显示结果如下图。

公式中一共用到了4函数,文本连接符“&”及相应的汉字。

下面对这4种函数做个讲解:
IF函数:是一个条件判断函数,该函数的基本格式是:IF(a,b,c),其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。

以上公式是一个多层嵌套判断函数,根据货币金额的不同情况生成不同格式的中文大写。

INT函数:是一个取整函数,取参数数字的整数部分。

如:INT(I41)是取I41这个单元格数字的整数部分,(I41-INT(I41))=0表示一个整数,INT(I41*10)-INT(I41)*10表示I41单元小数点后第一位数,
INT(I41*10)-INT(I41)*10=0表示I41单元格中有一位小数。

TEXT函数:可以将阿拉伯格式数字转换为中文大写格式,如公式中TEXT(I41,"[DBNUM2] ")就是把I41单元格中的数字转换成中文大写格式,其中"[DBNUM2] "是把数字转换为中文大写形式,照搬即可。

RIGHT函数:可以提取字符串右边的若干个字符。

如公式中的“RIGHT(I41,1)”表示从I41单元格数字右起提取一个字符。

公式使用了多层嵌套,看起来比较复杂一些。

可以将整个条件函数公式表述为:
如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:
如果单元格A7中数字为含有一位小数数字(假如位35566.2),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角整”,否则:如果单元格A7中数字为两位小数数字,且十分位为0(假如为35566.08),那么人民币大写就是“叁万伍仟伍佰陆拾陆元零捌分”。

否则:
如果单元格A7中数字为两位数小数,且十分位不为0(假如为35566.28),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角捌分”。

注:本文参考了网络上相关内容的文章。

相关文档
最新文档