Excel公式应用初步 五、Excel中将数字转换成中文大写
返回

五、Excel中将数字转换成中文大写

对于用EXCEL来处理日常统计报表的财务人员来说,一个最令人头痛的问题,就是如何将表示金额的阿拉伯数字转换成中文大写形式。

这里给出将阿拉伯金额数字转换成中文大写形式的两种方法:内置函数法、自定义函数法,供参考。

(一)内置函数法

如图1所示,来将C12单元格中的数值转换为中文大写形式,并将结果保存在D12单元格中。

 1、分别选中E13、F13、G113单元格,依次输入公式:=TEXT(INT(ABS(C12)),"[DBNum2]")、=TEXT(INT(ABS(C12*10))-INT(ABS(C12))*10,"[DBNum2]")、=TEXT(INT(ABS(C12*100))-INT(ABS(C12*10))*10,"[DBNum2]")。

公式含义解析:分别确定统计结果的元、角、分的数值,并将其转换为中文大写格式。

2、选中E10单元格,输入公式:=E13&"元"&F13&"角"&G13&"分",或者:=CONCATENATE(E13,"元",F13,"角",G13,"分")。

公式含义解析:将E13至G13单元格中的文本组合为一个整体,并在相应位置加上单位“元、角、分”文字。

3、再次选中E12单元格,执行“格式→条件格式”命令,打开“条件格式”对话框(如图1)。按“条件1”下面的下拉按钮,选中“公式”选项,在后面的方框中输入“=$C$12<0”(如图2),再按“格式”按钮,在随后弹出的“单元格格式”对话框中(如图3),将“字体”颜色设置为红色,确定退出。

4、选中C12单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图4),切换到“数字”标签下,选中“分类”下面的“货币”选项后,再选中右边“负数”下面的红色选项,确定退出。

注意:经过以上两步操作后,当C12中的数值小于零时,大、小写结果均以红色显示,与财务要求相一致。

5、选中13行,右击鼠标,在随后弹出的快捷菜单中,选“隐藏”选项,将13行隐藏起来,不影响正常打印效果。

至此,转换工作结束,效果参见图1所示。

(二)自定义函数法

显然上面的转换方法比较麻烦。其实,我们可以事先自定义一个函数,然后再用自定义的函数来转换。

1、执行“工具→宏→Visual Basic编辑器”命令,进入“Visual Basic编辑”窗口(如图5)。执行“插入→模块”命令,插入一个模块(如“模块1”),双击“模块1”在窗口右边展开“模块1(代码)”编辑窗口,输入如下代码。

Function dxje(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]") '将百分位转为中文大写

dxje = zy & "元" & "整"

d1 = zy & "元"

If f <> 0 And j <> 0 Then

dxje = d1 & zj & "角" & zf & "分"

If y = 0 Then

dxje = zj & "角" & zf & "分"

End If

End If

If f = 0 And j <> 0 Then

dxje = d1 & zj & "角" & "整"

If y = 0 Then

dxje = zj & "角" & "整"

End If

End If

If f <> 0 And j = 0 Then

dxje = d1 & zj & zf & "分"

If y = 0 Then

dxje = zf & "分"

End If

End If

If q = "" Then

dxje = 0 '如没有输入任何数值为0

End If

End Function

注意:①上面代码中英文单引号“'”后面的字符可以不输入,只是用来解释代码的含义。②代码中“dxje”是自定义函数名称,你可以修改为其他字符。

2、输入完成后,关闭VBA编辑窗口返回工作表状态。

3、如果要转换C2单元格的数值,并将结果保存的D2单元格中(如图6),只要在D2单元格中输入公式:=dxje(C2),确认即可(参见图6)。

注意:通常情况下,自定义的函数只适应于定制的工作簿中,如果要在其它工作簿中使用,请将其制作为加载宏,然后加载一下即可。

  查看上一级更多内容
* 技术支持单位:浙江衡信教育科技有限公司 *