在工作過程中,我們經常要進行表與表之間的快速核對和匹配,查找函數一般都是各位小伙伴的第一選擇,常用的有VLOOKUP,LOOKUP還有經典的INDEX+SMALL+if組合等等。不過這些函數都有很多限制。VLOOKUP只能支持單條件查找,LOOKUP只能找到匹配的第一列,而INDEX+SMALL+IF組合又太難掌握。現在不用擔心啦,今天給大家介紹使用Power Query來一次性實現各種要求的多表查找和匹配。
之前給大家介紹過Power Query,目前是只有excel2016可以直接使用, EXCEL2010和2013必須安裝插件才能使用,其他版本則不能使用。EXCEL2016里,Power Query所有使用功能都鑲嵌在“數據”選項卡下【獲取和轉換】組。
案例如圖,工作簿里有兩個工作表,分別是銷售組和銷售額,現在要根據大區和小組把“銷售額”這個表里的訂單數和訂單金額匹配到“銷售組”這個表里。
就是典型的多條件查詢,查找符合多個條件的數據并返回多列數據。
由于兩個表里的大區和小組都不能作為查找的唯一值,所以需要根據兩項進行查找匹配,并且要把訂單數和訂單金額兩列匹配過來。這個使用函數實現的話就太燒腦了,如何操作呢?步驟如下:
1.點擊數據選項卡下,新建查詢—從文件—從工作簿。
2.在“導入數據”窗口找到該工作簿點擊導入。
3.在“導航器”窗口單擊“選擇多項”,然后選擇兩個工作表,點擊“編輯”。
進入Power Query編輯器之后,在左側查詢窗口能看到導入的兩個工作表查詢。
4.由于導入的表格將column作為新標題,為了方便以后的操作,我們先把兩個查詢的第一行作為標題。點擊兩個查詢,分別點擊開始選項卡下的“將第一行用作標題”。
完成如下:
5.接下來進行兩個表格的合并查詢。選擇要填寫內容的表“銷售組”,點擊開始選項卡下,“合并查詢”下拉菜單的“將查詢合并為新查詢”。
6.在“合并窗口”,第一個表是要填寫匹配內容的表“銷售組”,第二個在下拉窗口選擇包含匹配信息的表“銷售額”。首先把兩個表的“大區”這一列選中,這兩列就變成綠色。這就代表著兩個表通過“大區”這列進行匹配數據。
然后按住Ctrl鍵,再次選中兩個表的“小組”這一列。這時候,兩個表列標簽出現了“1”和“2”。其中1列匹配1列,2列匹配2列。點擊確定。
注意:下方的聯接種類有六種,我們選用第一種“左外部”,即第一個表里的值是不重復值,根據選中的列來把第一個表的所有行聯接第二個表里的匹配行。也就是我們常用的VLOOKUP的功能。這里合并查詢默認選擇第一種。大家有興趣的話,后續可以介紹其他五種聯接種類。
7.查詢窗口就會生成一個新查詢“Merge1”,在新查詢表里就把“銷售額”表里的信息匹配出來了。點擊銷售額這列的table進行預覽,下方的預覽窗格能看到根據相同的大區和小組匹配的銷售額表的所有內容。
利用這種方法我們可以在合并窗口自由選擇匹配的列數,2列3列甚至更多列都能滿足。這樣就解決了多條件查找的問題;并且根據匹配的列可以把匹配表所有內容都查找出來。
8.現在就是把需要導入表格的內容展開到表里。點擊“銷售額”這列右側的展開按鈕,在下方展開窗格里,選擇要展開的列“訂單數”和“訂單金額”,不要勾選“使用原始列名作為前綴”。
完成如下:
9.最后把這個查詢上載到表格里。選擇新查詢表,點擊開始選項卡下的“關閉并上載”。
這樣就會把三個查詢表都上載到工作簿里,生成三個新工作表。右側會出現“工作簿查詢”窗口,點擊新查詢,工作簿就會自動跳轉到對應的查詢工作表。
完成如下:
好了,有關Power Query的合并查詢就介紹完了。這種查詢方式把兩個表格根據多個匹配列進行表與表之間的連接匹配,對于在日常工作中進行復雜的多表查詢很有幫助。大家感興趣的話,留言給我吧!
相關學習推薦:excel教程