跳过数组公式中的空白或 #N/A 单元格

Skip blank or #N/A cells within array formula

提问人:Jay K 提问时间:11/16/2023 最后编辑:Jay K 更新时间:11/19/2023 访问量:33

问:

we.tl/t-bdhFMMp468

谁能帮我这个公式。

我正在比较 C 列和 D 列,以找到两列之间的最小差异,然后我从 A 列返回它的位置

我已经上传了一个示例来澄清。该公式在第一个示例中有效!,但不幸的是,在第二个示例中,一旦在任一范围内找到错误单元格,该公式就会崩溃。

我试图弄清楚如何让它工作,而不管空白或 #N/A 错误单元格如何

=INDEX(A1:A6,MATCH(MIN(ABS(C1:C6-D1:D6)),ABS(C1:C6-D1:D6),0))

Ctrl alt 移位。

上述公式有效,但如果在 C1:C6 或 D1:D6 范围内存在错误单元格,则会分解

下面的公式忽略了错误单元格并返回 C 和 D 之间范围之间的最小差异,但它没有返回 A 列的位置,我似乎无法弄清楚 =(

=MIN(IF(NOT(ISNA(ABS(C1:C6-D1:D6))),ABS(C1:C6-D1:D6)))

Ctrl alt 移位。

数组 错误处理 跳过

评论


答:

0赞 Abdul Samad 11/16/2023 #1

image

在Excel中,如果要跳过数组公式中的空白或单元格,则可以将and函数与数组公式结合使用。#N/AIFISNA

下面是一个示例:

假设您在单元格中有一个值范围,并且您只想对非空白和单元格求和:A1:A10non-#N/A

=SUM(IF(ISNA(A1:A10), 0, IF(A1:A10<>"", A1:A10)))

这是一个数组公式,因此您需要使用 ++ 而不是 .如果操作正确,Excel 将用大括号 .CtrlShiftEnterEnter{}

以下是公式的细分:

  • ISNA(A1:A10):检查区域中的每个单元格是否为 。#N/A

  • IF(ISNA(A1:A10), 0, ...):如果单元格为 #N/A,请将其替换为 0。

  • IF(A1:A10<>"", A1:A10):检查每个单元格是否不为空,如果为 true,则保留原始值。

  • SUM(...):最后,对值求和。

此公式将仅对指定范围内的非空白和单元格求和;根据您的实际数据调整范围。non-#N/A

评论

0赞 Jay K 11/17/2023
感谢您的帮助,我可以省略错误,但我无法从 A 列返回位置。我试图获得两个范围 C 和 D 之间的最小差异,然后从 A 列返回它的位置。该公式可以完成我想要做的事情,它不会忽略错误,我不知道如何将其合并到公式中