excel如何找出一组数字中重复最多的数字并按照顺序排列?高分求助!!!

如题,比如一个数值:12223833244883228397,按照重复最多的在前排列应该结果是:2384197,如果有重复次数相同情况,按照大小或先后出现排列都可以。。。请使用函数方案解决,谢谢啦!!!

12223833244883228397是放在一个单元格中,还是每个数字比如1、2、2、2等名放一个单元格。
如果在一个单元格中,假设是在A1中,B1或其它任意单元格中输入
=LEFT(SUM(RIGHT(LARGE((LEN(A1)-LEN(SUBSTITUTE(A1,ROW($1:$9),)))*10+ROW($1:$9),ROW($1:$9)))*10^(9-ROW($1:$9))),SUM(1-ISERR(FIND(ROW($1:$9),A1))))
同时按下CTRL+SHIFT+回车,输入数组公式,就成了。如果A2和下面还有类似的,可以将B1下拉。
如果每个数字各放一个单元格,应该更方便些。追问

我测试了一下,好像有0的话结果不对哦,明明0很多的情况,还是没有0在前面的,请大神帮忙调整下吧 谢谢啦!

追答

处理单元格内部的函数也是非常规的,往往采用一些变通的办法,尤其是处理这个0,所以看到你的例子没有0,就没有设进去,如果一定要考虑0,只能忍受公式大为变长了,改为
=REPLACE(LEFT(SUM(RIGHT(LARGE((LEN(A1)-LEN(SUBSTITUTE(A1,ROW($1:$9),)))*10+ROW($1:$9),ROW($1:$9)))*10^(9-ROW($1:$9))),SUM(1-ISERR(FIND(ROW($1:$9),A1)))),SUM(N((LEN(A1)-LEN(SUBSTITUTE(A1,0,)))*100+1<=(LEN(A1)-LEN(SUBSTITUTE(A1,ROW($1:$10)-1,)))*100+ROW($1:$10))),,IF(ISNUMBER(FIND(0,A1)),0,))
还是三键的数组公式,可下拉。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-28
VBA非常容易,公式非常之难。追问

但我必须要函数来解决的 谢谢。

第2个回答  2019-01-28
函数也是可以解决的,针对你的特殊需求,需要自定义一个函数,才能解决问题
Excel内置的现成函数不能实现。本回答被网友采纳
相似回答