excel 函數

2009-02-07 10:29 pm
D E F
地區 數量 排名
台北 50 6
東京 25 7
紐約 200 3
倫敦 300 2
巴黎 400 1
北京 100 5
新加坡 150 4
非洲 400 1


我用index & match 的函數尋找出排名第一的是巴黎,
但這裏巴黎及非洲都是排第一,想尋找出這兩個地
可怎樣做?

我的公式是=INDEX(D2:D9,MATCH(F6,F2:F9,0))
但只尋找出一個答案「巴黎」,我想尋找埋非洲
可怎樣做?
更新1:

如果我要找出由第 1 至第 6 的地方,用一條式可以嗎? 新田美香 你給我的答案實在太勁啦,可否再勁啲,我想找出由第 1 至 第 6 的地方,若用你的方程式,可找到相同的第 1 出來,若不是則儲存 格會出現空白,現在想找出第 1 至第 6 的排名地方,可怎樣做?請賜 教、謝謝! 在這先謝謝「新田美香」網友的教路。

回答 (2)

2009-02-08 9:56 pm
✔ 最佳答案
此題要用陣列公式,
處理此題時, 最好先放下一些完全無法解決此題的函數, 如 MATCH, VLOOKUP等, 另想其他函數及方法, 否則費時及無法成功。
任何一格(假設在G2)輸入陣列公式:
=INDEX(D:D,SMALL(IF(F$2:F$9=1,ROW($2:$9)),ROW(A1)))
輸入公式後, 要按Ctrl + Shift + Enter 三鍵輸入
再將G2下拖, 便可拖出 巴黎、非洲..., 有多少個1, 便拖倒多少個符合條件的地區。
如共拖5格, 但只有兩個排名第一, 頭兩格會成功顯示巴黎及非洲,
後3格會出錯誤值的, 如防錯誤值, 即將錯誤值轉成空白格, 公式便要加長如下
=IF(ROW(D1)>COUNTIF(F$2:F$9,1),"",INDEX(D:D,SMALL(IF(F$2:F$9=1,ROW($2:$9)),ROW(A1))))

=INDEX(D:D,SMALL(IF(F$2:F$9=1,ROW($2:$9),65536),ROW(A1)))&""



2009-02-10 09:27:03 補充:
G2輸入陣列公式:
=IF(ROW(A1)>COUNT($F$2:$F$99),"",INDEX(D:D,--RIGHT(SMALL(IF($F$2:$F$99,$F$2:$F$99*100+ROW($2:$99)),ROW(A1)),2)))
將G2右拉至I2, 再將G2:I2向下拉

2009-02-10 09:32:18 補充:
如D,E,F欄的數據不斷向下新增, G,H,I欄的結果亦會自動更新, 請試看是否合乎要求。
2009-02-08 4:09 am
for both "index" and "match" functions, the data has to be sorted, either in ascending order or decending order.

It is impossible to have a single formulae to find out both answer (i.e. Paris & Africa).

If your purpose is just to identify who the number one are, you can try to use "conditional formatting" function, under the "Format" menu.


收錄日期: 2021-04-23 18:18:16
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090207000051KK01037

檢視 Wayback Machine 備份