首页 - 娱乐 > 取整数的函数公式(excel怎么把元换成万元保留整数)

取整数的函数公式(excel怎么把元换成万元保留整数)

发布于:2024-06-08 14:52:02 来源:互联网

利用一个隐秘函数NUMBERSTRING稍加改造可以实现,这个函数连公式选项卡、帮助文件、公式记忆式键入里都没有。

格式为:NUMBERSTRING(单元格,参数),参数只有1或者2或者3

第一个参数为对象,第二个参数为中文格式,总共只有3种格式,可将数字转换为大写:

这里我们需要第二种,即NUMBERSTRING(单元格,2),在单元格内输入以下公式:

=IF(ISERROR(FIND(".",ROUND(单元格,2)))=TRUE,NUMBERSTRING(单元格,2)&"元",IF(LEN(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,LEN(ROUND(单元格,2))))=2,NUMBERSTRING(LEFT(ROUND(单元格,2),FIND(".",ROUND(单元格,2))-1),2)&"元"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,1),2)&"角"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+2,1),2)&"分",NUMBERSTRING(LEFT(ROUND(单元格,2),FIND(".",ROUND(单元格,2))-1),2)&"元"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,1),2)&"角"))

可实现以下效果:

这个公式看起来很复杂,主要因为保留1位小数还是2位小数的问题,逻辑上其实可分为以下3块:

具体解释:因为正常情况下,金融数字只统计到分,所以我们先用ROUND(单元格,2)保留小数点后2位做四舍五入,然后:

当四舍五入后保留小数后2位后,对象仍是正整数的时候,我用了

ISERROR(FIND(".",ROUND(单元格,2)))=TRUE来判断是否为正整数

(该公式不支持负数,如果需要负数转换,就再嵌套两层IF就可以),是整数直接用NUMBERSTRING将对象转换为大写数字,后面用“&”符号连接一个“元”字;

当四舍五入后保留小数后2位后,小数点后面正好是2位,就需要用到FIND函数分别去定位“.”小数点的位置,然后用LEFT函数取小数点左边的数字用NUMBERSTRING转换为大写,连接一个“元”,再用MID函数分别取小数点右边的第一和第二位数字,分别连接“角”和“分”;

而当四舍五入后保留小数后2位后,小数点后面正好是1位(这是最后一种情况,什么意思呢?因为EXCEL里面使用ROUND函数取小数点后面的固定位数,如果四舍五入为0了,就不显示了,例如:ROUND(32.199,2),结果显示为32.2,而不是32.20,所以我们才用IF公式去判断小数点后面的是1位还是2位),这种情况下同2,不取“分”即可。

可以将这个公式复制在文档笔记里,需要的时候直接食用:

=IF(ISERROR(FIND(".",ROUND(单元格,2)))=TRUE,NUMBERSTRING(单元格,2)&"元",IF(LEN(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,LEN(ROUND(单元格,2))))=2,NUMBERSTRING(LEFT(ROUND(单元格,2),FIND(".",ROUND(单元格,2))-1),2)&"元"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,1),2)&"角"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+2,1),2)&"分",NUMBERSTRING(LEFT(ROUND(单元格,2),FIND(".",ROUND(单元格,2))-1),2)&"元"&NUMBERSTRING(MID(ROUND(单元格,2),FIND(".",ROUND(单元格,2))+1,1),2)&"角"))

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。

相关文章