-1

我尝试在这里寻找解决方案,但遗憾的是我找不到与我相关的足够相似的问题。我有一个很长的 AVERAGEIFS 公式:

=AVERAGEIFS(Hoofdtab!AE2:AE19883;
    Hoofdtab!V2:V19883;"="&'Statistics Query'!F4;
    Hoofdtab!V2:V19883;"="&'Statistics Query'!F5;
    Hoofdtab!V2:V19883;"="&'Statistics Query'!F6;
    Hoofdtab!V2:V19883;"="&'Statistics Query'!F7;
    Hoofdtab!I2:I19883;">="&F8;
    Hoofdtab!I2:I19883;"<="&F9;
    Hoofdtab!X2:X19883;"="&F10)

以下屏幕截图应提供更清晰的信息:

公式/工作表概述

参考列表中有很多“产品”条目。我想这样做,以便我可以一次过滤两个/三个/四个(单元格 F5 / F6 / F7)产品。目前我使用星号作为“一切都很重要”的标志。在示例中,我只使用一种产品,这很有效。但是,一旦我在单元格 F5 中添加第二个产品,我就会得到 #DIV/0!错误。有谁知道我该如何解决这个问题?

我正在使用 Excel 2019

亲切的问候,

VHes

4

1 回答 1

1

要解决您的问题,您需要返回一个数组,您可以从中返回相关值。 AVERAGEIFS要求所有条件都为真。但是您似乎希望几个条件中的一个任何一个为真,并结合另一组条件,其中两个条件必须始终为真。

这是一个示例,您可以将这些原则应用于您的实际问题。

给定以下数据:

在此处输入图像描述

认为

  • 我们要选择任何可能包含的列表a, b, and/or c
  • 我们想包括一个日期范围。
  • 我们要平均value列中的相关值
  • 我们命名为
    • 字母列critRng1
    • 日期列critRng2
    • 值列avgRng

我们有一个包含我们的暴击值的范围(名为crit1 我们有一个范围,其中包含范围的开始日期和结束日期(DATE1DATE2

对于本练习,我们将假设

  • crit1注意空单元格

在此处输入图像描述

和我们的日期:

在此处输入图像描述

公式: =1/(critRng1=TRANSPOSE(crit1))*1/(critRng2>=DATE1)*1/(critRng2<=DATE2)*avgRng

将返回一个值数组

在此处输入图像描述

请注意,我们希望平均的期望值存在,以及一堆#DIV/0!错误。

由于该AVERAGE函数将忽略文本,我们可以使用IFERRORandAVERAGE得到答案:

=AVERAGE(IFERROR(1/(critRng1=TRANSPOSE(crit1))*1/(critRng2>=DATE1)*1/(critRng2<=DATE2)*avgRng,""))

或者,更短一点:

=AVERAGE(IFERROR(1/((critRng1=TRANSPOSE(crit1))*(critRng2>=DATE1)*(critRng2<=DATE2))*avgRng,""))

对于上述条件,公式将返回4 (的平均值5, 4 and 3

于 2020-12-13T02:34:28.627 回答