我很难根据Excel中的多个条件来计算描述性统计信息。
这是数据集的子集:
A B
1 2
1 3
3 1
1
空白表示缺少数据-我无法重命名空白(例如-999或NaN)
假设我要计算平均值。我知道,在A列和B列中都有一个条目的A列中的真实平均平均值是1.67(基于将数据过滤到在两个列中都有条目的行中得出的结果)。
我尝试了一系列函数来解决这种情况(例如,计算A列和B列中都有条目的值的A列平均值),并且唯一有效的函数是AVERAGEIFS
。但是,我不能依靠它,因为我想将代码用于任何功能,例如STDEV
,尚不存在FUNCTIONIFS
函数。
这是我尝试过的,没有运气:
以下是易于复制和粘贴的代码:
=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)
任何指导将不胜感激。
答案 0 :(得分:2)
如下:
=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 输入作为数组公式。
很明显,删除整个列的行引用,例如=AVERAGE(IF(A:A<>"",IF(B:B<>"",A:A)))
。
答案 1 :(得分:1)
这可能是您想要的:
with
输入数组公式CTRL-SHIFT-ENTER。
希望有帮助。