Excel-利用SUMPRODUCT、INDEX在多個欄位的資料表中進行查表

在下圖中是一個由多個2欄一組(代碼、班級)所組成的資料表,如何查詢班級的代碼?

如果你要使用 VLOOKUP 函數來查表時,要查詢的內容必存在於第一欄中,但此例是內容分散在多個欄位中,所以不適合使用 VLOOKUP 函數。

改用 INDEX 函數來試試。

Excel-利用SUMPRODUCT、INDEX在多個欄位的資料表中進行查表

【公式設計與解析】

儲存格K3:=INDEX($A$3:$G$26,SUMPRODUCT(($B$3:$H$26=J3)*ROW($B$3:
$H$26))-2,SUMPRODUCT(($B$3:$H$26=J3)*COLUMN($B$3:$H$26))-1)

複製儲存格K3,貼至儲存格K3:K26。

(1) 第1式:=SUMPRODUCT(($B$3:$H$26=J3)*ROW($B$3:$H$26))

藉以找出儲存格J3的內容位於基本資料表的那一列。

ROW($B$3:$H$26) 可以傳回儲存格範圍裡每個儲存格的列編號。

(2) 第2式:=SUMPRODUCT(($B$3:$H$26=J3)*COLUMN($B$3:$H$26))

藉以找出儲存格J3的內容位於基本資料表的那一欄。

COLUMN($B$3:$H$26) 可以傳回儲存格範圍裡每個儲存格的欄編號。

(3) 儲存格K3:=INDEX($A$3:$G$26,第1式-2,第2式-1)

藉由第1式和第2式的傳回值,代入 INDEX 函數中的列和欄參數,即可傳回對應的儲存格內容。

而公式中的「-2、-1」乃是在做微調。因為基本資料表是由第3列才開始,而代碼的欄編號永遠小於班級的欄編號「1」。

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel SUMPRODUCT INDEX
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()