EXCEL中如何将数字按位数拆分?

比如在某个单元格填写345.67,想让7个横向连续的单元格的数据自动填写成 (空)(空) 3 4 5 6 7.
有千位的时候第二个空就是千位的数字,这样的。

使用MID及COLUMN函数配合,综合处理


Excel版本参考:2010

测试数据在A1单元格

1、B1输入公式:=MID($A1,COLUMN(A1),1),查看

2、右拉公式到F1

3、查看效果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-22

亲,如下图,B1单元格的公式如下,右拉10列:

=IF(OR($A$6="",LEN(TEXT($A$6,"0.00"))-1+COLUMN(A1)<=7),"",--RIGHT(INT($A$6/10^(COLUMNS(B:$H)-3)),1))

本回答被网友采纳
第2个回答  2014-09-22
将345.67填在一个单元格A1里,让7个横向连续的单元格的数据自动填写成 (空)(空) 3 4 5 6 7.有千位的时候第二个空就是千位的数字:

假设:你将数字输入A1单元格里,那么:F6-L6的公式依次为:

F6=IF(ISERROR(RIGHT(LEFT(A1*100,(LENB(A1*100))-6),1)),"",RIGHT(LEFT(A1*100,(LENB(A1*100))-6),1))

G6=IF(ISERROR(RIGHT(LEFT(A1*100,(LENB(A1*100))-5),1)),"",RIGHT(LEFT(A1*100,(LENB(A1*100))-5),1))

H6=IF(ISERROR(RIGHT(LEFT(A1*100,(LENB(A1*100))-4),1)),"",RIGHT(LEFT(A1*100,(LENB(A1*100))-4),1))

I6=IF(ISERROR(RIGHT(LEFT(A1*100,(LENB(A1*100))-3),1)),"",RIGHT(LEFT(A1*100,(LENB(A1*100))-3),1))

J6=IF(ISERROR(RIGHT(LEFT(A1*100,(LENB(A1*100))-2),1)),"",RIGHT(LEFT(A1*100,(LENB(A1*100))-2),1))

K6=LEFT(RIGHT(A1*100,2),1)

L6=RIGHT(RIGHT(A1*100,2),1)
第3个回答  2014-09-22
=FLOOR(A1,10)/10(舍个位)
=FLOOR(A1,100)/10+MOD(A1,10)(舍十位)
=FLOOR(A1,1000)/10+MOD(A1,100)(舍百位)
=MOD(A1,1000)(舍千位)
五位以上继续加0就行了
第4个回答  推荐于2016-11-05

参照附件~

本回答被提问者采纳
相似回答