[英]Excel compare two columns and highlight duplicates
我有一個 excel 文件,A 列中有 10,000 行,有些值是相同的。
例子:
A1 - P7767
A2 - P3443
A3 - P7767
A4 - P8746
A5 - P9435
ETC...
然后我有另一列有 100 行,其中一些值在 A 列中找到,
B1 - P7767
B2 - P8746
ETC...
我需要突出顯示 A 列中的所有單元格,其中在 B 列中的任何值中都可以找到該值
所以基本上 B 列檢查它是否可以在 A 列中的任何位置找到相同的值,如果為真,則突出顯示該單元格,當在 B 列中找不到該值時,將所有單元格留白
我希望我解釋得很好,我做了一些研究,我相信我需要使用條件格式來獲得這個結果,但我真的堅持要使用的公式並且似乎無法在網上找到示例(也許我不是在搜索正確的術語,因為我不確定這到底叫什么)
可能有一個更簡單的選項,但您可以使用 VLOOKUP 檢查值是否出現在列表中(並且 VLOOKUP 是一個強大的公式,無論如何都要掌握)。
因此對於 A1,您可以使用以下公式設置條件格式:
=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE)))
Copy and Paste Special > Formats 將該條件格式復制到 A 列中的其他單元格。
上面的公式在做什么:
一個簡單的公式是
=COUNTIF($B:$B,A1)
指定的公式適用於單元格 A1。 只需將特殊格式復制並粘貼到整個 A 列
至少對我來說,最簡單的方法是:
條件格式-> 添加新規則-> 設置您自己的公式:
=ISNA(MATCH(A2;$B:$B;0))
其中 A2 是要比較的 A 列中的第一個元素,B 是將在其中搜索 A 的元素的列。
設置公式並選擇格式后,將此規則應用於列中的所有元素。
希望這可以幫助
A1 --> 條件格式 --> 單元格值為 B1 --> 格式:隨便你
希望有幫助
假設您要比較同一電子表格中的 A 列和 H 列。
您需要 go 這 2 列旁邊的另一列並粘貼此公式:=(Sheet1:A:A=Sheet1.HH) 這將在列中顯示 FALSE 或 TRUE。 因此,您可以使用此新列使用條件顏色格式設置功能為不匹配的值着色。
我試圖比較 AB 列並突出顯示相同的文本,但是使用上面的公式有些文本根本不匹配。 所以我使用表單( VBA 宏來比較兩列和顏色突出顯示單元格差異)代碼,我修改了一些東西以適應我的應用程序並找到任何所需的列(只需單擊它)。 就我而言,我在每一列上使用大量不同數量的行。 希望這可以幫助:
子 ABTextCompare()
Dim Report As Worksheet
Dim i, j, colNum, vMatch As Integer
Dim lastRowA, lastRowB, lastRow, lastColumn As Integer
Dim ColumnUsage As String
Dim colA, colB, colC As String
Dim A, B, C As Variant
Set Report = Excel.ActiveSheet
vMatch = 1
'Select A and B Columns to compare
On Error Resume Next
Set A = Application.InputBox(Prompt:="Select column to compare", Title:="Column A", Type:=8)
If A Is Nothing Then Exit Sub
colA = Split(A(1).Address(1, 0), "$")(0)
Set B = Application.InputBox(Prompt:="Select column being searched", Title:="Column B", Type:=8)
If A Is Nothing Then Exit Sub
colB = Split(B(1).Address(1, 0), "$")(0)
'Select Column to show results
Set C = Application.InputBox("Select column to show results", "Results", Type:=8)
If C Is Nothing Then Exit Sub
colC = Split(C(1).Address(1, 0), "$")(0)
'Get Last Row
lastRowA = Report.Cells.Find("", Range(colA & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column A
lastRowB = Report.Cells.Find("", Range(colB & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column B
Application.ScreenUpdating = False
'***************************************************
For i = 2 To lastRowA
For j = 2 To lastRowB
If Report.Cells(i, A.Column).Value <> "" Then
If InStr(1, Report.Cells(j, B.Column).Value, Report.Cells(i, A.Column).Value, vbTextCompare) > 0 Then
vMatch = vMatch + 1
Report.Cells(i, A.Column).Interior.ColorIndex = 35 'Light green background
Range(colC & 1).Value = "Items Found"
Report.Cells(i, A.Column).Copy Destination:=Range(colC & vMatch)
Exit For
Else
'Do Nothing
End If
End If
Next j
Next i
If vMatch = 1 Then
MsgBox Prompt:="No Itmes Found", Buttons:=vbInformation
End If
'***************************************************
Application.ScreenUpdating = True
結束子
伙計們,不要做太多工作。只需按 Ctr 和 select 第一列,然后按 Ctr 和 select 第二列。 然后單擊條件格式 -> 突出顯示單元格規則 -> Equel To。
就是這樣。 你完成了。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.