如何让 Excel 返回满足 3 个条件中的至少 2 个条件的匹配项?

如何让 Excel 返回满足 3 个条件中的至少 2 个条件的匹配项?

我知道如何找到符合所有 3 个条件的单元格:

{=INDEX(E5:E11,MATCH(1,(H5=B5:B11)*(H6=C5:C11)*(H7=D5:D11),0))}

或者查找符合以下 3 个条件之一的单元格:

{=INDEX(E5:E11,MATCH(1,(H5=B5:B11)+(H6=C5:C11)+(H7=D5:D11),0))}

但是我如何让它返回符合 2 个或更多条件的值 - 即不一定是所有条件,而是多个条件?

如果有效的话,我不反对使用与 Index & Match 不同的函数。不过,我更喜欢公式而不是 VBA。我正在使用 Excel 2019。

我的数据集有多条记录,满足任意 3 条标准中的两条或更多条。我意识到 Index & Match 只会返回第一条,这对于此目的来说没问题。

答案1

您可以为此使用INDEX/数组函数。实际上,您的第二个公式已经很接近了 - 您只需要添加一个条件:MATCH>=2

=INDEX($A$2:$A$6;MATCH(TRUE;(($B$2:$B$6=$G$2)+($C$2:$C$6=$G$3)+($D$2:$D$6=$G$4))>=2;0))

INDEX/MATCH,其中三个条件中至少有两个为真

要了解该公式的工作原理,您可以看看这个“虚数”数组:

虚数组

TrueExcel 将为您的每个条件添加三个带有/ 的数组False,然后将它们相加。然后我们比较结果 - 如果结果是 2 或更大,则为 True,然后我们可以使用该MATCH函数找到行号。

正如您所知,此功能只显示第一个结果。根据您的 Excel 版本,您可能需要使用Ctrl+ Shift+输入公式Enter

相关内容