我有一系列数据,其中列N显示唯一的订单号值,列F包含一个Action。如果任何相关订单号的Action值与该组的任何其他订单号相同,我想将它们标记为,拒绝,false,0,以便我可以从数据集中删除它们。
在示例图形中,我在Q列中手动输入了True或False,但由于我有超过10,000行,我想我可能需要一个简单的公式。
有人可以建议如何实现这个
答案 0 :(得分:0)
在新列中,创建列F和列N的连接,例如,新列是R然后在单元格Q1中将值1设置为从Q2开始粘贴此公式= IF(R1 = R2,Q1 + 1 ,1) 拖动公式后,您只能保留一次连接值并删除其他值。Snip from the Excel file
答案 1 :(得分:0)
您可以使用以下公式检查具有相同操作和订单号组合的行数:
=COUNTIFS(N:N;N2;F:F;F2)
它将为您提供组合的出现次数,因此您只需要过滤所有大于1的数字或更改公式,以便在值大于1时给出被拒绝的,0,false或任何您喜欢的。
答案 2 :(得分:0)
要求:
标记为Delete
,所有Order
的数字都具有重复的Action
值。
假设数据位于行2
至10105
(超过10,000行)中。
解决方案–数组公式:
该数组公式将最终返回 所需结果:
= IFERROR( IF( MATCH( $N28,
IF( COUNTIFS( $N$7:$N$10105, $N$7:$N$10105, $F$7:$F$10105, $F$7:$F$10105 ) > 1, $N$7:$N$10105 ), 0 ) > 0,
"Delete" ), "" )
不幸的是,多次指向10,000个单元格范围的数组公式的性能将非常慢。
要在较小的范围(仅24行)中测试数组公式,请在Q2
中输入此版本的公式,然后将其复制到Q3:Q25
:
= IFERROR( IF( MATCH( $N2,
IF( COUNTIFS( $N$2:$N$25, $N$2:$N$25, $F$2:$F$25, $F$2:$F$25 ) > 1, $N$2:$N$25 ), 0 ) > 0,
"Delete" ), "" )
解决方案–标准公式:
另一种解决方案是使用两列来标记所需的记录:
要确定重复的Action
的订单,请在Q2
中输入以下公式,然后将其复制到Q3:Q10105
:
= IF(COUNTIFS($ N $ 2:$ N $ 10105,$ N2,$ F $ 2:$ F $ 10105,$ F2)> 1,$ N2,“”)
要将步骤1中标识的所有Delete
数字标记为Order
,请在R2
中输入此公式,然后将其复制到R3:R10105
:
= IFERROR(IF(MATCH($ N2,$ Q $ 2:$ Q $ 10105,0)> 0,“删除”),“”)