提问人:Jay K 提问时间:11/16/2023 最后编辑:Jay K 更新时间:11/19/2023 访问量:33
跳过数组公式中的空白或 #N/A 单元格
Skip blank or #N/A cells within array formula
问:
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 移位。
答:
在Excel中,如果要跳过数组公式中的空白或单元格,则可以将and函数与数组公式结合使用。#N/A
IF
ISNA
下面是一个示例:
假设您在单元格中有一个值范围,并且您只想对非空白和单元格求和:A1:A10
non-#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
评论