Ale*_*exB 5 excel excel-formula
我需要能够找到匹配条件from的行数A1等于或大于列中的值C且小于或等于列中的值的行号D
我可以使用INDEX和MATCH组合但不确定这是否应该用于多个标准匹配.
任何帮助或建议都非常感谢.
cha*_*cea 10
MATCH因为你有多个标准,我不会用来获取行号.INDEX但是,一旦发现了正确的行号,我仍然会使用它来获取E中行的值.
因此,MATCH我将使用IF包含多个条件的语句来使用数组公式.现在请注意,需要使用ctrl+ shift+ 输入数组公式enter.该IF声明是这样的:
=IF((A1>=C:C)*(A1<=D:D),ROW(A:A),"")
Run Code Online (Sandbox Code Playgroud)
注意:我没有在AND这里使用公式,因为它不能使用数组.但由于在Excel中布尔值只是1或0,所以乘以标准就可以了.
现在,这给了我们一个只包含空格和有效行号的数组.这样,如果第5行和第7行都有效,那么数组将如下所示:
{"","","","",5,"",7,"",...}
Run Code Online (Sandbox Code Playgroud)
现在,如果我们IF使用a 封装该语句,SMALL我们可以获得我们想要的任何有效行.在这种情况下,因为我们只想要第一个有效的行,我们可以使用:
=SMALL(IF((A1>=C:C)*(A1<=D:D),ROW(A:A),""),1)
Run Code Online (Sandbox Code Playgroud)
如果第一个有效行为5,那么将返回5.增加公式的K值SMALL将允许您获取第2,第3等有效行.
现在当然,因为我们有行号,一个简单的INDEX将获得E列中的值:
=INDEX(E:E,SMALL(IF((A1>=C:C)*(A1<=D:D),ROW(A:A),""),1))
Run Code Online (Sandbox Code Playgroud)