Excel中人民币小写金额转换大写的技巧两则
时间:2005-11-24 | 作者:中国电脑教育报 | 阅读:193
要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。
一、在三个连续的同行单元格中转换
1. B2中输入公式 “=IF(B1<0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。
2. C2中输入“=IF(B1<0,"",INT(B1?10)-INT(B1)?10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。
3. D2中输入“=IF(B1<0,"",INT(B1?100)-INT(B1?10)?10)”,同样D2改为:[DBNum2]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),"[dbnum2](人民币)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,"[dbnum2]")&&"角")&&IF((INT(B1?100)-INT(B1?10)?10)=0,"整",TEXT((INT(B1?100)-INT(B1*10)*10),"[dbnum2]")&&"分")))”。
确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。

图2 两种方式对话结果
一、在三个连续的同行单元格中转换
1. B2中输入公式 “=IF(B1<0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。
2. C2中输入“=IF(B1<0,"",INT(B1?10)-INT(B1)?10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。
3. D2中输入“=IF(B1<0,"",INT(B1?100)-INT(B1?10)?10)”,同样D2改为:[DBNum2]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),"[dbnum2](人民币)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,"[dbnum2]")&&"角")&&IF((INT(B1?100)-INT(B1?10)?10)=0,"整",TEXT((INT(B1?100)-INT(B1*10)*10),"[dbnum2]")&&"分")))”。
确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。

图2 两种方式对话结果
福利游戏
相关文章
更多-
- Excel中Copilot迎来重大升级!无需选中数据、自然语言也能理解
- 时间:2025-06-19
-
- 这才是真正的精通!开发者成功实现Excel中运行Linux
- 时间:2025-05-03
-
- Excel复制表格如何保持原格式
- 时间:2025-04-18
-
- Excel设置函数公式方法
- 时间:2025-04-17
-
- excel怎么求乘积?excel求乘积的方法
- 时间:2025-04-16
-
- excel表格怎么计算百分比?excel表格计算百分比的方法
- 时间:2025-04-12
-
- excel怎么制作甘特图?使用excel制作甘特图的方法
- 时间:2025-04-11
-
- Excel高级筛选怎么用 Excel高级筛选的使用方法
- 时间:2025-04-10
大家都在玩
大家都在看
更多-
- 何一:币安暂停卖出FTT 未增持
- 时间:2025-07-06
-
- OM是干什么的
- 时间:2025-07-06
-
- 经典老游戏重现!黄金矿工:经典版将登Steam:免费版已放出
- 时间:2025-07-06
-
- 本田核心工程师“撞头”卡卡西“走红!网友:看发型就强的可怕
- 时间:2025-07-06
-
- 乘客在地铁上耍折叠刀吓到旁人 客服回复:安检人员疏忽
- 时间:2025-07-06
-
- WEFI币:DeFi借贷新选择
- 时间:2025-07-06
-
- TNSR币潜力无限:技术、应用与未来展望
- 时间:2025-07-06
-
- SBF拒绝投资者加入FTX董事会引发风投巨亏
- 时间:2025-07-06