在昨天的文章中,小編介紹了一對多查詢的四個方法,沒想到讀者中卧虎藏龍,提出了很多新方法。今天我們乘勝追擊,再學習一對多查詢新方法,讓我們更上一層樓。
我們來看下源數據:
要求:查詢出美國的品名及銷量。
01 輔助列、index match函數法我們通過構造輔助列和index match函數,也能解決一對多查找問題。
1、在D2單元格輸入公式:=COUNTIF(A$2:A2,A2)&"-"&A2
右拉下拉填充公式,我們得到如上圖的結果。
公式解讀:
countif函數是統計出現次數的函數。
語法是:countif(條件區域,條件)
COUNTIF(A$2:A2,A2)統計A列中每個國家出現的次數,返回出現的次數,比如A2中,"美國"是第一次出現,返回1,然後和A2進行合并字符,最終返回:1-美國。
特别注意:COUNTIF(A$2:A2,A2)是混合引用,引用之後的公式變化如下:
同理,我們看下A11單元格,結果是4-美國,因為美國是第四次出現。
如此構造輔助列的目的是将國家出現的次數,進行編号,以便下一步統計。
2、在H5輸入公式:
=IFERROR(INDEX(A:A,MATCH(ROW(A1)&"-"&$F$2,$D:$D,0)),"")
右拉下拉填充公式,我們得到如下圖的結果。
公式解讀:
MATCH(ROW(A1)&"-"&$F$2,$D:$D,0)意思是通過行号和國家産生的合并字符,在D列輔助列進行精确查找,得出具體的位置。
INDEX(A:A,MATCH(ROW(A1)&"-"&$F$2,$D:$D,0))是通過index、match函數返回源數據中的國家、品名、銷量。因為這邊是從左到右,因此不用match函數進行匹配。
最後我們在函數外圍套一個iferror函數,也就是容錯函數。當查找不到時候,返回空值,以防函數出錯。
02 Power Query法PQ法,在此做個介紹,如果是大數據用PQ是最好的,我們現在是小數據,通過PQ你也能拓展思路。我們來看下PQ怎麼做‘。
1、新建一個表格,将源數據表放在一個表,将查找條件也建一個表。
如下:
2、将以上兩個表都轉為超級表。
選中數據,按快捷鍵:ctrl、T,将其轉為超級表。
3、單擊選項欄:數據——自表格,打開PQ編輯界面,新建源——導入查找條件的表。
4、合并查詢
單擊主頁選項欄——合并查詢,選擇兩個表進行關聯,連接種類選擇:左外部(第一個中的所有行,第二個中的匹配行)
通過合并查詢,最終查得一對多數據。
pq優勢在于如果數據發生變更,刷新就能得到新數據。不必重做一遍。
你學會了嗎?趕緊練習一下吧。
喜歡就關注我吧,每天分享職場知識,辦公技巧!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!