excel中如何让一个方格中的数字倒序排列?

例如:一个格子中的数字是12345,如何让它自动变为54321

第1个回答  2013-10-13

假设数据在A1,在B1输入公式:

=IF(COUNT(FIND(0,A1)),0,"")&SUBSTITUTE(SUM(LARGE(--(0&MID(A1,{1;2;3;4;5;6;7;8;9},1)),{1;2;3;4;5;6;7;8;9})*(10^(9-{1;2;3;4;5;6;7;8;9}))),0,)


或者用数组公式,但输入完成后不能直接回车,要按三键CTRL+SHIFT+回车结束。

=IF(COUNT(FIND(0,A1)),0,"")&SUBSTITUTE(SUM(LARGE(--(0&MID(A1,ROW($1:$9),1)),ROW($1:$9))*(10^(9-ROW($1:$9)))),0,)


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


追问

你好,我的那个数字有12位,用你的公式怎么不行啊?

追答

你好,把B1的公式改为这样就行了:

=IF(RIGHT(A1)="0",0,"")&SUMPRODUCT((0&MID(A1,ROW($1:$15),1))*(10^(ROW($1:$15)-1)))

本回答被提问者和网友采纳
第2个回答  2013-10-13
B1公式下拉

=IF(A1="","",IF(COUNT(FIND(0,A1)),0,"")&SUBSTITUTE(SUMPRODUCT(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*10^ROW(INDIRECT("1:"&LEN(A1)))),0,))
第3个回答  2013-10-13
=REPT(0,LEN(A1)-LEN(SUBSTITUTE(A1,0,)))&SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1)))))
第4个回答  2013-10-13
假设A1里是 12345
B1=SUMPRODUCT(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)*(10^(ROW(INDIRECT(1&":"&LEN(A1)))-1)))
相似回答