Board logo

標題: [發問] 找「出現次數最多」的函數 [打印本頁]

作者: rosebud    時間: 2014-10-28 16:16     標題: 找「出現次數最多」的函數

請教前輩們一個問題:
假設有一資料表,其內容為文字型態,例如N、E、W、S、NE、NW…等方位資料。
若要找出資料表中出現最多次的內容,excel是否有適合的函數呢?
(我google了一下,找到一個mode()函數,但該函數似乎只能處理數字型態的資料。)
謝謝 ^^
作者: ML089    時間: 2014-10-28 17:55

回復 1# rosebud


=INDEX(A:A,MODE(MATCH(A1:A99,A:A,)))
陣列公式,必須以CTRL+SHIFT+ENTER三鍵齊按方式輸入公式

A1:A99請依範圍修改
作者: rosebud    時間: 2014-10-29 09:29

回復  rosebud


=INDEX(A:A,MODE(MATCH(A1:A99,A:A,)))
陣列公式,必須以CTRL+SHIFT+ENTER三鍵齊按方 ...
ML089 發表於 2014-10-28 17:55


謝謝,可以用了 ^^
以下是我對版主大人提供的公式的理解,不曉得對不對
==============================================================
MATCH(A1:A99,A:A,)                                           -->會把A1:A99的內容轉成對應到A:A中的序號(數字)
MODE(MATCH(A1:A99,A:A,))                            -->找出出現次數最多的序號
INDEX(A:A,MODE(MATCH(A1:A99,A:A,)))      -->轉換為該序號對應之文字內容
===============================================================
只是我還有一個問題:
上述的公式可正常套用在一維陣列上,那二維的表格資料要怎樣處理呢?
例如有一資料以時間(24小時)為橫軸;日期(31天)為縱軸作表,
那要怎麼對它們排序、計算,進而對應出實際內容值?
(該資料表如附件所示)[attach]19424[/attach]
謝謝:)
作者: ML089    時間: 2014-10-29 11:01

回復 3# rosebud

問題一
MATCH 可以找到相同的名稱的第1個出現位置(列號)
MODE找出最多相同的位置(列號)
INDEX取的列號位置的資料

問題二
AB2 =INDIRECT(TEXT(MOD(MAX(COUNTIF(B2:Y32,B2:Y32)*10^6+ROW(2:32)*10^3+COLUMN(B:Y)),10^6),"!R0!C000"),)
陣列公式
作者: q1a2z5    時間: 2017-6-5 21:46

如果出現次數最多的內容有二個以上的話,那要如何設定函數呢?
3q
作者: ML089    時間: 2017-6-9 15:15

回復 5# q1a2z5
AB2 =INDIRECT(TEXT(MOD(MAX(COUNTIF(B2:Y32,B2:Y32)*10^6+ROW(2:32)*10^3+COLUMN(B:Y)),10^6),"!R0!C000"),)

有多個時

MAX()改為 LARGE(.... , ROW(A1)) ,每下拉一個就找出一個
IF(ROW(A1)>COUNT(0/(MAX(COUNTIF(B2:Y32,B2:Y32))=COUNTIF(B2:Y32,B2:Y32))), "",  ...) 控制有幾個

AB2 =IF(ROW(A1)>COUNT(0/(MAX(COUNTIF(B2:Y32,B2:Y32))=COUNTIF(B2:Y32,B2:Y32))), "",  INDIRECT(TEXT(MOD(LARGE(COUNTIF(B2:Y32,B2:Y32)*10^6+ROW(2:32)*10^3+COLUMN(B:Y)),row(A1)),10^6),"!R0!C000"),)
作者: hcm19522    時間: 2017-6-9 17:10

http://blog.xuite.net/hcm19522/twblog/511796229




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)