tft每日頭條

 > 生活

 > 一對多匹配查詢

一對多匹配查詢

生活 更新时间:2024-08-27 21:15:53

一對多匹配查詢(一對多查詢新方法)1

在昨天的文章中,小編介紹了一對多查詢的四個方法,沒想到讀者中卧虎藏龍,提出了很多新方法。今天我們乘勝追擊,再學習一對多查詢新方法,讓我們更上一層樓。

我們來看下源數據:

一對多匹配查詢(一對多查詢新方法)2

要求:查詢出美國的品名及銷量。

01 輔助列、index match函數法

我們通過構造輔助列和index match函數,也能解決一對多查找問題。

一對多匹配查詢(一對多查詢新方法)3

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)是混合引用,引用之後的公式變化如下:

一對多匹配查詢(一對多查詢新方法)4

同理,我們看下A11單元格,結果是4-美國,因為美國是第四次出現。

如此構造輔助列的目的是将國家出現的次數,進行編号,以便下一步統計。

2、在H5輸入公式:

=IFERROR(INDEX(A:A,MATCH(ROW(A1)&"-"&$F$2,$D:$D,0)),"")

右拉下拉填充公式,我們得到如下圖的結果。

一對多匹配查詢(一對多查詢新方法)5

公式解讀:

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怎麼做‘。

一對多匹配查詢(一對多查詢新方法)2

1、新建一個表格,将源數據表放在一個表,将查找條件也建一個表。

如下:

一對多匹配查詢(一對多查詢新方法)7

一對多匹配查詢(一對多查詢新方法)8

2、将以上兩個表都轉為超級表。

選中數據,按快捷鍵:ctrl、T,将其轉為超級表。

一對多匹配查詢(一對多查詢新方法)9

3、單擊選項欄:數據——自表格,打開PQ編輯界面,新建源——導入查找條件的表。

一對多匹配查詢(一對多查詢新方法)10

4、合并查詢

單擊主頁選項欄——合并查詢,選擇兩個表進行關聯,連接種類選擇:左外部(第一個中的所有行,第二個中的匹配行)

一對多匹配查詢(一對多查詢新方法)11

一對多匹配查詢(一對多查詢新方法)12

通過合并查詢,最終查得一對多數據。

pq優勢在于如果數據發生變更,刷新就能得到新數據。不必重做一遍。

一對多匹配查詢(一對多查詢新方法)13

你學會了嗎?趕緊練習一下吧。

喜歡就關注我吧,每天分享職場知識,辦公技巧!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved