2012-04-04 128 views
38

我有一列Excel中有10000行的excel文件,其中一些值相同。Excel比較兩列,發現時突出顯示

實施例:

A1 - P7767 

A2 - P3443 

A3 - P7767 

A4 - P8746 

A5 - P9435 

等...

我然後具有與具有一些在列A中的值的100行另一列,

B1 - P7767 

B2 - P8746 

等。 。

我需要突出顯示列A中的所有單元格,其中的任何值S IN B列

所以基本上B列檢查,看它是否能夠在A列中其他地方找到相同的值,如果爲true的亮點當B列

我沒有找到該小區留下任何細胞的白色值希望我已經解釋了這一點,我已經做了一些研究,我相信我需要使用條件格式來獲得這個結果,但我真的堅持使用的公式,似乎無法在網上找到一個例子(也許我不是在尋找正確的名詞,因爲我不知道這是什麼確切稱爲)

回答

69

有可能是一個簡單的選擇,但你可以使用VLOOKUP來檢查值出現在列表(VLOOKUP和是一個強大的公式得到認真處理反正)。

所以對於A1,你可以用下面的公式設置條件格式:

=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE))) 

複製和粘貼>格式來複制條件格式到其他單元格在列A

什麼上述式是這樣做的:

  • VLOOKUP抵靠整個塔B的查找單元格A1(第一個參數)的值($ B:$ B)所示,在第一列(這是第三參數,紅在這裏沒有用,但通常VLOOKUP查找表而不是列)。最後一個參數FALSE指定匹配必須是精確的,而不僅僅是最接近的匹配。
  • VLOOKUP將返回#ISNA如果沒有找到匹配的,所以NOT(ISNA(...))對於具有匹配B列的所有單元格,則返回true
+1

嗨大衛, 這工作完美,謝謝! 只是想多說一句謝謝你解釋公式在做什麼,這對我將來會有很多幫助。 親切的問候, 凱爾 – Izion 2012-04-04 10:43:43

+2

我的榮幸。公平地說,我認爲克里斯尼爾森的方法(已經提出)也可以工作,並且可能更優雅。 – David 2012-04-04 11:16:31

1

A1 - >條件格式 - >單元格值是B1 - >格式:無論你想

希望幫助

28

一個簡單的公式是

=COUNTIF($B:$B,A1) 

指定的公式適用於單元格A1。只需複製和粘貼特殊 - 格式整列的

2

做到這一點,至少對我來說,最簡單的方法是:

條件格式 - >添加新的基於規則>設置您自己的公式:

=ISNA(MATCH(A2;$B:$B;0)) 

其中A2是要比較的A列中的第一個元素,而B是A的元素將被搜索的列。

設置公式並選擇了格式後,將此規則應用於列中的所有元素。

希望這有助於

0

不要瓦納做洙多工作guyss .. 只需按點擊率和選擇科拉姆之一,按點擊率和選擇科拉姆兩項。 然後單擊條件格式 - >突出顯示單元格規則 - >等於。

這就是它。你完成了。 :)

+0

這不是對問題的回答。 – 2013-03-20 01:17:04

1

我試圖比較A-B列並突出顯示相同的文本,但是使用某些文本完全不匹配的obove fomrulas。所以我使用表格(VBA macro to compare two columns and color highlight cell differences)代碼,我修改了一些東西以適應我的應用程序,並找到任何需要的列(只需單擊它)。就我而言,我在每列上使用大量不同數量的行。希望這有助於:

子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 

末次

1

假設你要比較的列A和H列在同一個電子表格。

您需要轉到這兩列旁邊的另一列並粘貼以下公式: =(Sheet1!A:A = Sheet1!H:H) 這將在列中顯示FALSE或TRUE。因此,您可以使用這個新列來使用條件顏色格式化功能對不匹配的值進行着色。

2

注意:在執行這些步驟以防止出現誤報之前,您可能需要刪除重複項目(例如,同一列中的重複項目)。

  1. 選擇兩列
  2. 單擊條件格式
  3. 點擊突出顯示單元格規則
  4. 點擊重複值(默認值應該是OK)現在
  5. 重複以紅色突出顯示:

enter image description here

+0

這非常快速和簡單(+1),但有一點需要注意:如果* same *列中有重複的數據,即使這些值不存在於另一列中,也會突出顯示它們。這意味着可能會有一些誤報。另一方面,如果同一列內沒有重複數據,這似乎是最好的選擇。當然,您可以刪除同一列內的副本(選擇列,數據 - >刪除重複項),然後使用它來突出顯示重複的單元格。 – 2017-09-26 14:02:21

相關問題