EXCEL按重复数多少排列,求公式

数字最多33个,最大是33,CY4:CY9中数字按重复数多少在DD3行开始重新排列且重复数大于1,请见图。求修改简化=IFERROR(SUBSTITUTE(TEXT(LARGE(IFERROR(--(TEXT(FREQUENCY(FILTERXML("<a><b>"&SUBSTITUTE(TRIM(SUBSTITUTE(PHONETIC($CY4:$CY9),","," "))," ","</b><b>")&"</b></a>","//b"),FILTERXML("<a><b>"&SUBSTITUTE(TRIM(SUBSTITUTE(PHONETIC($CY4:$CY9),","," "))," ","</b><b>")&"</b></a>","//b")),"[>0]0;")*100+FILTERXML("<a><b>"&SUBSTITUTE(TRIM(SUBSTITUTE(PHONETIC($CY4:$CY9),","," "))," ","</b><b>")&"</b></a>","//b")),""),COLUMN(A1)),"0个00"),"个0","个0"),"")

因为你一个单元格有33个数字,共有6个单元格,要一一找出并按出现次数多少排序,这本来就是一个很复杂的问题。提问中的公式已很不错了。现在给你提供一个公式,但也还有点些复杂的。:


CZ4=TEXT(MOD(LARGE(FREQUENCY(--TRIM(MID(TEXTJOIN(" ",,$CY4:$CY9),ROW(1:198)*3-2,3)),ROW(1:33))*1000+ROW(1:34)*(FREQUENCY(--TRIM(MID(TEXTJOIN(" ",,$CY4:$CY9),ROW(1:198)*3-2,3)),ROW(1:33))>0),COLUMN(A:A)),1000),"00;;;")

或

CZ4=TEXT(MOD(LARGE(FREQUENCY(--TRIM(MID(TEXTJOIN(" ",,$CY4:$CY9),ROW(1:198)*3-2,3)),ROW(1:33))*1000+ROW(1:34)*ISNUMBER(FIND(TEXT(ROW(1:34),"00"),TEXTJOIN(" ",,$CY4:$CY9))),COLUMN(A:A)),1000),"00;;;")

公式稍短几个字符。

两个公式中的

FREQUENCY(--TRIM(MID(TEXTJOIN(" ",,$CY4:$CY9),ROW(1:198)*3-2,3)),ROW(1:33))>0

或

ISNUMBER(FIND(TEXT(ROW(1:34),"00"),TEXTJOIN(" ",,$CY4:$CY9)))

是为了使没出现的数字不加上row(1:34),从而实现最终显示空白。

下拉到出现空白单元格

截图中第6行列出了各个数字出现的次数。

测试提问中的公式,得出的结果与本人的公式结果不一致。但按各数字出现的次数,本人提供的公式中总的个数为198个——SUM(C6:EF6),与数据个数一致。题主请自已测试下。公式是否满足要求。

追问

不知道为什么 我把公式复制过去显示为:
#NAME?

追答

Excel是什么版本?此外,回答中提供的公式是数组公式,输入或粘贴公式后,要同时按Ctrl+Shift+Enter三键输入数组公式。

温馨提示:答案为网友推荐,仅供参考