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

时间:2018-07-19 16:17:28

标签: excel if-statement excel-formula nested nested-if

我很难根据Excel中的多个条件来计算描述性统计信息。

这是数据集的子集:

A   B
1   2   

1   3
3   1
1   

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

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

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

这是我尝试过的,没有运气:

enter image description here

以下是易于复制和粘贴的代码:

=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)

任何指导将不胜感激。

2 个答案:

答案 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。

希望有帮助。