首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel–数字金额自动转换成人民币大写金额

上周教了将数字转换成中文的公式以后,与我预料的一样,很多人提问:用这个公式可以将数字金额转换成人民币大写金额吗?怎么修改参数?

数字转大写金额的问题其实经常有人问,而网上的一些公式长得可以跑火车,我今天要教大家的公式,相对来说,更加精简干练。

案例:

如下图所示,将 A 列的数字金额自动转换为人民币大写金额,显示在 B 列。

解决方案:

1. 在 B2 单元格输入以下公式,向下拖动复制公式即可:

=IF(A2="","",(IF(A2=0,"零元",TEXT(LEFT(RMB(A2),LEN(RMB(A2))-3),"[>0][dbnum2]G/通用格式元;;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"))))

公式释义:

IF(A2="","",(IF(A2=0,"零元",:如果单元格为空,则 B 列也显示空;如果为零,则显示“零元”

TEXT(LEFT(RMB(A2),LEN(RMB(A2))-3),"[>0][dbnum2]G/通用格式元;;;"):这是对整数部分的公式定义

LEFT(RMB(A2),LEN(RMB(A2))-3):先用 RMB 函数将单元格格式转换为人民币金额形式,这样即便是整数,也会显示小数点后面二位数,有规律就便于取整

用 LEN 函数获取单元格内容的长度,减去 3,即可得出整数部分的长度

最后用 LEFT 函数根据上述长度取出整数

"[>0][dbnum2]G/通用格式元;;;":这部分参数是用来设置整数的显示格式

[>0]:当整数部分 >0 时适用

[DBNUM2]:将单元格的数字格式显示为大写中文

G/通用格式元:因为前面的公式中将数字格式改成了 RMB 格式,所以现在把它换回通用格式,数字后面显示“元”

;;;:单元格格式以分号分隔为四个部分,分别表示正数、负数、0、文本;其他 3 个部分留空表示只显示正数

上述格式参数就相当于在“设置单元格格式”中自定义类型

&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"):第二个 TEXT 函数定义小数部分的显示,用“&”将整数和小数连接起来

RIGHT(RMB(A2),2):取人民币金额格式的右边两位数,即小数点后面两位数,对应“角”和“分”

"[dbnum2]0角0分;;整":如果为正数,则显示大写中文显示“x角y分”,负数和 0 不显示,文本则显示“整”

本例中,我们不考虑负数金额的情况,所以最后还要设置一下 A 列中不允许输入负值。

2. 选中 A 列 --> 选择菜单栏的“数据”-->“数据验证”

3. 在弹出的对话框的“设置”选项卡中进行如下设置:

允许:选择“自定义”

公式:输入“=A1>=0”

4. 选择“出错警告”选项卡,在“标题”中输入所需的标题 --> 点击“确定”

5. 如果在 A 列中输入负数,就会弹出如下警告框,要求重新输入。

Excel学习世界

转发、在看也是爱!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191106A0LH5I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券