在Excel中,当我知道行号时如何匹配一个数组

我想search范围的值是“是”,如果我find它返回TRUE。 我知道列号,我知道行号,但因为行号是dynamic确定的,所以我不能对其进行硬编码。

例如,如果我可以硬编码,我的公式将是…

=IF( (MATCH("Yes",$E$60:$K$60,0)) > 0, TRUE,FALSE ) 

此公式中的数字“60”是dynamic的,并且必须来自存储该值“60”的另一个单元格。

如何将数字“60”replace为另一个单元格(包含该数字)的引用? 例如,包含数字60(由另一个公式导出)的单元格是单元格B44。

所以,我想要做的是说…

 =IF( (MATCH("Yes",$E${B44}:$K${B44},0)) > 0, TRUE,FALSE ) 

谢谢。

使用间接函数(string作为公式)您需要dynamic的公式部分。

 =IF( (MATCH("Yes",INDIRECT("$E$" & $B$44 & ":$K$" & $B$44),0)) > 0, TRUE,FALSE ) 

使用INDIRECTOFFSET生成一个volitile函数(每次计算表单时都会对其进行评估,而不pipe其input是否已更改)。 这可能会显着减慢表单计算的速度。

您的公式与您的预期不符:如果范围中没有“ Yes ”,则返回错误,而不是“错误”

要获得一个非volitiledynamic行参考尝试

 =IFERROR( (MATCH("Yes",INDEX($E:$K,$B$44,0),0))>0,FALSE )