将数值分开到单个单元格并转换为大写的方法
在A列输入小写金额,将其数字逐个分配到C至M列对应的单元格中,并在前面加上金额开始符“¥”,B2单元格公式如下:
=IF(COLUMN()<14-LEN($A$2*1000),"",IF(COLUMN()=14-LEN($A$2*1000),"¥",TEXT(1*LEFT(RIGHT(" "&$A2*100,14-COLUMN())),"[DBNum2]")))
将公式向右复制即可。
附图:
公式说明:
COLUMN()为列标函数,LEN()为字符串长度函数,为什么要乘1000呢,因为要去掉小数点使分成为整数就必须乘以100,还要加上一个"¥"字符的长度,所以乘以1000,实际上用乘100,再将14减去1也可以(13-LEN($A$2*100)),这样就可根据数值的长度求得"¥"字符的位置,RIGHT为取字符串右边几个字符,LEFT为取字符串左边几个字符,因先将数值乘以100并在前面连接了一个空格,所以当列标小于某个数值时,取右再取左得到的就是一个空格,而在某列以后得到为字符格式的数字,所以要乘1转化为数值格式。最后用TEXT函数将其转化为大写数字输出。
因有前面两个条件的限制,实际上公式还可以简化为如下形式:
=IF(COLUMN()<13-LEN($A$2*100),"",IF(COLUMN()=13-LEN($A$2*100),"¥",TEXT(1*LEFT(RIGHT($A2*100,14-COLUMN())),"[DBNum2]")))
联系客服