EXCEL表格中指定区域内的指定文字个数安公式统计完后怎样才能自动安高低排列?

如下图,在A列”A“下面会出现数字1,2,3......10这10个数字,用什么公式可以自动算出”A“下面出现的数字1,2,3......10每个数字总出现几次,并且安照出现的次数的多少从多到少自动排列,碰到出现次数一样多的数字时候,以后面出的数字大为准,例如A列”A“下面”3“和”10“都 一共出现了3次,但最后一个”10“出在”3“的下面,所安从出现的次数从多到少排列”10“就应该 排在”3“的前面,请大师指点

次数相同时最后出现的数字先 出来的方法尚未找到方法,先给出数字个数按出现次数多少排列的公式,如图:

G2=MATCH(LARGE(COUNTIF(A$2:A$30,ROW($1:$10))*100+ROW($1:$10),ROW(1:1)),COUNTIF(A$2:A$30,ROW($1:$10))*100+ROW($1:$10),)

同时按Ctrl+Shift+Enter三键输入数组公式,下拉到G11。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-13
放结果的起始位置=INDEX(A:A,MOD(LARGE(IF(MATCH(A$2:A$30,A:A,0)=ROW($2:$30),COUNTIF(A$2:A$30,A$2:A$30)*100+ROW($2:$30)),ROW(A1)),100)),数组公式,同时按ctrl+shift+回车三键结束下拉追问

你好,依照你的公式我试了下,就差最后一个问题没有解决了,就是出现次数相同的数字时后出的应该排在前面这一问题,如下图,这一区域同为'A”下出现次数相同的4个数,都为3次,如果依照后出现次数相同的情况下,最后出现的排在前面就应该从上往下依次10.1.3.9排列,另外几列黄色标示的也为同样的问题,另还有三处读不出数,解决这两问题就完美了。

追答

起始位置=IF(ROW(A1)>SUM(IF(A$2:A$30"",1/COUNTIF(A$2:A$30,A$2:A$30))),"",INDEX(A:A,MOD(LARGE(IF(COUNTIF(OFFSET(A$1,ROW($2:$30)-1,,200),A$2:A$30)=1,COUNTIF(A:A,A$2:A$30)*1000+ROW($2:$30)),ROW(A1)),1000)))

追问

你好,你后面这公式我试了下确实改善之前那个排序的问题,如果我现在需要统 计"A""B""C"...."J"共10列,每列60行数字,如果用你上面的公式需要改哪几个参数?

追答

得另做公式了,k2=MODE(A2:J60)
然后k3=INDEX(A:J,INT(MOD(MAX(IF(COUNTIF(K$1:K2,A$2:J$60)=0,IF(COUNTIF(A$2:J$60,A$2:J$60)<=COUNTIF(A$2:J$60,K2),COUNTIF(A$2:J$60,A$2:J$60)*10000+ROW(A$2:J$60)*100+COLUMN(A$2:J$60)))),10000)/100),MOD(MOD(MAX(IF(COUNTIF(K$1:K2,A$2:J$60)=0,IF(COUNTIF(A$2:J$60,A$2:J$60)<=COUNTIF(A$2:J$60,K2),COUNTIF(A$2:J$60,A$2:J$60)*10000+ROW(A$2:J$60)*100+COLUMN(A$2:J$60)))),10000),100))数组公式,同时按ctrl+shift+回车三键结束,下拉至k11

第2个回答  2019-02-14
G2或右边任意空格中输入
=IF(ROW(1:1)>SUM(N(COUNTIF(A$2:A$30,ROW($1:$10))>0)),"",--RIGHT(LARGE(COUNTIF(A$2:A$30,ROW($1:$10))*100+ROW($1:$10),ROW(1:1)),2))
同时按下CTRL+SHIFT+回车,输入数组公式,下拉,右拉。追问

你好,依你的公式就差最后一步排序需要改进下就好了,如下图,B列下数字“6”和“3”出现都是3次,以最后一次出的数的位置为准,“3”出现“6”的后面,所以依照出现次数从多到少由下往下排,“3”应该排在“6”的上面,其它列标黄色的也都是此问题,请您再改进下这个问题就完美了,谢谢

追答

开始没有看仔细,后出来的占先这个条件没有看明白,不过如果加上这个条件,公式会有点长,改为
=IF(ROW(1:1)>SUM(N(COUNTIF(A$2:A$30,ROW($1:$10))>0)),"",--RIGHT(LARGE(COUNTIF(A$2:A$30,ROW($1:$10))*10000+100*IFERROR(30-MATCH(ROW($1:$10),N(OFFSET(A$30,,,-ROW($1:$29))),),)+ROW($1:$10),ROW(1:1)),2))
同时是三键,下拉,右拉。
不过IFERROR这个函数在07以后版本才有,如果是03版本,公式不能生效。

追问

你好,你后面这公式我试了下确实改善之前那个排序的问题,如果我现在需要统 计"A""B""C"...."J"共10列,每列60行数字,如果用你上面的公式需要改哪几个参数?

追答

那60行,比如A列,具体在哪六十个单元格,地址为什么。

追问

“A"列的第2行到61行这60行,同样向右扩10列

追答

改为
=IF(ROW(1:1)>SUM(N(COUNTIF(A$2:A$61,ROW($1:$10))>0)),"",--RIGHT(LARGE(COUNTIF(A$2:A$61,ROW($1:$10))*10000+100*IFERROR(61-MATCH(ROW($1:$10),N(OFFSET(A$61,,,-ROW($1:$60))),),)+ROW($1:$10),ROW(1:1)),2))
即可。

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