在 Excel 中,我使用 IF 函数并使用 OFFSET 函数在 [value_if_true] 中分配一个值,并使用 0 作为 [value_if_false]。真正的 OFFSET 函数偶尔会返回 #ref! 和 #value! 错误,因为它引用了工作表之外的单元格,因此我重新对其进行了编码,如果 [value_if_true] 偏移函数中引用的单元格不在工作表内,则结果将为 FALSE [value_if_false]。
似乎 Excel 不会在值为 FALSE 时忽略 [value_if_true] 偏移函数。它仍然给我同样的错误。
在 IF 函数中,有没有办法让 Excel 忽略 TRUE 值的功能并仅发布 FALSE 值?我知道我的错误来自 TRUE 值的功能,因为当我仅更改 TRUE 值时,错误就会消失。
这是我的公式:
=IF(($G$4+$D$18)<L54,((OFFSET($B$55,0,(L54-$G$4-$D$18),,))*$F$4*$N$4),"")
答案1
使用 IFERROR 函数。
=IF(($G$4+$D$18)<L54,IFERROR(((OFFSET($B$55,0,(L54-$G$4-$D$18),,))*$F$4*$N$4),""),"")
您也许能够使用此方法摆脱第一个 IF 语句...我不确定您要做什么。
=IFERROR((OFFSET($B$55,0,(L54-$G$4-$D$18),,))*$F$4*$N$4,"")
除非出现错误,否则函数将返回公式中的结果,然后评估第二个语句。