在EXCL中怎样把小写数字转换成中文大写.doc
文本预览下载声明
在EXCL中怎样把小写数字转换成中文大写?=IF(A10,负,)IF(ABS(A1)1,TEXT(TRUNC(ABS(ROUND(A1,2))),[DBNum2])元,)IF(ISERR(FIND(.,ROUND(A1,2))),,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),[DBNum2]))IF(ISERR(FIND(.0,TEXT(A1,0.00))),角,)IF(LEFT(RIGHT(ROUND(A1,2),3))=.,TEXT(RIGHT(ROUND(A1,2)),[DBNum2])分,整)Excel数字转换为中文大写
2009-12-23 09:47
???? 在Excel应用过程中,常常有人尤其是会计需要实现货币由小写转大写,经本人归纳应用最多的有二种情况(可能不全哟,见怪),一是在单元格A中输入货币小字,在单元格B中实现小写到大写的自动转换,二是在单元格A中输入货币小写就在单元格A中实现小写到大写自动转换。
??? 下面就这二种情况的解决方法分别进行详解。
??? 一、在单元格A中输入货币小写,在单元格B中实现小写到大写的自动转换
??????? 实例及解决方法:
??????? 1、例:下表需要自动将C5单元格中的货币小写自动转换成C6单元格中的大写。
??????????????? ?? 2、可在C6单元格输入如下内容: =IF(C50,(金额为负无效),IF((C5-INT(C5))=0,(人民币)TEXT(C5,[DBNUM2])元整,IF(INT(C5*10)-C5*10=0,(人民币)TEXT(INT(C5),[DBNUM2])元TEXT((INT(C5*10)-INT(C5)*10),[DBNUM2])角整,TEXT(INT(C5),[DBNUM2])元IF(INT(C5*10)-INT(C5)*10=0,零,TEXT(INT(C5*10)-INT(C5)*10,[DBNUM2])角)TEXT(RIGHT(C5,1),[DBNUM2])分)))??? 回车后,即可实现,效果如下图
???????
?????? 根据个人情况不同,可将公式中的C5设置成其它单元格(货币小写所在的单元格)即可实现货币的小写转大写。
?? 二、在单元格A中输入货币小写就在单元格A中实现小写到大写自动转换
????? (转)
??? Function DXRMB(je As Currency) As String?? 湖南省巴陵石化热电厂陈放雄编制 yhcfx@?? 很容易将其改为其它编程语言的人民币转换函数?? **************************************************?? Dim sDW, sDX, sS, sCS, sWDX, sWDW As String?? sDW表示金额大写的单位?? sDX表示数字的大写?? sS表示转换的中间字符串?? sCS表示金额转换为货币化的数字字符串?? sWDX表示某一个位的位数字大写?? sWDW表示某一个位的单位?? Dim cJE As Currency?? cJE表示金额扩大100位并取整后的金额?? Dim iL, iW, iLEN As Integer?? iL表示金额串的长度循环变量(包含角分位但不含小数点)?? iW表示某一个位的数字数值?? iLEN表示金额串的总长度(包含角分位但不含小数点)?? Dim bCUR0, bPRE0 As Boolean?? bCUR0表示当前位数字是否为零?? bPRE0表示前一位数字是否为零?? ***************************************************?????? If Abs(je) 0.01 Then???? DXRMB = 零元整???? Exit Function?? End If?? sWDX = ???????? 位大写赋初值?? If je 0 Then???? sWDX = (负)?? 负数值前面加(负)???? je = Abs(je)?? End If???? If je 922337203685.47 Then???????????????????? 超限判断???? DXRMB = 数据的绝对值不能大于922337203685.47???? Exit Function?? End If???? sDW = 分角元拾佰仟万拾佰仟亿拾佰仟万拾佰?? sDX = 零壹贰叁肆伍陆柒捌玖?? cJE = Round(je * 100)?? sCS = CStr(cJE)?? iL = Len(sCS)??????
显示全部