返回列表 上一主題 發帖

尋找欄位區間最大值的對應欄位名稱

回復 10# clio
一、由【LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1)】與【INDEX($A$1:$E$1,MATCH(MAX(A2:E2),A2:E2,))】,讓我想到把Match代入Lookup內,所以我寫了【LOOKUP(MAX(A2:E2),A2:E2,A$1:E$1)】,但是這個出來的結果不一定都是正確的,我又細讀了一下參數要求,發現array需要是遞增排序的,所以我無法用Lookup搭配Match的方法來取得,正確的答案,只能用【LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1)】 的方法對嗎?

獲得答案的方法很多種思路


二、我也在網路上看到一個有關於Lookup的說明是【LOOKUP(1,0/(MAX(A2:E2)=A2:E2),A$1:E$1)】,第一個參數1或是大於0的任何數字,是查到最後一個符合的資料,要是為0則是查到符合的資料,但是不一定是最後一個符合的,這樣說法是正確的嗎?那在公式中【LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1)】,沒有輸入指定值,是指大於0,還是0呢?


    LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1) 適用於陣列裡只有1個0情況,若陣列理有多個0時使用 LOOKUP(9,0/(MAX(A2:E2)=A2:E2),A$1:E$1) 找到最後一個0
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 9# clio


    感謝ML089的解說,我可以再請教一個問題嗎?
我要怎麼判斷何時要用陣列的公式輸入呢?因為像【LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1)】這個好像就不用,而【INDEX(A$1:E$1,MATCH(,0/(A2:E2=MAX(A2:E2)),))】這個就需要,我大約知道【0/(A2:E2=MAX(A2:E2)】這個就是陣列的運用,是以這個在公式內的第一層或是第二層來作判斷嗎?
還要麻煩ML089再解說一下,感謝您。

大部分需要陣列處理的公式需要陣列公式輸入,
陣列處理中有  IF、IFERROR 一定要使用陣列公式輸入
除 LOOKUP、MMULT、SUMPRODUCT 可以處理陣列外,其它公式大部分需要陣列公式

剛開始需要試試看一般公式輸入及陣列公式輸入兩種,久了就可以判斷,有時我也需要試一下才能確定
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 12# ML089

感謝ML089大大的詳細解說,我再多研究看看,這個還是需要累績經驗值的…感謝您。
clio

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題