【问题标题】:counting duplicates and assigning label计算重复项并分配标签
【发布时间】:2021-05-29 02:57:44
【问题描述】:

在 Excel 中假设我有一个包含以下两列和以下数据的表格:

ID   Value
1    6
1    2
1    1
2    4
3    5

在 excel 中,当 id 重复且不是最高值时,我想做的是在第三列(比如结果)中写入单词 duplicate。

在此示例中,重复项将写入 Value(2),ID(1) 和 Value(1),ID(1) 旁边。 Value(6), ID(1) 旁边不会有重复,因为它在所有 ID(1) 中具有最高值。

有没有我可以使用的excel公式来做到这一点?如果不是,我需要什么 VBA?实际上,这是一个大型数据库,并且会有超过 3 个重复项。

结果应该是这样的:

ID   Value
1    6
1    2      Duplicate
1    1      Duplicate
2    4
3    5

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    不确定这是否正确。但是如果我错了,请纠正我。

    =IF(MIN($A$2:$A$6 = MIN($B$2:$B$6)), "duplicate", "")
    

    【讨论】:

    • 这会将重复项放在 1,1 旁边。不是 6,1
    • 是的。值 6 和 ID 1 不会有重复标签,因为该值是最高的。这就是你在问题中所说的。还是我误会了?
    • 啊抱歉,问题是 2,1 也没有说重复
    • 是否有可能没有 max 而不是 min 或类似的东西?
    【解决方案2】:

    这个数组公式应该可以工作(Ctrl+Shift+Enter)来确认,但如果你有很多数据可能会很慢。

    =IF(B2=MAX(IF($A$2:$A$6=A2,$B$2:$B$6)),"","Duplicate")
    

    【讨论】:

    • 将副本分配给除 6,1 之外的所有内容。我正在尝试将重复项分配给仅 2,1 和 1,1
    • 您必须通过按 Ctrl 和 Shift 和 Enter 来输入公式,而不仅仅是 Enter。花括号将出现在它周围。
    • 感谢这工作。 Ctrl Shift 输入是做什么的,大括号是干什么用的?
    • 这意味着 Excel 在一系列单元格(数组)而不是单个单元格上计算公式。他们上有很多链接,例如support.office.com/en-us/article/…
    【解决方案3】:

    如果重复项在 A 列中,则单元格 B3 可以显示为:(如果 ID 正在减少)

    =if(COUNTIF($A$1:$A2,A3)>0,"Duplicate #" & COUNTIF($A$1:$A3,A3),"")
    

    这有帮助吗?

    【讨论】:

    • 我不想删除重复项,只需在第三列中写入单词重复项。此外,我只希望为 ID 中值较低的重复项显示该单词。 ID 中最大值的重复项不应显示重复项。
    • 是的,假设列表已排序
    • @kit 你可以用,替换;s
    • 我试过了:=if(COUNTIF($A$2:$A6,A6,0)>0,"Duplicate #" & COUNTIF($A$2:$A6,A6,0)," ") 但它给出了一个错误
    • @Slai :谢谢...该死的法语excel...他们为什么要改变它? PS:“ , 0 ”用于 sumif,而不是 countif...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多