excel:阿拉伯数字转化为金额大写
发布网友
发布时间:2022-04-26 16:53
我来回答
共5个回答
热心网友
时间:2022-04-25 01:29
付款金额:"¥123,456,789.12"
大写:壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元壹角贰分
单元格B6函数编辑如下:
" =IF(ROUND(B6,2)<0,""无效数值"",IF(ROUND(B6,2)=0,""零"",IF(ROUND(B6,2)<1,"""",TEXT(INT(ROUND(B6,2)),""[dbnum2]"")&""元"")&IF(INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10=0,IF(INT(ROUND(B6,2))*(INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10)=0,"""",""零""),TEXT(INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10,""[dbnum2]"")&""角"")&IF((INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10)=0,""整"",TEXT((INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10),""[dbnum2]"")&""分"")))"
函数应用分析:
一、ROUND,数学和三角函数:将数字按指定位数舍入
" (ROUND(B6,2),即对单元格B6的内容进行四舍五入处理,且保留两位小数"
二、INT,数学和三角函数:将数字向下舍入到最接近的整数
" INT(ROUND(B6,2),即对单元格B6在进行四舍五入保留两位小数的基础上,去掉小数点后面的位数,即只显示整数,此时,INT(ROUND(B6,2)和INT(B6)效果是一样的。"
三、TEXT,文本函数:设置数字格式并将其转换为文本;[dbnum2],格式函数
" TEXT(INT(ROUND(B6,2)),""[dbnum2]""),即对INT(ROUND(B6,2))以[dbnum2]格式进行显示。"
[dbnum2],为单元格格式代码(亦可称之为格式函数),格式描述为:中文大写数字,更多单元格格式代码,请点击查询
四、&,文本连接符,有合并单元格内容的功能,运用在函数公式中,起到连接文本(或是数字)内容的作用。
" TEXT(INT(ROUND(B6,2)),""[dbnum2]"")&""元"",即将数字按要求转化为中文大写后加“元”,完成单元格B6“元”单位设置。"
五、IF条件函数、IF嵌套函数、组合函数应用:
"第一层条件函数为:如果(ROUND(B6,2)<0,则单元格B6显示结果为“无效数值”,否则……(以第二层条件函数表达)"
"第二层条件函数为:如果(ROUND(B6,2)=0,则单元格B6显示结果为“零”,否则……(以&连接IF条件函数表达)"
第三层条件函数为:嵌套组合函数,结构为:IF***&元IF***&角&IF***分
"A、“元”位数据的读取:IF(ROUND(B6,2)<1,"""",TEXT(INT(ROUND(B6,2)),""[dbnum2]"")&""元"")"
读取个位数以上的数据,以“元”结束,如果小于1,则不必显示什么内容
"B、“角”位数据的读取:IF(INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10=0,IF(INT(ROUND(B6,2))*(INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10)=0,"""",""零""),TEXT(INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10,""[dbnum2]"")&""角"")"
" 第1层:如果单元格B6小数点后第一位为0,则……(以第2层条件函数表达),否则,计算为
“TEXT(INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10,""[dbnum2]"")&""角""”"
" 第2层:在小数点后第二位(末位数)为0的情况下,对小数点后第一位数字计算为"""",即不读取角位数据,否则(末位数不为0的情况),
小数点后第一位读取为“零”;"
"C、“分”位数据的读取:IF((INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10)=0,""整"",TEXT((INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10),""[dbnum2]"")&""分"")))"
如果单元格B6末位数为0,则以“整”结束,而则就以“分”结束;
六、公式应用说明:
"INT(ROUND(B6,2)*10),对单元格B6数字先扩大10倍再进行舍位,即去掉小数点后的位数,此时个位数为单元格B6数据的小数点后第一位数字;"
"INT(ROUND(B6,2))*10,对单元格B6数字先去掉小数点后的位数,再扩大10倍,此时,个位数为零;"
"INT(ROUND(B6,2)*10)-INT(ROUND(B6,2))*10=0,说明单元格B6小数点后第一位为“零”,否则结果就是单元格B6小数点后第一位数字!"
"INT(ROUND(B6,2)*100),对单元格B6数字先扩大100倍再进行舍位,即去掉小数点后的位数,此时个位数为单元格B6数据的小数点后第二位数字(亦即末位数)"
"INT(ROUND(B6,2)*10)*10,对单元格B6数字先扩大10倍再舍位,同时再扩大10倍,即将单元格B6数据的小数点后第二数(末位数)去掉后整体扩大100倍"
"INT(ROUND(B6,2)*100)-INT(ROUND(B6,2)*10)*10=0,说明单元格B6小数点后第二位为“零”,否则结果就是单元格B6小数点后第二位数字!"
热心网友
时间:2022-04-25 02:47
在B2中输入或复制粘贴下列公式
=IF(MOD(COLUMN(),2),"",LEFT(RIGHT(TEXT($B1*100," ¥[DBNUM2]0"),COLUMNS(B2:$S2)/2)))
右拉填充,然后再在空白处填佰拾万仟佰拾元角分
或
在B2中输入或复制粘贴下列公式
=LEFT(RIGHT(TEXT($B1*100," ¥0"),COLUMNS(B2:$K2)))
或
=LEFT(RIGHT(TEXT($B1*100," ¥[DBNUM2]0"),COLUMNS(B2:$K2)))
右拉填充
热心网友
时间:2022-04-25 04:22
刚开始提问者没上图,所以针对性不强。
假设1283.42在A1单元格,则公式为
=TEXT(INT(A1),"[DBNUM2]")&"元"&TEXT(MID(A1,LEN(INT(A1))+2,1),"[DBNUM2]D角")&TEXT(MID(A1,LEN(INT(A1))+3,1),"[DBNUM2]D分")&"整"
通过修改单元格格式就可以做到了。操作如下:选择需要将数字变成大写金额样式的单元格;按下CTRL+1快捷键,打开“设置单元格格式”窗口;点击“数字”标签,在“分类”中选择“特殊”;在右边的“类型”中点选“中文大写数字”;
点击确定按钮。
ExcelHome有很多各种各样的技巧,可以去那边搜索。
热心网友
时间:2022-04-25 06:13
http://jingyan.baidu.com/article/a378c9609dec4fb328283027.html
用百度的就行了,网上都有的
热心网友
时间:2022-04-25 08:21
没有这样的公式。