位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

表格中數(shù)據(jù)比對和查找的幾種技巧

提問人:周麗平發(fā)布時(shí)間:2021-07-10

應(yīng)用案例一:比對取出兩表的交集(相同部分)

Sheet1中包含了一份數(shù)據(jù)清單A,sheet2中包含了一份數(shù)據(jù)清單B,要取得兩份清單共有的數(shù)據(jù)記錄(交集),也就是要找到兩份清單中的相同部分。

image.png

方法1:高級篩選

高級篩選是處理重復(fù)數(shù)據(jù)的利器。

選中第一份數(shù)據(jù)清單所在的數(shù)據(jù)區(qū)域,在功能區(qū)上依次單擊【數(shù)據(jù)】——【高級】(2003版本中菜單操作為【數(shù)據(jù)】——【篩選】——【高級篩選】),出現(xiàn)【高級篩選】對話框。

在對話框中,篩選【方式】可以根據(jù)需求選取,例如這里選擇“將篩選結(jié)果復(fù)制到其他位置”;【列表區(qū)域】就是之前所選中的第一份數(shù)據(jù)清單A所在的單元格區(qū)域;【條件區(qū)域】則選取另外那份清單B所在的單元格區(qū)域。如下圖所示:

image.png

點(diǎn)擊【確定】按鈕后,就可以直接得到兩份清單的交集部分,效果如下圖。其中兩個(gè)清單中雖然都有【西瓜】和【菠蘿】,但是由于數(shù)量不一致,所以沒有作為相同記錄被提取出來。

image.png

這個(gè)操作的原理,就是利用了高級篩選功能對于匹配指定條件的記錄進(jìn)行篩選的功能,把兩張表中的任意一張作為條件區(qū)域,在另外一張表中就能篩選出與之相匹配的記錄,忽略掉其他不相關(guān)的記錄。

需要注意的是,使用高級篩選的時(shí)候務(wù)必注意兩個(gè)清單的標(biāo)題行要保持一致(高級篩選中作為條件區(qū)域的前提),并且在選取【列表區(qū)域】和【條件區(qū)域】的時(shí)候都要把標(biāo)題行的范圍包含在其中。

方法2:公式法

使用公式進(jìn)行比對的方法有很多,如果是單列數(shù)據(jù)對比比較常用的函數(shù)是COUNTIF函數(shù),如果是多列數(shù)據(jù)記錄對比,SUMPRODUCT函數(shù)比較勝任。

在其中一張清單的旁邊輸入公式:

=SUMPRODUCT((A2&B2=Sheet2!A$2:A$13&Sheet2!B$2:B$13)*1)

并向下復(fù)制填充。其中的Sheet2!A$1:A$13和Sheet2!B$2:B$13是另一張清單中的兩列數(shù)據(jù)區(qū)域,需要根據(jù)實(shí)際情況修改。公式結(jié)果等于1的記錄就是兩個(gè)清單的交集部分,如下圖所示:

image.png

應(yīng)用案例二:取出兩表的差異記錄

要在某一張表里取出與另一張表的差異記錄,就是未在另外那張清單里面出現(xiàn)的部分,其原理和操作都和上面第一種場景的差不多,所不同的只是篩選后所選取的集合正好互補(bǔ)。

方法1:高級篩選

先將兩個(gè)清單的標(biāo)題行更改使之保持一致,然后選中第一份數(shù)據(jù)清單所在的數(shù)據(jù)區(qū)域,在功能區(qū)上依次單擊【數(shù)據(jù)】——【高級】,出現(xiàn)【高級篩選】對話框。在對話框中,篩選方式選擇“在原有區(qū)域顯示篩選結(jié)果”;【列表區(qū)域】和【條件區(qū)域】的選取和前面場景1完全相同,如下圖所示:

image.png

點(diǎn)擊【確定】完成篩選,將篩選出來的記錄全部選中按【Del】鍵刪除(或做標(biāo)記),然后點(diǎn)擊【清除】按鈕(2003版本中為【全部顯示】按鈕)就可以恢復(fù)篩選前的狀態(tài)得到最終的結(jié)果,如下圖所示:

image.png

方法2:公式法

使用公式的話,方法和場景1完全相同,只是最后需要提取的是公式結(jié)果等于0的記錄。

應(yīng)用案例三:取出關(guān)鍵字相同但數(shù)據(jù)有差異的記錄

前面的兩份清單中,【西瓜】和【菠蘿】的貨品名稱雖然一致,但在兩張表上的數(shù)量卻不相同,在一些數(shù)據(jù)核對的場景下,就需要把這樣的記錄提取出來。

方法1:高級篩選

高級篩選當(dāng)中可以使用特殊的公式,使得高級篩選的功能更加強(qiáng)大。

第一張清單所在的sheet里面,把D1單元格留空,在D2單元格內(nèi)輸入公式:

=VLOOKUP(A2,Sheet2!$A$2:$B$13,2,0)<>B2

然后在功能區(qū)上依次單擊【數(shù)據(jù)】——【高級】,出現(xiàn)【高級篩選】對話框。在對話框中,篩選方式選擇“在原有區(qū)域顯示篩選結(jié)果”;【列表區(qū)域】選取第一張清單中的完整數(shù)據(jù)區(qū)域,【條件區(qū)域】則選取剛剛特別設(shè)計(jì)過的D1:D2單元格區(qū)域,如下圖所示:

image.png

點(diǎn)擊【確定】按鈕以后,就可以得到篩選結(jié)果,就是第一張中貨品名稱與第二張表相同但數(shù)量卻不一致的記錄清單,如下圖所示:

image.png

同樣的,照此方法在第二張清單當(dāng)中操作,也可以在第二張清單中找到其中與第一張清單數(shù)據(jù)有差異的記錄。

這個(gè)方法是利用了高級篩選中可以通過自定義公式來添加篩選條件的功能,有關(guān)高級篩選中使用公式作為條件區(qū)域的用法,可參考本站發(fā)布的;另外一篇教程:

Excel中數(shù)據(jù)庫函數(shù)和高級篩選條件區(qū)域設(shè)置方法詳解

http://www.officezhushou.com/excel/jiqiao/2924.html

方法2:公式法

使用公式還是可以利用前面用到的SUMPRODUCT函數(shù),在其中一張清單的旁邊輸入公式:

=SUMPRODUCT((A2=Sheet2!A$2:A$13)*(B2<>Sheet2!B$2:B$13))

并向下復(fù)制填充。公式中的包含了兩個(gè)條件,第一個(gè)條件是A列數(shù)據(jù)相同,第二個(gè)條件是B列數(shù)據(jù)不相同。公式結(jié)果等于1的記錄就是兩個(gè)清單中數(shù)據(jù)有差異的記錄,如下圖所示。這個(gè)例子中也可以使用更為人熟知的VLOOKUP函數(shù)來進(jìn)行匹配查詢,但是VLOOKUP只適合單列數(shù)據(jù)的匹配,如果目標(biāo)清單中包含了更多字段數(shù)據(jù)的差異對比,還是SUMPRODUCT函數(shù)的擴(kuò)展性更強(qiáng)一些。

image.png

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部