返回列表 上一主題 發帖

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

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

各位大大
小弟有一個問題想請教,如下圖A-E欄內對應每一個Row當作一個群組,比對這一個群組內數值最大者,然後於F欄秀出,對應的標頭欄位名稱,這個想了很久,還是找不出一個比較好的方法,特別來請教各位耶輩,還望幫忙,感謝您。
2019-03-18_191605.png
2019-3-18 19:16

尋找最大值.zip (6.16 KB)
clio

=LOOKUP(,0/(MAX(A2:E2)=A2:E2),A$1:E$1)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 1# clio

=INDEX($A$1:$E$1,MATCH(MAX(A2:E2),A2:E2,))

TOP

回復 2# ML089

感謝ML089大大…這個就是我要的解答…萬分感謝您
clio

TOP

回復 2# ML089

Hi ML089
小弟我想再請問一下用Lookup是找到最後一個符合的位置,那我試著用Index 想找到第一筆,但是我的式子是INDEX(A$1:E$1,,MATCH(,0/(A2:E2=MAX(A2:E2)),)),我點涵數進去看有看到結果,但是實際上的呈現確是#VALUE!,能否為小弟我解惑一下呢?感謝您。
clio

TOP

回復 3# p212

感謝p212大大
妳的方法也是可行的,太棒了,這個方法,可以找到第一筆符合的資料,太感謝您了,小弟也有用這個方法寫,但是跑出來有問題,『INDEX(A$1:E$1,,MATCH(,0/(A2:E2=MAX(A2:E2)),))』不知道p212是否知道小弟錯誤的地方,可否予以指正呢?感謝您
clio

TOP

回復 5# clio

=INDEX(A$1:E$1,,MATCH(,0/(A2:E2=MAX(A2:E2)),))
你的公式沒有錯誤,但需要用陣列公式輸入才能運行

陣列公式輸入步驟
選擇儲存格 - 將公式鍵入(或貼上)工具列編輯欄 - 注意!游標仍需停留於編輯欄 - 先按CTRL及SHIFT不放 - 再按ENTER三鍵方式輸入公式,成功的話原先公式外會有 {....} 大跨弧

若只有單列或單欄,公式可以改為下列方式。(很微小差異)
=INDEX(A$1:E$1,MATCH(,0/(A2:E2=MAX(A2:E2)),))

註:VLOOKUP、MATCH、LOOKUP都能忽略計算錯誤組數,利用這些特性公式設計時故意讓不要的產生 "計算錯誤",就能快速找到我們要的值。
例如:0/(A2:E2=MAX(A2:E2)) 為何要去除0,0/TRUE = 0;0/FALSE = #DIV/0! (錯誤值),
{#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,0} 第一組陣列只有一個0 其它為#DIV/0!,MATCH用0去找就很明確找到最後一個。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 7# ML089

感謝ML089大大的回覆…太感謝您了
clio

TOP

回復 7# ML089

感謝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再解說一下,感謝您。
clio

TOP

回復 7# ML089

Hi ML089
不好意思,由於我研究一下又發現一些問題,再麻煩您幫我解答一下,感謝您。
一、由【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呢?
clio

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題