日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

找出两列数据的差集_excel快速查找数据差异项

發布時間:2024/9/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 找出两列数据的差集_excel快速查找数据差异项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近來在網上看到一則查找兩列數據差異項的方法,試著做發現07版的excel根本就沒有那個功能,而且設置過程也很麻煩,有那個功夫,不如去網上找函數公式解決。今天給大家分享一下用函數組合公式和自定義函數公式兩種方法實現兩列數據差異查找并列出的效果。

案例

上圖中各部門收集的客戶名單存在不同,需要找到產品有而運營沒有的客戶名單,有人可能會直接選中兩列數據設置條件格式,突出顯示唯一值,得到下面的情況,在逐個復制過去就行了。

確實很簡單,但是模擬的數據有限,要是成百上千條數據查找,查找出來后的復制粘貼工作是很煩的。通常我們會設置函數公式處理這種問題。

解決方案

通過設置excel函數數組公式和vba編輯自定義函數兩種方法均可一次性找到差異值,并自動寫入到要求的地方。

兩種方法公式和實現效果如下圖:

1、常規組合數組公式:

=IFERROR(INDEX($B$3:$B$13,SMALL(IF(ISNUMBER(MATCH($B$3:$B$13,$A$3:$A$11,)),4^9,ROW($B$3:$B$13)-2),ROW(A1))),"")

輸入完成后ctrl+shift+enter三鍵同時按生效。

這個公式有點復雜,需要一定的函數功底才能掌握,當要比對其他列數據時,復制粘貼公式后,要修改對應的選擇單元格區域有4處,即要修改4次才能正確顯示結果,會用的人不多。對不想在函數上費精力的人來說可以用下面的自定義函數。

2、自定義函數,具體公式為:

=czbt($B$3:$B$13,$A$3:$A$11,ROW(A1))

這個函數比較簡單,函數名為"查找不同"的拼音首字符組合,比較好記。共三個參數,第一個參數$B$3:$B$13為目標單元格區域(案例為產品客戶名單),第二個參數$A$3:$A$11為對比單元格區域(案例為運營客戶名單),第三個參數為row(a1)代表查找出來的第一個差異項,隨著公式往下填充,一次找出第2、3...個差異項。當對比其他列數據時,復制粘貼公式后,只需修改對應的目標單元格區域和對比單元格區域各一次即可。函數參數設置簡單明了,容易掌握。

自定義函數的用法還是提前插入模塊,打開VBA編輯框,文件-導入文件-查找差異項.bas。或者在VBA編輯框插入模塊,在代碼區域粘貼下面的代碼即可。

Function czbt(r1 As Range, r2 As Range, k As Integer) As StringDim arr1, arr2, arr3()arr1 = r1arr2 = r2ReDim arr3(1 To Application.Max(UBound(arr1), UBound(arr2)))n = 0For i = 1 To UBound(arr1) For j = 1 To UBound(arr2) If arr1(i, 1) = arr2(j, 1) Then Exit For End If If j = UBound(arr2) Then n = n + 1 arr3(n) = arr1(i, 1) End If Next NextIf k <= UBound(arr3) Then czbt = arr3(k)Else czbt = ""End If

總結

以上是生活随笔為你收集整理的找出两列数据的差集_excel快速查找数据差异项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。