在Excel中检查Resiprok数据
需要帮忙。
如何检查excel中的交互数据。 情况是这样的:
b => a
是错误,因为它是相互的(已经a=>b
)等等。
谢谢..
您可以使用COUNTIFS函数来执行此操作。
假设不包括标题的数据在A2:B8
的范围内,则需要在单元格C2中input的第一个公式是:
=IF(COUNTIFS(A$2:A2,B2,B$2:B2,A2)>0,"error","")
这个公式将被复制到最后一个数据行。
COUNTIFS
计算在多个范围内满足一组条件的次数。 如果在范围1中满足标准1并且在范围2 AND等中满足标准2,则将1加到COUNTIFS
总和中。
在这种情况下,我们使用COUNTIFS
来检查某个person2是否在Person1范围内,以及相应的person1是否在Person2范围内。
由于您不希望第一次出现的person1 / person2对被计为“错误”,因此COUNTIFS
将应用于扩展范围,该范围将增加以包含每个被检查的其他对,但不包括任何对名单。
例如,在单元格C2中的第一个公式中, COUNTIFS
仅应用于范围A2:B2
,在单元格C3的第二个公式中将其应用于A2:B3
,依此类推。
换句话说,我们正在查看所有之前的对,看看当前对是否是这些对中的任何一个的倒数。
如果公式find一个COUNTIFS
对,它将由一个COUNTIFS
值> 0指示,则返回“错误”。
如果当前行包含先前遇到的相反对,刚刚给出的公式也将返回“错误”。 因此,您可以得到以下内容: b->c ""
… c->b "error"
… b->c "error"
。 相反,如果你只想把最初碰到的一对的倒数当作一个“错误”,那么就需要一个更复杂的公式。
= IF(COUNTIFS(A $ 2:A2,B2,B $ 2:B2,A2)> 0,IF(COUNTIFS(A $ 2:A2,B2,B $ 2:B2,A2,C $ 2:C2, “错误”)> 0 “”, “错误”), “”)
这个修改后的公式检查当前行中这一对的倒数是否曾经遇到,并标记为“错误”。 如果有,那么当前对没有被标记为“错误”。
我发现我以前的post在所有情况下都不起作用,例如当我把“d”放入B6时。
所以我在价值连接的基础上做了另一个解决scheme。 想法是我连接列A和B(列D = =CONCATENATE(A4;B4)
)中的值。 我在列E( =CONCATENATE(B4;A4)
)中连接列B和A.
我查找E列在D行上面的位置( =IF(ISERROR(MATCH(E5;$D4:D$4;0));0;MATCH(E5;$D4:D$4;0))
)。
而且我必须对重复出现的“良好”关系做出另一种控制(不会在第11行失败)。 所以列G = =IF(F5>0;INDEX($F4:F$4;F5);0)
。
在列I中,最后的评估=IF(AND(F4>0;G4=0);"error";"")
它可以使用内置函数完成 – 我将它分成几列(理解更清晰),但可以合并成一个复杂的公式。
在列DI检查中,如果B列中的值存在于列A的上部行中
=MATCH(B3;$A$2:A2;0)
在B栏中,我也是这样做的。
=MATCH(A5;$B$4:B4;0)
如果值不存在,则MATCH返回错误#…,所以在G和HI列中将其更改为0。
=IF(ISERROR(D5);0;D5)
在JI栏中检查两个职位是否相等,如果不是零。
=AND(G5>0;H5>0;G5=H5)
如果在列J中为TRUE,那么我在列L中打印“错误”
我希望这会帮助你。