如何對多個範圍進行 VLOOKUP 或 INDEX/MATCH?

如何對多個範圍進行 VLOOKUP 或 INDEX/MATCH?

我一直在試圖找出一種方法來填寫評分欄(下圖),而無需陷入冗長的公式。我嘗試過VLOOKUP“索引/匹配”,但已經走進了死胡同。

在正常情況下,VLOOKUPtable_array 最多只有 2 列,即基於我的範例的 G2:J3。但我想根據年份(G3:G5)選擇table_array,有沒有辦法做到這一點?

任何幫助表示讚賞!

Excel 截圖

答案1

試試這個公式:

=IF(OR(D3>VLOOKUP(B3,G:J,2,FALSE),D3=VLOOKUP(B3,G:J,2,FALSE)),$H$2,IF(AND(D3<VLOOKUP(B3,G:J,2,FALSE),OR(D3>VLOOKUP(B3,G:J,3,FALSE),D3=VLOOKUP(B3,G:J,3,FALSE))),$I$2,$J$2))

在此輸入影像描述

答案2

您的定義可能沒有經過深思熟慮。您的範圍似乎是最低截止值(分數必須 >= 才有資格獲得該評級)。然而,有些分數低於“差”,但沒有評級名稱。如果每個評級的截止值是最大值,則沒有比「良好」截止值更好的評級。如果截止值是混合的(高代表差,低代表好),這將定義平均值,那麼如何使用平均截止值?

這是一種解決方案的方法,如果您重新定義範圍,您可以修改方法。它基於每個評級的最小值。這要求評級表按升序排列。它具有可擴展性,只需調整查找表的範圍即可;它不需要每年單獨的查找公式:

在此輸入影像描述

未由您的評級截止值定義的值會回傳錯誤;目前尚不清楚您希望如何補救。 E3中的公式:

=INDEX($H$2:$J$2,,MATCH(D3,INDIRECT("$H$"&MATCH(B3,$G$1:$G$5,0)&":$J$"&MATCH(B3,$G$1:$G$5,0))))

INDEX 根據 MATCH 結果傳回評級名稱。 MATCH 將分數與評級截止值進行比較。

它透過匹配年份來決定要使用查找表的哪一行。間接從該結果建立正確的查找範圍。

相關內容