在excel中用多个匹配标准find行号

我需要能够find行的行号,从A1匹配标准等于或大于列C值,小于或等于列D

我可以使用INDEXMATCH组合,但不知道这是我应该用于多个标准匹配的东西。

任何帮助或build议,高度赞赏。

我不会使用MATCH获取行号,因为您有多个条件。 但是,我仍然会使用INDEX来获得E中行的值,一旦发现正确的行号。

所以,而不是MATCH我会使用包含多个条件的IF语句使用数组公式。 现在请注意,数组公式需要用ctrl + shift + enterIF语句如下所示:

 =IF((A1>=C:C)*(A1<=D:D),ROW(A:A),"") 

注意:在这里我没有使用AND公式,因为它不能接受数组。 但是由于布尔variables在Excel中只是1或0,因此乘以标准就可以了。

这现在给我们一个只包含空格和有效行号的数组。 这样,如果第5行和第7行都是有效的,那么数组将如下所示:

 {"","","","",5,"",7,"",...} 

现在,如果我们用一个SMALL封装IF语句,我们可以得到我们想要的任何有效的行。 在这种情况下,因为我们只想要第一个有效的行,我们可以使用:

 =SMALL(IF((A1>=C:C)*(A1<=D:D),ROW(A:A),""),1) 

如果第一个有效行是5,那么这将返回5.增加SMALL公式的K值将允许你抓住第二,第三等有效行。

现在当然,因为我们有行号,一个简单的INDEX将会得到E列中的值:

 =INDEX(E:E,SMALL(IF((A1>=C:C)*(A1<=D:D),ROW(A:A),""),1))