索引匹配组问题

Index Match Group Issue

我有一系列数据,其中 N 列显示唯一订单号值,F 列包含一个操作。如果任何相关订单号的操作值与该组的任何其他订单号相同,我想将它们标记为 , rejected, false, 0 等等,以便我可以将它们从数据集中删除。

在示例图中,我在 Q 列中手动输入了 True 或 False,但由于我有超过 10,000 行,我想我可能需要一个简单的公式。

有人能告诉我如何实现这个吗

非常感谢

在一个新列中,创建列 F 和列 N 的串联,例如,新列是 R,然后在单元格 Q1 中输入值 1 并从 Q2 开始粘贴此公式 =IF(R1=R2,Q1 +1,1) 拖动公式后,您只能保留一次出现的串联值并删除其他值。Snip from the Excel file

2nd snip attached here

您可以使用以下公式检查具有相同操作和订单号组合的行数:

=COUNTIFS(N:N;N2;F:F;F2)

它会给你组合出现的次数,所以你只需要过滤所有大于 1 的数字,或者如果值大于 1,则更改公式以给出 rejected、0、false 或任何你喜欢的值。

要求:
标记为 Delete,具有重复 Action 值的所有 Order 个数字。
假设数据位于 2 行到 10105 行(超过 10,000 行)。

解法-数组公式:
此数组公式将 return (最终) 所需的结果:

= IFERROR( IF( MATCH( $N28,
IF( COUNTIFS( $N:$N105, $N:$N105, $F:$F105, $F:$F105 ) > 1, $N:$N105 ),  0 ) > 0,
"Delete" ), "" )

不幸的是,多次指向超过 10,000 个单元格的范围的数组公式的性能将极其缓慢。

要在更小的范围(仅 24 行)上测试数组公式,请在 Q2 中输入此版本的公式,然后将其复制到 Q3:Q25:

= IFERROR( IF( MATCH( $N2,
IF( COUNTIFS( $N:$N, $N:$N, $F:$F, $F:$F ) > 1, $N:$N ),  0 ) > 0,
"Delete" ), "" )

解决方案——标准公式:
替代解决方案是使用两列来标记所需的记录:

  1. 要识别重复的 Action 订单,请在 Q2 中输入此公式,然后将其复制到 Q3:Q10105:

    = IF( COUNTIFS( $N$2:$N$10105, $N2, $F$2:$F$10105, $F2 ) > 1, $N2, "" )

  1. 要将步骤 1 中识别的所有 Order 号码标记为 Delete,请在 R2 中输入此公式,然后将其复制到 R3:R10105

    = IFERROR( IF( MATCH( $N2, $Q$2:$Q$10105, 0 ) > 0,"Delete" ), "" )