close

2026

EXCEL查表查詢不同欄且不同列的值

實用性

●○○

難易度

●○○○

範本檔

2026.XLSX

鳯書:「錦子老師,最近在做進銷存管理出現了如圖上J欄至L欄的問題(我使用的是Excel 2007),假設現在J欄與K欄已經建立資料驗證的清單,我希望在L欄查表,利用J欄的值回查左側表格符合哪個項目,再利用K欄回查屬於J欄廠商的品項,範例如圖上的L(那是打上去的)

錦子老師:「鳯書,這真的有點難題,必須要使用到MATCHINDIRECTINDEXROW四個函數混合應用即可。」

點取C4儲存格輸入公式「=INDEX(INDIRECT("D"&4+((ROW()-3)*3)&":"&"H"&4+((ROW()-3)*3)),MATCH($K4,INDIRECT("D"&2+((ROW()-3)*3)&":"&"H"&2+((ROW()-3)*3)),0))」後,按Enter鍵完成輸入,並複製到L5:L6儲存格(視資料多寡自行調整)

【公式說明】

INDIRECT(字串,顯示模式0A11R1C1)

MATCH(搜尋值,搜尋範圍)

INDEX(資料範圍,列位置,欄位置)

1 INDIRECT("D"&2+((ROW()-3)*3)&":"&"H"&2+((ROW()-3)*3)),0)) 傳回目前所在儲存格列號減3後再乘3並加上2D欄到H欄儲存格位置。

2 MATCH($K4,INDIRECT("D"&2+((ROW()-3)*3)&":"&"H"&2+((ROW()-3)*3)),0) 傳回K4儲存格內容在1傳回的儲存格範圍的第幾欄。

3 INDIRECT("D"&4+((ROW()-3)*3)&":"&"H"&4+((ROW()-3)*3)) 傳回目前所在儲存格列號減3後再乘3並加上4D欄到H欄儲存格位置。

4 Index(Indirect("D"&4+((Row()-3)*3)&":"&"H"&4+((Row()-3)*3)),Match($K4,Indirect("D" &2+((Row()-3)*3)&":"&"H"&2+((Row()-3)*3)),0)) 傳回在3傳回的儲存格範圍,2傳回的欄值所在儲存格內容。


arrow
arrow

    錦子老師 發表在 痞客邦 留言(0) 人氣()