【问题标题】:Excel: Find duplicates in column with differences in another columnExcel:在另一列中查找具有差异的列中的重复项
【发布时间】:2015-03-12 14:58:07
【问题描述】:

我想突出显示 A 列中的单元格,这些单元格在 A 列中有重复但在 B 列中有差异。

A   B  
1   2   -
2   3   +
3   2   -
2   4   +
1   2   -
3   2   -
4   5   - 

带有 - 的行(或行内的单元格)不应突出显示,但带有 + 的行(或行内的单元格)应突出显示。

如何在 Excel 公式中完成此操作?

请注意,并非所有唯一组合都应突出显示(最后一行!)。

在 SQL 中,相应的查询是这样的:

SELECT *
FROM table
GROUP BY A
HAVING COUNT(B) > 1

【问题讨论】:

  • 您好,您是否在工作簿中灵活地使用空列来组合 2 行,以便您可以在 rest 中搜索重复值?
  • 嗨 Dubison,是的,我可以更改工作簿并使用目前未使用的单元格。我明白了,这是怎么回事……太明显了,谢谢!
  • P. S. 不,不是。有一个错误的想法。为什么要问?

标签: excel formatting excel-formula compare


【解决方案1】:

更简单的解决方案可能是使用 Concatenate 将 A 和 B 连接在一起,并使用条件格式来突出显示唯一值。这将使您想要的列表突出显示:

对于条件格式突出显示列 C,然后导航:

首页-> 条件格式-> 新规则-> 仅格式化唯一或重复值

然后将选择从“重复”更改为“唯一”并选择所需的格式。应用设置并识别出适当的行。

【讨论】:

  • 感谢您的回答,但这会突出显示所有独特的组合,但我只想突出显示那些 - 坚持您的示例 - 在 A 列中有重复项。在示例中添加第 8 行与 A8=4 和 B8=7 将突出显示,但 4 在 A 中没有重复!
  • 啊,是的。非常真实。也许您可以使用条件格式中的频率公式来解决这个问题。让我想想……
【解决方案2】:

假设您的数据位于 A1:B7 中(第 1 行的标题为“A”和“B”):

我使用以下公式来获得匹配项.. 我只是在之后和之前进行了简单的搜索..如果它在上方或下方找到记录,它会在 F 列中将其“标记”为 TRUE。 不确定它是否适用于 3 个或更多重复项,尽管您似乎没有表明您希望 3 个如何工作;)

D2=MATCH(A2,A3:$A$1000,0)
E2=IF(ISERROR(D2),IF(ISERROR(G2),"",OFFSET($A$1,G2,0,1,1)),OFFSET(B2,D2,0,1,1))
F2=AND(NOT(AND(ISERROR(D2),ISERROR(G2))),B2<>E2)
G2=MATCH(A2,$A$1:A1,0)`

D col 定位当前行之后的第一个匹配的 A 列。

G col 定位当前行之前的第一个匹配的 A Column。

E col 将该远程 B 列值拉到当前行以便更轻松地检查。

F col 把逻辑放在一起:如果我们发现了什么,B cols 不相等。

【讨论】:

    【解决方案3】:

    假设您的上述数据位于单元格A2:B7 中,这是另一种方法:

    1) 将 A 列值复制并粘贴到工作簿的空白部分(假设为 A11)并在选定部分的情况下执行以下功能 Data-&gt;Remove Duplicates

    2) 突出显示单元格 B10:B13(值在 A 列中的所有单元格)并输入以下公式:

    =FREQUENCY(A2:A8,A10:A13)
    

    点击Ctrl + Shift + Enter 使其成为一个数组。

    3) 与第二步类似,突出显示 C 列中的所有单元格,其中 A 列和 B 列中有数据。在这种情况下,C2:C7 并使用以下公式:

    =IF(VLOOKUP(A2,$A$10:$B$13,2,FALSE)>1,IF(FREQUENCY(VALUE(CONCATENATE($A$2:$A$7,$B$2:$B$7)),VALUE(CONCATENATE($A$2:$A$7,$B$2:$B$7)))<>1,"","Highlight"),"")
    

    点击Ctrl + Shift + Enter 使其成为一个数组。

    您需要突出显示的单元格现在会显示“突出显示”

    【讨论】:

    • 感谢您的回答。问题是,我希望这个函数是动态的,并且在一定范围内新插入的值上自动工作,所以 C&P 是不可能的,抱歉。
    • 如果 C&P 是唯一的问题,您可以在某个位置使用此公式来创建唯一列表,假设数据位于同一位置:=IFERROR(INDEX(A:A,MATCH(0,IF( ISBLANK(A:A),"",COUNTIF(D$11:$D12,A:A)),0)),"") 再次使用 Ctrl+Shift+Enter。如果此选项有效,请告诉我。我很高兴通过答案中的这种变化来概述它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2021-04-19
    相关资源
    最近更新 更多