#VALUE 使用 AVERAGEIFS 时出错;范围从 > 0 开始出错

#VALUE 使用 AVERAGEIFS 时出错;范围从 > 0 开始出错

我有按两个标准分类的数据,从 B2 开始,标题为 B1 -> BV1 和 A2 -> A101。

单元格 A1 包含数据标签“MYDATA”。

单元格 B1 -> BV1 是 6 的因数:0、6、12、18...354。这些是箱的起始值,其中 0 表示数据,其中 0 <= 数据 < 6。单元格 A2 -> A101 是 0.25 的因数:0.25、0.50、0.75...49.75。这些是箱的中间值,其中 0.25 表示数据,其中 0.00 <= 数据 < 0.50。

以下是快照:

MYDATA  0       6       12      18
0.25    0.014   0.013   0.011   0.010
0.75    0.135   0.122   0.120   0.120
1.25    0.451   0.434   0.442   0.442

我希望将这些数据重新分类到更少的箱子中,这样做本质上就是对它们进行平均。

我希望按整数重新排列行,如 0 -> 1、1 -> 2 等,最多为 30(原始数据中超过 30 的数据将被排除)。从 B6 = 0 开始(然后 B7 = 1 下降到 B36 = 30)并按 30 的值重新排列列,因此 0、30...330。从 C5 = 0 开始,然后 D5 = 30 直到 N5 = 330。

我尝试使用 AVERAGEIFS 来执行此操作,并在单元格 C6 中输入以下公式(用 $ 锁定的列和行,准备拖动以形成完整的表格):

AVERAGEIFS('DATA'!$A$1:$BI$101,'DATA'!$B$1:$BI$1,">"&C$5,'DATA'!$B$1:$BI$1,"<="&D$5,'DATA'!$A$2:$A$101,">"&$B6,'DATA'!$A$2:$A$101,"<"&$B7)

这返回了 #VALUE 错误。为了解决这个问题,我使用了公式 -> 求值公式 -> 求值中的“求值公式”选项。这会突出显示我的第一个标准 >C5(写为 ">"&C5),点击“求值”后会将其更改为 ">"&0。

查看我的数据,它为 C5 提取了正确的值;0。但是我不明白为什么这会返回 #VALUE 错误。我的理解是,这是定义从 MYDATA 中选择的列范围的开始的第一个条件。列范围的结束由 D5(= 30)给出。

我的理解或方法有什么错误?

答案1

您在列和行中设置了条件。对于这种类型的设置,您不能使用AVERAGEIFS,但可以使用“数组公式”,如下所示:

=AVERAGE(IF('DATA'!$B$1:$BI$1>C$5,IF('DATA'!$B$1:$BI$1<=D$5,IF('DATA'!$A$2:$A$101>$B6,IF('DATA'!$A$2:$A$101<$B7,'DATA'!$B$2:$BI$101)))))

已确认CTRL++SHIFTENTER

注意 1:平均范围在最后。
注意 2:也许你需要<=$B7,否则你会错过一些值

相关内容