我在列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列中找不到该值时,将任何单元格保留为白色
我希望我已经很好地解释了这一点,我做了一些研究,我相信我需要使用条件格式来获得这个结果,但我真的坚持使用的公式,似乎无法在网上找到一个例子(也许我我没有搜索正确的术语,因为我不确定这究竟是什么名称)
答案 0 :(得分:75)
可能有一个更简单的选项,但你可以使用VLOOKUP来检查一个值是否出现在列表中(并且VLOOKUP是一个强大的公式,无论如何都要掌握)。
因此,对于A1,您可以使用以下公式设置条件格式:
=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE)))
复制并粘贴特殊>格式化将条件格式复制到A列中的其他单元格。
上述公式正在做什么:
答案 1 :(得分:30)
使用的简单公式是
=COUNTIF($B:$B,A1)
指定的公式适用于单元格A1。只需将特殊格式复制并粘贴到整个A列
即可答案 2 :(得分:5)
注意:在执行这些步骤之前,您可能希望删除重复项(例如,同一列中的重复条目)以防止误报。
答案 3 :(得分:3)
至少对我来说,最简单的方法是:
条件格式 - >添加新规则 - >设置您自己的公式:
=ISNA(MATCH(A2;$B:$B;0))
其中A2是要比较的A列中的第一个元素,B是将搜索A元素的列。
设置公式并选择格式后,将此规则应用于列中的所有元素。
希望这有帮助
答案 4 :(得分:2)
A1 - >条件格式 - >单元格值是B1 - >格式:无论你想要什么
希望有所帮助
答案 5 :(得分:2)
假设您要在同一电子表格中比较A列和H列。
您需要在这两列旁边添加另一列并粘贴此公式: =(Sheet 1中一个:!A = Sheet 1中H:1H) 这将在列中显示FALSE或TRUE。因此,您可以使用此新列使用条件颜色格式化功能为非匹配值着色。
答案 6 :(得分:1)
我试图比较A-B列并突出显示相同的文本,但是使用了一些文本根本不匹配的对象fomrulas。所以我使用了form(VBA macro to compare two columns and color highlight cell differences)代码,我修改了一些东西以使其适应我的应用程序并找到任何所需的列(只需单击它)。在我的例子中,我在每列上使用大量不同的行。希望这会有所帮助:
Sub 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
End Sub
答案 7 :(得分:-1)
不要做太多的工作。 只需按Ctr并选择Colum one并按Ctr并选择colum two。 然后单击条件格式 - &gt;突出显示单元格规则 - &gt;等于。
就是这样。你做完了:)