我无法使输入单元格的不连续范围(例如(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 作为数组返回到公式中。
这对某些公式有效,但不是全部。
它确实在Slope
和Intercept
=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)))))
(第二组显示正确的输出)
正如您所看到的,它跳过了99
B3 中的,而仅返回了1,2,3
其他单元格中的。
我们还可以调整它以跳过非数字:
INDEX(A:A,N(IF(ISNUMBER(A2:A5),ROW(A2:A5))))
其思想是创建一个行号数组并将其提供给 INDEX,然后返回该行中的所有数字。
作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter。