一對多查詢,你會嗎?
今天分享的技巧是來自小夥伴的諮詢,如下圖所示,如何將左側的表格轉換右表格式?
解決方法:
在F2單元格中輸入公式:
=IFERROR(INDEX($B$1:$B$11,SMALL(IF($A$1:$A$11=$E2,ROW($1:$11),4^8),COLUMN(A1))),""),然後按Ctrl+Shift+Enter組合鍵,最後向左向下拉動即可。
具體操作如下:
公式說明:
IF($A$1:$A$11=$E2,ROW($1:$11),4^8:表示判斷條件,出現的結果如下圖所示:
SMALL(IF($A$1:$A$11=$E2,ROW($1:$11),4^8),COLUMN(A1)):表示求第幾個最小值,所得到的結果如下圖所示:
INDEX($B$1:$B$11,SMALL(IF($A$1:$A$11=$E2,ROW($1:$11),4^8),COLUMN(A1))):表示在$A$1:$A$11區間獲取相應的行數。
IFERROR就是容錯處理。
具體公式用法:
INDEX函數
語法:=INDEX(區域,行數,列數)
比如在單元格中輸入公式=INDEX(A1:C11,7,2)就可以獲取查找“王曉光”在表格中的位置。
SMALL函數
語法:=SMALL(區域,第幾個最小值)
比如要查找成績列中倒二的分數,就可以輸入公式=SMALL(C2:C11,2)。
IF函數
語法:=IF(判斷條件,符合條件時返回的值,不符合條件時返回的值)
比如成績大於等於95的顯示“優秀”;否則為“良好”。
輸入公式= =IF(C2>=95,"優秀","良好")
ROW函數
語法:= ROW(參考),取行號
比如輸入公式= ROW(A1),並下拉填充即可獲取1,2,3……10的自然數。
COLUMN函數
語法:=COLUMN(參數),取列號
比如輸入公式= COLUMN (A1),並向左填充即可獲取1,2,3……10的自然數。
IFERROR函數
語法:=IFERROR(原公式,出錯需返回的值)
比如公式中若是出現了錯誤值,就顯示為“錯誤值”。
以上就是今天與大家分享的一對多查詢技巧,你學會了嗎?若有什麼問題,歡迎在下方留言。