我想在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 )
感谢。
答案 0 :(得分:2)
对于需要动态的公式部分,使用间接函数(字符串作为公式)。
=IF( (MATCH("Yes",INDIRECT("$E$" & $B$44 & ":$K$" & $B$44),0)) > 0, TRUE,FALSE )
答案 1 :(得分:2)
使用INDIRECT
或OFFSET
会生成 volitile 函数(每次计算工作表时都会评估一个函数,无论其输入是否有任何更改)。这会大大减慢您的工作表计算速度。
您的公式不符合您的预期:如果范围内没有Yes
,则会返回错误,而不是FALSE
要获得非动态动态行引用,请尝试
=IFERROR( (MATCH("Yes",INDEX($E:$K,$B$44,0),0))>0,FALSE )