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

时间:2014-11-30 04:13:07

标签: excel excel-formula

我想在RANGE中搜索值"是"如果我找到它,则返回TRUE。 我知道列号,我知道行号,但因为行号是动态确定的,所以我不能硬编码。

例如,如果我可以硬编码,我的公式就是......

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

数字" 60"在这个公式中是动态的,必须从另一个存储" 60"的值的单元格派生。

如何更换号码" 60"参考另一个单元格(包含数字)?例如,包含数字60(由另一个公式导出)的单元格是单元格B44。

所以,我想做的就是说......

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

感谢。

2 个答案:

答案 0 :(得分:2)

对于需要动态的公式部分,使用间接函数(字符串作为公式)。

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

答案 1 :(得分:2)

使用INDIRECTOFFSET会生成 volitile 函数(每次计算工作表时都会评估一个函数,无论其输入是否有任何更改)。这会大大减慢您的工作表计算速度。

您的公式不符合您的预期:如果范围内没有Yes,则会返回错误,而不是FALSE

要获得非动态动态行引用,请尝试

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