0

Need help.

How to check the reciprocal data in excel. The case something like this:

enter image description here

b => a is error because it's reciprocal (there is already a=>b) and so on..

thank you..

4

3 回答 3

2

您可以使用 COUNTIFS 函数来执行此操作。

假设不包括标题的数据在范围内A2:B8,您需要在单元格 C2 中输入的第一个公式是:

  =IF(COUNTIFS(A$2:A2,B2,B$2:B2,A2)>0,"error","")

然后,该公式将被复制到最后一个数据行。

COUNTIFS计算在多个范围内满足一组条件的次数。如果在范围 1 中满足标准 1 并且在范围 2 中满足标准 2 并等等,则将 1 添加到COUNTIFS总数中。

在这种情况下,我们使用COUNTIFS来检查特定的 person2 是否在 Person1 范围内,以及对应的 person1 是否在 Person2 范围内。

由于您不希望将 person1/person2 对的第一次出现计为“错误”,因此将COUNTIFS其应用于扩展范围,该范围扩大到包括检查的每个附加对,但不包括列表下方的任何对.

例如,在单元格 C2 的第一个公式中,COUNTIFS仅适用于范围A2:B2,在单元格 C3 的第二个公式中,它适用于A2:B3,依此类推。

换句话说,我们正在查看所有先前的对,以查看当前对是否是这些对中任何一对的倒数。

如果公式找到一个倒数对,将由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,"","错误"),"")

这个修改后的公式检查当前行中的对的倒数是否以前遇到过并标记为“错误”。如果有,则当前对不会被标记为“错误”。

修改后的公式,工作表中的结果

于 2013-07-04T13:43:56.297 回答
2

我发现我之前的帖子并不适用于所有情况,例如当我将“d”放入 B6 时。

所以我提出了另一个基于值连接的解决方案。想法是我将 A 列和 B 列(D 列 = =CONCATENATE(A4;B4))中的值连接起来。我在 E ( ) 列中连接 B 列和 A 列=CONCATENATE(B4;A4)

然后我在 D 列(=IF(ISERROR(MATCH(E5;$D4:D$4;0));0;MATCH(E5;$D4:D$4;0)))的上排中查找 E 列的位置。

而且我必须对“良好”关系的重复发生进行另一个控制(否则它会在第 11 行失败)。所以列 G = =IF(F5>0;INDEX($F4:F$4;F5);0)

在第一列有一个最终评估=IF(AND(F4>0;G4=0);"error";"")

在此处输入图像描述

于 2013-07-04T14:06:29.430 回答
0

它可以使用内置函数来完成——我将它分成几列(为了更清楚地理解),但它可以合并成一个大的复杂公式。

在此处输入图像描述

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

我希望它会帮助你。

于 2013-07-04T11:35:39.510 回答