想必常用Excel的小夥伴多多少少都會遇到核對資料的問題,平時大家都是怎麼做的呢?今天就給大家分享三種最常用的核對資料的方法,趕緊來看看吧!
如何核對兩列資料的差異是使用Excel的夥伴們經常遇到的一類問題。如下圖,左列是全部的訂單號,右列是已發貨的訂單號,要判斷兩列訂單號是否有差異。
這類問題說起來很簡單,使用VLOOKUP函數或者COUNTIF函數都能解決,但是實際情況比較複雜。兩列資料,誰是對比值(查詢值或條件值)誰是參照值(查詢範圍或計數區域),直接影響函數結果所包含的實際意義。
今天老菜鳥就把這些問題做個梳理,希望小夥伴們今後遇到資料核對問題時可以很清楚的解決。
一、使用VLOOKUP函數核對資料
1.C列作為對比值(查詢值)
公式=VLOOKUP(C2,A:A,1,0)
可以得到下圖所示的結果:
在這個公式中,查詢值(第一引數,即對比值)是C列已發貨的訂單號,查詢範圍(第二引數,即參照值)是A列所有的訂單號。
結果會出現兩種情況:
(1)得到一個訂單號(A列的),這種情況說明查詢值(C列的訂單號)在查詢範圍(A列)中有對應的資料。就本例而言,表示已發貨的訂單號在全部訂單號的範圍中;
(2)得到一個錯誤值(#N/A),這種情況說明查詢值(C列的訂單號)在查詢範圍(A列)中沒有對應的資料。就本例而言,表示已發貨的訂單號不在全部訂單號的範圍中,是有問題的訂單號。需要核查該訂單號記錄是否有誤或者是屬於其他機構的訂單號了。
2.A列作為對比值(查詢值)
公式=VLOOKUP(A2,C:C,1,0)
可以得到下圖所示的結果:
公式2與公式1的區別在於調換了查詢值和查詢範圍的位置,也就是在C列中查詢A列中所對應的訂單號,結果同樣是兩種情況,但是意義卻發生了變化。
可以得到訂單號的,說明這個訂單已經發貨(因為在C列有對應的資料);得到錯誤值的,說明這個訂單還沒有發貨,就需要跟進後續的業務操作了。
通過公式1和公式2的結果對比,需要明白一點,當對比值和參照值發生變化時,結果的意義是完全不一樣的。因此,在核對資料前,首先要搞清楚需要解決什麼問題,然後才能確定用什麼作對比值,用什麼作參照值。
拓展應用:
如果想將錯誤值顯示為需要提示的資訊,可以使用IFERROR函數予以配合。例如公式1可以修改為:=IFERROR(VLOOKUP(C2,A:A,1,0),"單號有誤需核實")
,公式2可以修改為:=IFERROR(VLOOKUP(A2,C:C,1,0),"未發貨")
,結果如圖所示:
如果想更直接地顯示出是否已發貨,資料是否正常,可以搭配IF函數和ISERROR函數,公式2可以修改為:=IF(ISERROR(VLOOKUP(A2,C:C,1,0)),"未發貨","已發貨")
,公式1可以修改為:=IF(ISERROR(VLOOKUP(C2,A:A,1,0)),"單號有誤需核實","正常")
,結果如圖:
實際上,在核對兩列資料的差異時,還可以使用COUNTIF和MATCH兩個函數,以下簡單說明用這兩個函數進行核對的方法。
二、使用COUNTIF核對兩列資料
COUNTIF是一個條件計數函數,需要兩個引數,格式為COUNTIF(計數區域,條件值)。在本例中,還是有兩個公式,分別為:=COUNTIF(A:A,C2)
和=COUNTIF(C:C,A2)
,結果如圖所示。
COUNTIF得到的結果同樣有兩種,0和大於0的數,表示條件值(第二引數,即對比值)在計數區域(第一引數,即參照值)中出現的次數。結果為0表明沒有出現過,與VLOOKUP的#N/A意義相同。
如果要加提示資訊,可以結合IF函數實現,對應的公式為:=IF(COUNTIF(A:A,C2)=0,"單號有誤需核實","正常")
和=IF(COUNTIF(C:C,A2)=0,"未發貨","已發貨")
,結果如圖所示。
三、使用MATCH核對兩列資料
MATCH函數的功能是得到查詢值在查詢區域中的位置序號。函數需要三個引數,格式為:MATCH(查詢值,查詢區域,查詢方式),就本例而言的兩個公式是:=MATCH(C2,A:A,0)
和=MATCH(A2,C:C,0)
,結果如圖所示。
MATCH函數的結果與VLOOKUP的類似,區別是VLOOKUP得到的是對應的內容(訂單號),而MATCH得到的是訂單號所在的行號。
個人以為,在核對兩列資料時使用MATCH函數更加方便,不但可以對比兩列資料的差異,而且還能得到結果的具體的位置,這在某些時候是很重要的。
MATCH函數結合IFERROR的方法與VLOOKUP完全一致,就不再舉例了。
實際上MATCH是一個非常有用的函數,喜歡本篇教學的小可愛記得要多多支援我們哦,後期會為大家介紹更多的範例!
相關學習推薦:
以上就是實用Excel技巧分享:三種常用的核對資料方法的詳細內容,更多請關注TW511.COM其它相關文章!