将 ISERROR 与多个函数嵌套

将 ISERROR 与多个函数嵌套

我接手了一个使用以下公式的项目,但我很难理解它。此公式的原作者已不再在公司工作,其他人无法遵循它并将其用于其他应用程序。嵌套的 MATCH 函数如何与 IF 和 ISBLANK 配合使用。有人理解这个吗?仅供参考范围摘要数据输入表'!$A$3:$A3指的是此公式正上方的单元格(公式位于此处:摘要数据输入表'!A4

{=IF(ISERROR(INDEX('商品清单'!$C$3:$C$107,MATCH(0,IF(ISBLANK('商品清单'!$C$3:$C$107),1,COUNTIF('汇总数据输入表'!$A$3:$A3,'商品清单'!$C$3:$C$107)),0))),"",INDEX('商品清单'!$C$3:$C$107,MATCH(0,IF(ISBLANK('商品清单'!$C$3:$C$107),1,COUNTIF('汇总数据输入表'!$A$3:$A3,'商品清单'!$C$3:$C$107)),0)))}

答案1

MATCH 返回“项目列表”!$C$3:$C$107 中第一个单元格的相对行号,该单元格不为空白 ( ISBLANK('Item List'!$C$3:$C$107)) 并且还不在Summary Data Entry SheetA 列中创建的列表中 ( COUNTIF('Summary Data Entry Sheet'!$A$3:$A3,'Item List'!$C$3:$C$107))。

此公式必须放在 A 列第 4 行。 $A$3:$A3引用将随着复制/向下拖动而发生变化,以始终将 A3 包含到正上方的单元格中作为要计算的范围。

该相对行号用于 INDEX() 返回项目列表'!$C$3:$C$107 中的值。

最终,匹配将用尽列表中满足条件的项目,并返回错误。如果出现错误,则外部 IF 测试将返回空字符串。

在 Excel 的更高版本中,可以使用 IFERROR 简化:

=IFERROR(INDEX('Item List'!$C$3:$C$107,MATCH(0,IF(ISBLANK('Item List'!$C$3:$C$107),1,COUNTIF('Summary Data Entry Sheet'!$A$3:$A3,'Item List'!$C$3:$C$107)),0)),"")

公式周围{}的文字是 Excel 用来表示数组公式的。

退出编辑模式时,使用 Ctrl-Shift-Enter 而不是 Enter 来确认公式即可。如果操作正确,Excel 会将 放在{}公式周围。请勿直接输入它们。

相关内容