我想知道我是否可以在Excel中使用宏来根据字符数将单个列中的数据分成不同的列。例如,我在A列中的内容是
A
AB
ABC
1A
564
8
我需要的是,在字母A,B和C
中AB ABC
8 1A 564
感谢。
答案 0 :(得分:-1)
在A列旁边的新列B中使用以下公式:
=IFERROR(INDEX($A$1:$A$6,SMALL(IF(LEN($A$1:$A$6)=1,ROW($A$1:$A$6),99999),ROW()),1),"")
数组公式按 Ctrl + Shift + 同时输入
然后将其向下拖动,它将写出长度为1的B值,当它为空时,它表示不再有长度为1的值
小将找到长度为1的Cell(Row()= 1,长度= 1的第1个单元格,Row()= 2,长度= 1的第2个单元格...)
如果将返回相应条件的所有行
索引将返回单元格
如果没有更多匹配,则Iferror返回空“”
对于第二列,在LEN中写入2而不是1($ A $ 1:$ A $ 6)= 2
=IFERROR(INDEX($A$1:$A$6,SMALL(IF(LEN($A$1:$A$6)=2,ROW($A$1:$A$6),99999),ROW()),1),"")
对于第三列,在LEN中写入3($ A $ 1:$ A $ 6)= 3
=IFERROR(INDEX($A$1:$A$6,SMALL(IF(LEN($A$1:$A$6)=3,ROW($A$1:$A$6),99999),ROW()),1),"")