这个公式该如何修改呢?

这个公式该如何修改呢?

我的工作簿中只有几张 Excel 表,我需要使用以下公式来获得结果:

=AVERAGEIFS(Motor!E:F;Motor!A:A;">="&DATE(2014;1;1);Motor!A:A;"<="&DATE(2014;12;31))

因此,上述公式适用于范围乙:乙但它不适用于范围乙:丙

如果在公式中直接输入日期,而我把范围列和日期放在里面,那么这个公式是有效的,但我试图最小化工作表中的输入数据文件。例如,如果我有:

=AVERAGEIFS(Motor!E:E;Motor!A:A;Final_Data!F6;Motor!A:A;Final_Data!E6)

在里面F6我有个约会>=2014年1月1日并在E6有日期<=2014年12月31日那么它就起作用了。

这是我正在做的表主表我需要此表中的平均值:

第二张

它看起来应该是这样的:

结果

任何帮助将不胜感激!

答案1

您应该正确使用日期格式。这意味着,日期实际上是起始位置为 1.1.1900 且值为“1”的数字。因此,如果您在任何单元格中插入“1”并将单元格的格式更改为“日期”,您将看到 1.1.1900。对您来说,最好的方法是使用带有函数日期的公式,而不是条件中的计划日期。

所以公式就是

=AVERAGE(AVERAGEIFS(Motor!E:E;Motor!A:A;">="&DATE(2014;01;01);Motor!A:A;"<="&DATE(2014;12;31));AVERAGEIFS(Motor!F:F;Motor!A:A;">="&DATE(2014;01;01);Motor!A:A;"<="&DATE(2014;12;31)))

但是在“Final_Data!”后面仍然缺少一些东西,因为它仅定义了一些工作表,但没有定义您想要评估的单元格。

答案2

抱歉,Eidrizi,但这个缺陷比目前为止提到的要严重得多。(这个致命缺陷是 Muji 在评论中提到的根本原因。)

该函数AVERAGEIFS()要求标准范围在形状和大小上与“sum_range”(即“average_range”)物理匹配。

您希望将其设置为 sum_range(您的平均值范围)宽两列,而两个条件范围宽一列。

第二个公式不起作用,因为你篡改了日期的显示方式。它起作用是因为你将要求平均值的范围移到了单列,该范围与公式中的单列条件范围相匹配。

我将为该问题提供具体的解决方案,因为它可以通过稍微重新组织或将两列物理地(辅助列,实际上只是合并列内容等)或虚拟地(将内容的串联或连接放在公式中而不是单元格引用中(尽管出于某种原因这对我来说不起作用...))变成单个列来解决,以便它符合标准范围的形状和大小。但是...我完全不清楚这里到底发生了什么,因为显示的范围似乎与它们应该的范围相反。

当然,第三种方法是完全使用不同的函数。所以这似乎是完全可以解决的。但如果 flat 不能按建议的方式工作。-IF/-IFS 函数在使用和条件形式上的这种二分法困扰着 Excel 的几乎每一种配对(计数如果/数数独立财务顾问我的意思是-IF/-IFS配对)。

相关内容