返回列表 上一主題 發帖

[發問] 找「出現次數最多」的函數

[發問] 找「出現次數最多」的函數

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

回復 1# rosebud


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

A1:A99請依範圍修改
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復  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天)為縱軸作表,
那要怎麼對它們排序、計算,進而對應出實際內容值?
(該資料表如附件所示) test.zip (15.1 KB)
謝謝:)

TOP

回復 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"),)
陣列公式
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

如果出現次數最多的內容有二個以上的話,那要如何設定函數呢?
3q

TOP

回復 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"),)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

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

3272.png (18.81 KB)

3272.png

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題