Excel比较两列并在找到时突出显示

Translate

我在A列中有10,000行的Excel文件,有些值是相同的。

例:

A1 - P7767

A2 - P3443

A3 - P7767

A4 - P8746

A5 - P9435

等等...

然后,我有另一列包含100行,这些行具有在A列中找到的一些值,

B1 - P7767

B2 - P8746

等等...

我需要突出显示A列中所有在B列中的任何值中找到该值的单元格

因此,基本上,B列检查以查看是否可以在A列的任何位置找到相同的值,如果为true,则突出显示该单元格,而在B列中找不到该值时,任何单元格都变白

我希望我已经很好地解释了这一点,我已经进行了一些研究,我相信我需要使用条件格式来获得此结果,但是我真的束手无策,似乎无法在网上找到示例(也许我没有在搜索)正确的用语,因为我不确定这到底是什么)

This question and all comments follow the "Attribution Required."

所有的回答

Translate

可能有一个更简单的选项,但是您可以使用VLOOKUP来检查值是否出现在列表中(而且VLOOKUP是无论如何都可以解决的强大公式)。

因此,对于A1,您可以使用以下公式设置条件格式:

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

复制并粘贴特殊>格式以将该条件格式复制到A列中的其他单元格。

上面的公式在做什么:

  • VLOOKUP在第一列(即第3个参数,这里是多余的)中针对整个B列($ B:$ B)查找单元格A1(第一个参数)的值,但是通常VLOOKUP会查找一个表而不是一个柱)。最后一个参数FALSE指定匹配必须精确,而不仅仅是最接近的匹配。
  • 如果找不到匹配项,VLOOKUP将返回#ISNA,因此,对于B列中具有匹配项的所有单元格,NOT(ISNA(...))返回true。
来源
Translate

一个简单的公式是

=COUNTIF($B:$B,A1)

指定的公式适用于单元格A1。只需将特殊格式复制并粘贴到整个A列

来源
Translate

注意:您可能需要在执行以下步骤之前删除重复的项目(例如,同一列中的重复条目),以防止误报。

  1. 选择两个列
  2. 单击条件格式
  3. 单击突出显示单元格规则
  4. 单击重复值(默认值应为OK)
  5. 重复项现在以红色突出显示:

enter image description here

来源
Translate

至少对我而言,最简单的方法是:

条件格式->添加新规则->设置您自己的公式:

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

其中A2是列A中要比较的第一个元素,而B是将在其中搜索A元素的列。

设置公式并选择格式后,请将此规则应用于列中的所有元素。

希望这可以帮助

来源
Translate

A1->条件格式->单元格值是B1->格式:任意

希望能有所帮助

来源
Translate

假设要在同一电子表格中比较A列和H列。

您需要在这两列旁边移动另一列,并粘贴以下公式:=(Sheet1!A:A = Sheet1!H:H),这将在列中显示FALSE或TRUE。因此,您可以使用此新列通过条件颜色格式设置功能为不匹配的值着色。

来源
Translate

我试图比较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

结束子

来源
Translate

不要做太多工作。.只需按Ctr并选择Colum 1,然后按Ctr并选择Colum 2。然后单击条件格式->高亮显示单元规则->等于。

就是这样。完成了:)

来源
Leave a Reply
You must be logged in to post a answer.
关于作者