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

问题描述 投票:0回答:1

we.tl/t-WIiBZFvM73

任何人都可以帮我解决这个公式吗?我已经完成了 90% 的工作,但我正在努力弄清楚如何获得数组公式来忽略错误单元格。

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

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

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

=索引(A1:A6,匹配(MIN(ABS(C1:C6-D1:D6)),ABS(C1:C6-D1:D6),0))

Ctrl+Alt+Shift。

上面的公式有效,但如果它们是范围 C1:C6 或 D1:D6 中的错误单元格,则会崩溃

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

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

Ctrl+Alt+Shift。

arrays error-handling skip
1个回答
0
投票

在 Excel 中,如果要跳过数组公式中的空白或

#N/A
单元格,可以将 IF 和 ISNA 函数与数组公式结合使用。这是一个例子:

假设单元格

A1:A10
中有一系列值,并且您只想对非空白单元格和
non-#N/A
单元格求和:

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

这是一个数组公式,因此您需要使用 Ctrl + Shift + Enter 来输入它,而不仅仅是 Enter。如果操作正确,Excel 会用大括号 {} 将公式括起来。

以下是公式的细分:

ISNA(A1:A10)
:检查范围内的每个单元格是否为
#N/A
IF(ISNA(A1:A10), 0, ...)
:如果某个单元格为#N/A,则将其替换为 0。
IF(A1:A10<>"", A1:A10):
检查每个单元格是否不为空,如果为真,则保留原始值。
SUM(...)
:最后,总结这些值。 此公式将仅对指定范围内的非空白单元格和
non-#N/A
单元格求和。根据您的实际数据调整范围。

© www.soinside.com 2019 - 2024. All rights reserved.