Excel 中双参数函数的输入单元格范围不连续

Excel 中双参数函数的输入单元格范围不连续

我无法使输入单元格的不连续范围(例如(A2:A2;A4:A5)在 Excel 中的双参数(也许是多参数)函数中工作)起作用:以下内容不会产生任何错误消息,但会产生#VALUE

=COVARIANCE.S((A2:A2;A4:A5);(B2:B2;B4:B5))

我怎样才能让它工作?

答案1

您可以创建一个具有 Index 数组形式的数组或数字:

INDEX(A:A,N(IF(A2:A5<>"",ROW(A2:A5))))

这会将每个非空单元格 A2:A5 作为数组返回到公式中。

这对某些公式有效,但不是全部。

它确实在SlopeIntercept

=INTERCEPT(INDEX(A:A,N(IF(A2:A5<>"",ROW(A2:A5)))),INDEX(B:B,N(IF(A2:A5<>"",ROW(A2:A5)))))
=SLOPE(INDEX(A:A,N(IF(A2:A5<>"",ROW(A2:A5)))),INDEX(B:B,N(IF(A2:A5<>"",ROW(A2:A5)))))

(第二组显示正确的输出)

在此处输入图片描述

正如您所看到的,它跳过了99B3 中的,而仅返回了1,2,3其他单元格中的。

我们还可以调整它以跳过非数字:

INDEX(A:A,N(IF(ISNUMBER(A2:A5),ROW(A2:A5))))

其思想是创建一个行号数组并将其提供给 INDEX,然后返回该行中的所有数字。

作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter。

答案2

这个公式根本不是关于输入单元格的不连续范围,它被想象为具有连续范围的计算。它返回#VALUE错误,因为您可能满足了形式,但整个公式的定义是错误的。如果您没有太多数据需要计算,您可以随时手动进行。看这个例子:

例子

在示例文件中,您可以看到通用公式和类似于您的小示例。

当您感到陷入困境或没有时间完成所需工作时,您可以随时将数据复制到另一张表中并进行必要的计算。

相关内容