在 Microsoft Excel 中添加基于数据验证列表的条件

Adding condition based on Data Validation List in Microsoft Excel

我遇到了一道小 excel 公式问题。我正在尝试使用 AVERGEIFS。这个函数的设置是

AVERAGEIFS(average_range,criteria_range1,criteria1,criteria_range2,criteria2,...)

要注意的是,我希望根据数据验证列表是 Yes 还是 No 来包含条件及其范围 [criteria_range1,criteria1]。例如,如果列表当前设置为 Yes return:

AVERAGEIFS(average_range,criteria_range1,criteria1)

如果没有那么return

AVERAGEIFS(average_range,criteria_range1,criteria1,criteria_range2,criteria2)

如果我只有一个包含 YesNo 的数据验证列表,我会使用 IF 函数来处理这个问题,但我有几个,准确地说是三个。所以我想设置一个公式,根据其对应的数据验证列表是 Yes 还是 No.

来包含 [criteria_range,criteria]

我希望这是有道理的。我正在使用 OSX。谢谢!

编辑:

在我的问题中,选择了 name 以及下面数据集中的相应属性。在下面的 average 框中,我希望看到在 John 的情况下具有相同属性的行的平均值 value,它是蓝色、type1 = 1 和 type2 = 100 的任何行。如果我只需使用常规 AVERAGEIFS 函数即可。

我想弄清楚的是如何忽略其中一个属性并找到该组的平均值。因此,如果我 select 忽略 type1yes,那么 average 将 return 具有 color = red 和 [= 的行的平均值 value 34=]

从您的示例屏幕截图来看,您的 criteria1 可能看起来像:

"=" & B3

我会将其替换为:

IF(D3="yes","<>ABCDEF","=" & B3)

其中 ABCDEFcriteria_range1 中不存在的任何字符串,因此 <>ABCDEF 条件始终为真。这个技巧应该适用于每种类型的数据(字符串、数字、日期、空白)。

示例屏幕截图的完整公式为:

=AVERAGEIFS(E7:E15,C7:C15,IF(D3="yes","<>ABCDEF","=" & B3),D7:D15,
IF(D4="yes","<>ABCDEF","=" & B4),B7:B15,"=" & B2,A7:A15,"=" & B1)