【问题标题】:Excel compare two columnsExcel比较两列
【发布时间】:2017-05-27 19:26:18
【问题描述】:

我在excel中有两列

甲和乙

我想比较两者并突出显示匹配的地方,但这不是直接比较

A列有这样的数据

ABC123

而 B 列只有

123

所以我想从 B 列中的 A 列中找到 123 并突出显示匹配项。

我需要为 9000 条记录执行此操作

请帮忙

【问题讨论】:

  • 您能否给出一些更具体的输入和预期匹配示例?例如,A 是否会包含ABCD12,如果包含,它应该匹配12 还是D12
  • 它应该只匹配 12,所以它只需要完全匹配 B 列中显示的内容。例如,如果 B 列有 123,A 列有 ABC123,那么只有 123 应该匹配

标签: excel excel-formula vba


【解决方案1】:

您也可以在没有其他公式和 VBA 的情况下执行此操作。在单元格 B1 上创建一个条件格式,即公式:

=NOT(ISERROR(SEARCH(B1,A1)))

注意:确保值是 B1 和 A1,而不是 $B$1 和 $A$1。

在申请下填写“B:B”。为匹配的值添加一个漂亮的格式。

【讨论】:

    【解决方案2】:

    一种选择是从 A 列中去掉字母并尝试直接匹配

    您可以为此使用 UDF

    Public Function StripChar(strInput As String) As String
        Dim i As Long: For i = 1 To Len(strInput)
            If IsNumeric(Mid(strInput, i, 1)) Then StripChar = StripChar + CStr(Mid(strInput, i, 1))
        Next i
    End Function
    

    然后您可以使用辅助函数或直接使用以下公式进行条件格式化:

    =IF(StripChar(A2)=TEXT(B2,"0"),TRUE,FALSE)

    【讨论】:

      【解决方案3】:

      =IF(ISNUMBER(SEARCH(B1,A1)),"Match","")

      C 列中的这对你有用。

      它的作用是使用Search(find text,in text,[position]) 查看确切的字符串是否出现在A 列中。如果出现,它将返回一个数字(该字符串开始的位置),因此=IF(ISNUMBER( 可以相应地使用该数据。

      【讨论】:

      • 如何将匹配更改为红色以及如何扩展 9000 条记录的公式?
      • 最简单的方法是把公式放在C1单元格,然后双击单元格右下角的黑色方块,它会自动填充到它旁边一列数据的末尾因为没有任何空白。如果 c 列等于“匹配”,则条件格式变为红色...
      • @HC17758091 怎么样?有什么问题吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多