中if判断中文_阿拉伯数字转换成中文数字

f69c80d4b3538ac5b451c4254ac9a964.png

NUMBERSTRING函数专门解决这个问题,使用规则如下:

27398fcee299364e2493799286cda138.png
图 1 NUMBERSTRING函数使用规则

1.纯数字转换:

311e497ac994ad36b24065d4549ab7ca.png
图 2 三种转换形式示例

【说明】:

①由图2示例可以看出, NUMBERSTRING并不能识别负数。为了正常转换,可以特殊处理:

9cbe54f1bb3999a1ef3ea5eda23a6c1c.png
图 3 负数问题的处理

如图3,单元格C7的公式为:

=IF(A7<0,"负"&NUMBERSTRING(ABS(A7),1),NUMBERSTRING(A7,1))

其执行逻辑是:

  • 先做正负数判断;
  • 如果为负数,该公式先用ABS函数将其转换为正数,然后交NUMBERSTRING转换;
  • 最后在转换结果前加上“负”。

② NUMBERSTRING会将小数点后数值四舍五入成正数,然后转换:

c46b3ba4a9cd19bc6d58d60a02dae79e.png
图 4 转换时四舍五入处理

若不需要四舍五入,则要识别小数点后的小数,需要特殊处理:

=NUMBERSTRING(INT(A10),1)&"点"&NUMBERSTRING(MOD(A10,1)*100,3)

其执行逻辑是:

  • NUMBERSTRING(INT(A10),1)&"点":截取整数部分,转换成中文,加上中文数字拼写时需要的“点”;
  • MOD(A10,1)*100:截取小数部分,转换成整数;
  • NUMBERSTRING(…,3) :将小数部分的转换结果,按照读数习惯转成中文。

2. 转换中文的同时,加上元角分

6d7f928ec8a37f382f6ff14f68eb7152.png
图 5 阿拉伯数字转繁体汉字且加圆角分

这是一个标准的函数组合,直接用即可:

=IF(A21=0,"",IF(INT(A21),TEXT(TRUNC(A21),"[dbnum2]")&"元","")&IF(MOD(A21,1)=0,"整",IF(TRUNC(A21,1),IF(A21=TRUNC(A21,1),TEXT(LEFT(RIGHT(A21*100,2)),"[dbnum2]0角整"),TEXT(RIGHT(A21*100,2),"[dbnum2]0"&IF(LEFT(RIGHT(A21*100,2))="0","","角")&"0分")),TEXT(A21*100,"[dbnum2]0分"))))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值