在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中打印“错误”

我希望这会帮助你。