Excel表格数字变大写公式?一招教你搞定 (NUMBERSTRING函数 & DOLLAR函数)
嘿,大家好!我是老王,一个和Excel打了十几年交道的老油条。说实话,Excel这玩意儿,用好了那是神兵利器,用不好…那就是个表格。今天咱不讲那些高大上的数据分析,就来聊聊一个看似简单,但真到用时抓耳挠腮的问题:怎么把Excel表格里的数字变成大写?
别笑!我敢打赌,肯定有不少朋友遇到过这个需求:财务报销单、合同金额、发票抬头… 太多场景需要把数字“壹贰叁肆”地显示出来,以防被人篡改。你要是还傻乎乎地一个个手动输入,那可就太out了!
以前我也干过这种“体力活”,直到有一天,我发现了Excel里的几个神奇公式,从此解放了双手,简直是打开了新世界的大门!
先来说说最常用的 NUMBERSTRING 函数。这哥们儿,简单粗暴,专门干这事儿。它的语法是:=NUMBERSTRING(数字, 类型)
。
这里的“数字”嘛,自然就是你要转换的单元格引用了。重点在于“类型”,它决定了转换成哪种大写形式:
- 类型 1: 转换成汉字大写,比如 123 变成 “一百二十三”
- 类型 2: 转换成财务大写,比如 123 变成 “壹佰贰拾叁”
- 类型 3: 转换成一般大写,比如 123 变成 “一二三”
是不是感觉豁然开朗?举个例子,如果你的数字在A1单元格,你想把它变成财务大写,那就在B1单元格输入:=NUMBERSTRING(A1,2)
,搞定!
但是,问题来了,NUMBERSTRING函数有个小小的缺陷:它只能转换整数,小数就歇菜了。这可不行,财务报销单经常有几角几分的,咋办?
这时候,就要请出另一位大神:DOLLAR 函数! 这家伙表面上看是用来转换成货币格式的,但实际上,它也带有一个隐藏技能:配合NUMBERSTRING函数,可以完美解决小数问题!
DOLLAR函数的语法是:=DOLLAR(数字, 小数位数)
。
它的作用是把数字格式化成货币形式,并可以指定保留的小数位数。关键在于,它可以把小数部分保留下来,然后我们再用NUMBERSTRING函数来转换!
具体怎么操作呢?咱们来个实战演练:
假设A1单元格的数字是 123.45,我们要把它转换成财务大写,带角分的那种,可以这样做:
- 首先,用DOLLAR函数把数字格式化成货币形式,并保留两位小数:
=DOLLAR(A1,2)
, 得到 “¥123.45″。 - 然后,用FIND函数找出小数点的位置:
=FIND(".",DOLLAR(A1,2))
, 假设结果是4。 - 接下来,用LEFT函数截取整数部分,并用NUMBERSTRING函数转换成大写:
=NUMBERSTRING(LEFT(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))-1),2)
,得到 “壹佰贰拾叁”。 - 再然后,用MID函数截取小数部分,并用NUMBERSTRING函数转换成大写(注意这里类型用3):
=NUMBERSTRING(MID(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))+1,1),3)&"角"&NUMBERSTRING(MID(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))+2,1),3)&"分"
,得到 “肆角伍分”。 - 最后,把整数部分和小数部分拼接起来,就大功告成了! 完整的公式是:
=NUMBERSTRING(LEFT(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))-1),2)&"元"&NUMBERSTRING(MID(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))+1,1),3)&"角"&NUMBERSTRING(MID(DOLLAR(A1,2),FIND(".",DOLLAR(A1,2))+2,1),3)&"分"
虽然这个公式看起来有点长,但一步一步拆解开来,是不是感觉也没那么可怕了? 复制粘贴到你的Excel表格里,根据实际情况修改一下单元格引用,就可以轻松实现数字转大写的功能啦!
当然,如果你觉得这个公式太复杂,也可以考虑使用VBA自定义函数,或者直接网上找一些现成的Excel插件,都能实现类似的功能。但我觉得,掌握了NUMBERSTRING和DOLLAR函数,你就掌握了最核心的技巧,以后遇到类似问题,都能灵活应对!
好了,今天就分享到这里。希望我的经验能帮到大家! 记住,Excel不是洪水猛兽,只要你愿意花点时间去学习、去探索,它就能成为你工作中的得力助手! 咱们下次再见!
发表回复