我知道如何找到一个符合所有 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 个或更多标准的值 - 即不一定是所有标准,但不止一个标准?
如果可行,我不反对使用不同的功能来索引和匹配。不过,我更喜欢公式而不是 VBA。我正在使用 Excel 2019。
我的数据集有多个记录,这些记录将满足任何给定的 3 个标准中的两个或多个。我意识到 Index & Match 只会返回第一个,这很好。
为此,您可以使用
INDEX
/数组函数。MATCH
实际上,您的第二个公式已经接近 - 您只需添加>=2
一个标准:要了解公式的工作原理,您可以查看这个“虚构”数组:
Excel 将为您的每个条件添加三个带有
True
/的数组False
,然后添加它们。然后我们比较结果 - 如果它是 2 或更大,它将是 True,我们可以使用该MATCH
函数找到行号。如您所知,此功能仅显示第一个结果。根据您的 Excel 版本,您可能需要使用Ctrl++输入Shift公式Enter。