在Excel中将人民币金额小写转成大写

  Excel中要将人民币小写金额转换成大写格式,将自定义格式类型中的“G/通用格式”改为“G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那怎么解决这一先天不足呢?

  方法有以下两种(以下均对B1单元格转换,假设B1通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。

  一、在三个连续的同行单元格中转换

  1. B2输入公式 “=IF(B1<0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“G/通用格式”修改为:(“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。

  2. C2中输入“=IF(B1<0,"",INT(B1?10)-INT(B1)?10)”,同样C2改为:G/通用格式“角”,C2显示:“零角”。

  3. D2中输入“=IF(B1<0,"",INT(B1?100)-INT(B1?10)?10)”,同样D2改为:G/通用格式“分”, D2显示:“玖分”。

  这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。

  图1 显示大写金额

  二、用Excel提供的函数转换

  个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。

  小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。

  小数点后面第二位为0,则显示“整”;不为0,显示“X分”。

  根据以上思路在B2中输入公式

  “IF(B1<0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整"));

  IF(B1<1,"(人民币)",TEXT(INT(B1),"(人民币)G/通用格式")&&"元")&&IF(INT(B1?10)-INT(B1)?10=0);

  IF(INT(B1)?(INT(B1?100)-INT(B1?10)?10)=0,"","零"),TEXT(INT(B1?10)-INT(B1)?10,"")&&"角")&&IF((INT(B1?100)-INT(B1?10)?10)=0,"整",TEXT((INT(B1?100)-INT(B1*10)*10),"")&&"分")))”。

  确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。

  图2 两种方式对话结果

IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。

相关文章
中芯国际联手国家队斥500亿投建12吋晶圆制造 什么信号?
中芯国际等被美列黑名单 外交部:坚决反对美方无端打压中国企业
中芯国际遭“断粮”背后:芯片产业链加速国产化
被美国列入“黑名单”?中芯国际:未收到此类官方消息

精彩评论