EXCEL查表查詢不同欄且不同列的值
2026 |
EXCEL查表查詢不同欄且不同列的值 |
||||
實用性 |
●○○ |
難易度 |
●○○○ |
範本檔 |
2026.XLSX |
鳯書:「錦子老師,最近在做進銷存管理出現了如圖上J欄至L欄的問題(我使用的是Excel 2007版),假設現在J欄與K欄已經建立資料驗證的清單,我希望在L欄查表,利用J欄的值回查左側表格符合哪個項目,再利用K欄回查屬於J欄廠商的品項,範例如圖上的L欄(那是打上去的)。
錦子老師:「鳯書,這真的有點難題,必須要使用到MATCH、INDIRECT、INDEX及ROW四個函數混合應用即可。」
點取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(字串,顯示模式0為A1、1為R1C1)
MATCH(搜尋值,搜尋範圍)
INDEX(資料範圍,列位置,欄位置)
1 INDIRECT("D"&2+((ROW()-3)*3)&":"&"H"&2+((ROW()-3)*3)),0)) 傳回目前所在儲存格列號減3後再乘3並加上2的D欄到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並加上4的D欄到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傳回的欄值所在儲存格內容。