Excel 具有多个嵌套 IFS 的函数(平均值、标准差等)

Excel Functions (Average, Standard Deviation, etc) with multiple nested IFS

我无法根据 Excel 中的多个条件计算描述性统计数据。

这是数据集的一个子集:

A   B
1   2   

1   3
3   1
1   

空格表示缺少数据 - 我无法重命名空格(例如 -999 或 NaN)

假设我想计算平均值。我知道 A 列 中的值的真实平均值 在 A 列和 B 列中都有一个条目是 1.67(基于将数据过滤到在两列中都有条目的行)。

我已经尝试了一系列函数来解释这种情况(例如,计算 A 列中 A 列和 B 列中均有条目的值的平均值),唯一有效的函数是 AVERAGEIFS .但是,我不能依赖它,因为我想将代码用于任何函数,例如 STDEVFUNCTIONIFS 函数(尚)不存在。

这是我尝试过的方法,但没有成功:

为了便于复制+粘贴,代码如下:

=AVERAGEIFS(A:A,A:A, ">=0",B:B,">=0")
=AVERAGE(IF(A:A >=0,IF(B:B >=0,A:A)))
=AVERAGE(IF(AND(A:A >=0,B:B >=0),A:A))
=IF(A:A >=0,IF(B:B >= 0,AVERAGE(A:A)))
=IF(AND(A:A>=0,B:B>=0),AVERAGE(A:A))
=AVERAGE(IF((A:A>=0)*(B:B),A:A))

回顾一下,需要满足三个条件:

1.我需要引用整个列(例如,A:A)而不是索引它的一个子集(例如,A1:A50)。 2. 我需要将缺失值作为空白 3. 我不能依赖 AVERAGEIFS,因为我希望将代码概括为任何函数(例如 STDEV)

任何指导将不胜感激。

如下:

=AVERAGE(IF(A2:A6<>"",IF(B2:B6<>"",A2:A6)))

使用 Ctrl + Shift 和 Enter 作为数组公式输入。

STDEV 的原理相同

=STDEV.P(IF(A2:A6<>"",IF(B2:B6<>"",A2:A6)))

使用 Ctrl + Shift+Enter.[=13= 作为数组公式输入]

显然,删除整列的行引用,例如=AVERAGE(IF(A:A<>"",IF(B:B<>"",A:A))).


这可能是您要找的:

=AVERAGE(IF(A:A<>"",IF(B:B<>"",A:A,""),""))
=STDEV(IF(A:A<>"",IF(B:B<>"",A:A,""),""))

作为数组公式输入 CTRL-SHIFT-ENTER。

希望对您有所帮助。