在Excel中制作人民币大写金额转换函数

合集下载

如何在EXCEL中实现数字金额转换成中文大写金额

如何在EXCEL中实现数字金额转换成中文大写金额

如何在EXCEL中实现数字⾦额转换成中⽂⼤写⾦额如何在EXCEL中实现数字⾦额转换成中⽂⼤写⾦额?⼯作中经常会遇到这样的转换,特别是做财务⼯作的朋友,如果⼿⼯录⼊,很费时间⼜常常担⼼出错。

笔者参考了⼀些⽂章,根据实践,觉得下⾯的⽅法很实⽤:⽅法名:“⽤Excel函数将货币数值由阿拉伯数字⾃动⽣成为中⽂⼤写格式”假设输⼊阿拉伯数字格式⾦额的是A7单元格,要⾃动⽣成中⽂⼤写⾦额的是A8单元格,我们按照中⽂⼤写格式的特殊的要求,利⽤Excel函数对A8进⾏公式设置。

在A8单元格输⼊:=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7)," [DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"⾓整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"⾓")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))。

公式中共运⽤4种函数,⽂本连接符号“&”及相应的汉字。

IF函数:是⼀个条件判断函数,此函数的基本格式是:IF(a,b,c)其中“a”是⼀个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成⽴,那么结果是b,否则结果就是c。

以上公式是有四层嵌套条件判断函数,根据货币⾦额的不同情况⽣成不同格式的中⽂⼤写。

怎样在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编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。

在Excel2007中用自定义函数解决人民币大写转换

在Excel2007中用自定义函数解决人民币大写转换

在Excel2007中用自定义函数解决人民币大写转换图1 采购清单图1是女友某次商品采购的清单,我们的目的就是自定义一个函数,并通过调用这个自定义函数,轻松实现人民币金额的大写转换。

第一步:在Excel2007中打开VB编辑器窗口启动Excel ,打开图1所示的工作簿,依次单击“开发工具→代码→ Visual Basic”命令,打开“Visual Basic编辑器”窗口。

第二步:定义转换函数右击“Visual Basic编辑器”窗口中的“ThisWorkbook”,选择“插入→模块”命令,插入一个新的模块(默认名称为“模块1”),接着将以下代码输入到右侧的代码编辑区域中。

Function rmbb(M)y = Int(Abs(M))j = Round(Abs(M) - y, 2)f = (j * 10 - Int(j * 10)) / 10a = Application.Text(y, "[DBNum2]")d = "元"If j < 0.1 Then e = "" Else e = "角"If f < 0.01 Then g = "整" Else g = "分"If f < 0.01 Then c = "" Else c = Application.Text(Round(f * 100, 0), "[DBNum2]") If j = 0 Then b = "" Else b = Application.Text(Int(j * 10), "[DBNum2]")If M < 0 Then z = "负" Else z = ""rmbb = z & a & d & b & e & c & gEnd Function函数输入完毕后,关闭“Visual Basic编辑器”并返回,我们输入的代码就被自动保存了。

excel数字转大写金额函数

excel数字转大写金额函数

excel数字转大写金额函数
Excel数字转大写金额函数
在实际工作中,我们经常会用到把数字表示的金额转换成大写汉字,在Excel中也可以实现这样的转换。

本文介绍利用Excel函数实现转换金额数字为大写汉字的方法。

1、定义函数
在Excel中,要实现将数字转换为大写汉字,可以使用函数:DOLLAR(货币文本)。

其中,具体使用规则如下:
DOLLAR(num,[position])
参数说明:
Num为必需参数,表示要转换的金额数字。

Position为可选参数,表示以几位小数点货币格式显示,默认为2位小数;
2、使用函数
例如,在Excel中,我们想将数字100000转换为大写汉字,通常应该如何操作呢?
首先,我们在Excel中输入数字100000,然后在它旁边的单元格输入函数DOLLAR,最后,在函数后输入参数100000,按回车即可。

此时,可以看出,Excel已经将100000转换为大写汉字“壹拾万元整”了。

- 1 -。

教你在EXCEL表格中自动生成大写金额的方法

教你在EXCEL表格中自动生成大写金额的方法

教你在EXCEL表格中⾃动⽣成⼤写⾦额的⽅法经常有朋友问我怎么在电⼦表格⾥输⼊数字的时候,能让他⾃动输出的是⼤写⾦额。

因为如果你慢慢的输⼊⼤写⾦额的话,显得⽐较慢,不⽅便操作。

今天我就把这个⽅法写在这上边,让你⼀招就学会。

=IF(C15<0,"零元整",IF(C15=0,"",IF(TRUNC(C15)=C7,TEXT(TRUNC(C15),"[DBNum2][$-804]G/通⽤格式")&"元整",TEXT(TRUNC(C15),"[DBNum2][$-804]G/通⽤格式")&"元"&IF(TRUNC((C15)*10)-TRUNC(C15)*10=0,"零"&TEXT(TRUNC((C15)*100)-TRUNC((C15)*10)*10,"[DBNum2][$-804]G/通⽤格式")&"分",TEXT(TRUNC((C15)*10)-TRUNC(C15)*10,"[DBNum2][$-804]G/通⽤格式")&"⾓"&IF(TRUNC((C15)*100)-TRUNC((C15)*10)*10=0,"整",TEXT(TRUNC((C15)*100)-TRUNC((C15)*10)*10,"[DBNum2][$-804]G/通⽤格式")&"分")))))把这些代码复制到你要输出⼤写⾦额的格内,然后把C15改成你所要输出的⼩写⾦额的代号。

在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中,将数字转换为大写金额的常用方法是使用自定义格式。

以下是将单元格中的数字转换为大写金额的步骤:
1. 选择要应用自定义格式的单元格或单元格区域。

2. 在“格式”菜单中,选择“自定义日期格式”。

3. 在“类型”输入框中,输入以下文本代码:0[ $]0.00;[ $]0[.00]$ ]。

4. 点击“OK”按钮。

现在,单元格中的数字将以大写金额的形式显示。

请注意,此自定义格式适用于货币值,如果要将非货币值(例如百分比)转换为大写金额,请相应地更改代码中的格式。

另外,如果您想要在单元格中自动将数字转换为大写金额,并在单元格下方显示总计,则可以使用以下公式:
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-
FIND(CHAR(10),CELL("filename",A1))) & "," &
SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A 1))-
FIND(CHAR(10),CELL("filename",A1))),CHAR(10),",")&"="&TEXT($ A1,"")
该公式将在单元格下方显示数字,并将其转换为大写金额。

请将公式复制到其他单元格中,以获得总计。

电子表格中将人民币计算结果由小写转为大写的实用公式

电子表格中将人民币计算结果由小写转为大写的实用公式

电子表格中将人民币计算结果由小写转为大写的公式用电子表格制作相关财务报表时,往会使用到大写数字,有没有直接将人民币计算结果由小写转为大写数字的方法呢,本人通过实践,发现用这个公式可实现小写数字转为大写数字。

=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(C8)),"[>0][db num2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(C8),2),"元[dbnum2]0角0分;;"&IF(ABS(C8)>1%,"元整",)),"零角",IF(ABS(C8)<1,,"零")),"零分","")该公式的使用方法:C8单元格为输入阿拉伯数字的单元格,在需要大写的单元格复制公式进去,回车后就会变成大写,试试吧!很好用的!根据需要按你的意愿更改相应的单元格就能得到你想要的结果了。

注意公式中红色的部分为可改的部分另外还有一个公式是:(其中的a2为输入人民币小写的单元格)=IF(ABS(A2)<0.005,"",IF(A2<0,"负",)&IF(INT(ABS(A2)),TEXT(INT(ABS(A2)),"[dbnum2]")&"元",)&IF(INT(ABS(A2)*10)-INT(ABS(A2))*10,TEXT(INT(ABS(A2)*10) -INT(ABS(A2))*10,"[dbnum2]")&"角",IF(INT(ABS(A2))=ABS(A2),,IF(ABS(A2)<0.1,,"零")))&IF(ROUND(ABS(A2)*100-INT(ABS(A2)*10)*10,),TEXT(ROUN D(ABS(A2)*100-INT(ABS(A2)*10)*10,),"[dbnum2]")&"分","整"))。

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

在Excel中制作人民币大写金额转换函数
我在用Excel进行财务统计时,将数值转换成人民币中文大写金额一般是采用将单元格格式自定义为“[dbnum2]&元”这种方法。

但是在输入带有小数的数值时却出现了问题,比如在输入123.4的时候,变为“壹佰贰拾叁.肆元”,这样子是不符合财务格式的,应该是“壹佰贰拾叁元肆角”才对。

那么能不能在Excel中实现将任意数值转为人民币大写金额呢?
一、解决问题的思路
在Excel中自定义一个函数,该函数可以将任意数值转换为人民币大写金额。

编制该函数代码时我是这样考虑:将输入的数值分为整数、十分位、百分位三个部分,将这几个部分单独转换为[dbnum2] 格式,再根据出现的各种可能和字符“元”、“角”、“分”进行组合。

二、自定义Excel函数
进入Visual Basic 开发环境,选择“插入→模块”,在出现的代码窗口输入如下代码:
Function d(q)
ybb = Round(q * 100)
'将输入的数值扩大100倍,进行四舍五入
y = Int(ybb / 100)
'截取出整数部分
j = Int(ybb / 10) - y * 10
'截取出十分位
f = ybb - y * 100 - j * 10
'截取出百分位
zy = Application.WorksheetFunction.Text(y, "[dbnum2]")
'将整数部分转为中文大写
zj = Application.WorksheetFunction.Text(j, "[dbnum2]")
'将十分位转为中文大写
zf = Application.WorksheetFunction.Text(f, "[dbnum2]")
'将百分位转为中文大写
d = zy & "元"
If f <> 0 And j <> 0 Then
d = d & zj & "角" & zf & "分"
If y = 0 Then
d = zj & "角" & zf & "分"
End If
End If
If f = 0 And j <> 0 Then
d = d & zj & "角"
If y = 0 Then
d = zj & "角"
End If
End If
If f <> 0 And j = 0 Then
d = d & zj & zf & "分"
If y = 0 Then
d = zf & "分"
End If
End If
If q = "" Then
d = 0
'如没有输入任何数值为0
End If
End Function
三、函数的使用
例如要将123.45元转换为人民币大写金额,只需在单元格中输入“=d(123.45)”,再按回车,即转换为“壹佰贰拾叁元肆角伍分”。

为了确保该函数能随时调用,我们需要将上述代码另存为名为“D”,文件类型为“Microsoft Excel 加载宏”的文件,以后在使用时只需点击“工具→加载宏→D→确定”则可。

如果想在另外的电脑上使用该函数,可以将加载宏文件“D”复制到它们的Windows/Application Data/Microsoft/AddIns下,在使用时同样是点击“工具→加载宏→D→确定”。

相关文档
最新文档