Excel如何从右提取、分割数据?

Excel如何从右提取、分割数据?如何将A列的数4500,310,31.5,54.12,这样有小数或无小数的数,按万、千、百、十、个位、小数位,对齐提取出来,一个数放一个单元格

第一步,我把表格稍微修改了一下,最后那个修改的原因是加入当数值超过万位的判断

第二步,在B2-H2单元格依次输入公式:

万位识别:

=IF(ISERROR(FIND(".",A2)),IF(LEN(A2)>=5,MID(RIGHT(A2,5),1,1),""),IF((FIND(".",A2)-1)>=5,MID(RIGHT(A2,5+LEN(A2)-FIND(".",A2)+1),1,1),""))

千位识别:

=IF(ISERROR(FIND(".",A2)),IF(LEN(A2)>=4,MID(RIGHT(A2,4),1,1),""),IF((FIND(".",A2)-1)>=4,MID(RIGHT(A2,4+LEN(A2)-FIND(".",A2)+1),1,1),""))

百位识别:

=IF(ISERROR(FIND(".",A2)),IF(LEN(A2)>=3,MID(RIGHT(A2,3),1,1),""),IF((FIND(".",A2)-1)>=3,MID(RIGHT(A2,3+LEN(A2)-FIND(".",A2)+1),1,1),""))

十位识别:

=IF(ISERROR(FIND(".",A2)),IF(LEN(A2)>=2,MID(RIGHT(A2,2),1,1),""),IF((FIND(".",A2)-1)>=2,MID(RIGHT(A2,2+LEN(A2)-FIND(".",A2)+1),1,1),""))

个位识别:

=IF(ISERROR(FIND(".",A2)),IF(LEN(A2)>=1,MID(RIGHT(A2,1),1,1),""),IF((FIND(".",A2)-1)>=1,MID(RIGHT(A2,1+LEN(A2)-FIND(".",A2)+1),1,1),""))

小数1位识别:

=IF(ISERROR(FIND(".",A2)),"",IF((FIND(".",A2)-1)>=1,MID(A2,FIND(".",A2)+1,1)))

小数2位识别:

=IF(ISERROR(FIND(".",A2)),"",IF((FIND(".",A2)-1)>=1,MID(A2,FIND(".",A2)+2,1)))

第三步:把公式下拉后得到结果。

不管数值大小和小数位有多少,都能正常识别

追问

真是太感谢啦,不过上面那位大神的答案要简单些

追答

嗯 不客气,我只是为了凑字数拿奖励,哈哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-30

B1输入

=LEFT(RIGHT(" "&$A1*100,9-COLUMN(A:A)))

回车并向右填充。

追问

真是太感谢了!!!
你这个简单一些,不过我又照样子改了一下,不知道对不对
=LEFT(RIGHT(" "&$AK1*100,11-COLUMN(A:A)))

追答

我按你的抓图,给你设计到十万。
你要设计到千万,把公式里面的9改为11就对了。

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