Excel下拉列表和平均function

目前,我有一个公式,帮助我根据两个下拉列表计算平均值。 我pipe理它,以便即使在任何一个下拉列表为空的情况下也能计算平均值。

当前双下拉排列的屏幕截图:

Excel捕获

我现在想要做同样的事情,但这次有一个平均的function,与3下拉列表工作:我希望它返回相应的值,当select1,2或3的下拉单元格。

当写公式时,我不知怎么迷路了,它返回一个错误。 我觉得我没有考虑所有的可能性。

你能帮我吗?

谢谢 :)

假设你想添加图片中的名字标准,我想出了下面的公式。 这是相当长的,可能有一个更清洁的方式,但似乎工作。

`=IFERROR(IF(AND(A5<>"",B5="",C5=""),AVERAGEIF(Name,A5,Number), IF(AND(A5="",B5<>"",C5=""),AVERAGEIF(size,B5,Number), IF(AND(A5="",B5="",C5<>""),AVERAGEIF(color,C5,Number), IF(AND(A5<>"",B5<>"",C5=""),AVERAGEIFS(Number,Name,A5,size,B5), IF(AND(A5<>"",B5="",C5<>""),AVERAGEIFS(Number,Name,A5,color,C5), IF(AND(A5="",B5<>"",C5<>""),AVERAGEIFS(Number,size,B5,color,C5), AVERAGEIFS(Number,Name,A5,size,B5,color,C5))))))), "No Combo")` 

您有四个条件可以满足和错误控制,当不匹配的条件不产生任何结果。

  1. A5,B5和C5都可以有数值。
  2. A5,B5和C5都没有价值。
  3. 两个A5:C5单元格可以有值。
    • A5空白
    • B5是空白的
    • C5是空白的
  4. 其中一个A5:C5单元格可以有值。
    • A5有一个值
    • B5有一个值
    • C5有一个值
  5. A5,B5和C5的任何组合(包括空白)都不会产生来自D9:D14的匹配数字,从而产生#DIV/0! 来自AVERAGEIFS函数的错误。

D5中的标准公式是,

 =IFERROR(IF(COUNTA(A5:C5)=3, AVERAGEIFS(D9:D14, A9:A14, A5, B9:B14, B5, C9:C14, C5), IF(COUNTA(A5:C5)=0, AVERAGE(D9:D14), IF(COUNTA(A5:C5)=2, IF(A5="", AVERAGEIFS(D9:D14, B9:B14, B5, C9:C14, C5), IF(B5="", AVERAGEIFS(D9:D14, A9:A14, A5, C9:C14, C5), AVERAGEIFS(D9:D14, A9:A14, A5, B9:B14, B5))), IF(COUNTA(A5:C5)=1, IF(A5<>"", AVERAGEIFS(D9:D14, A9:A14, A5), IF(B5<>"", AVERAGEIFS(D9:D14, B9:B14, B5), AVERAGEIFS(D9:D14, C9:C14, C5))))))), "nothing to avg") 

您可以select在公式中保留换行符和额外的间距。 没有任何有害的和帮助直观地组织配方。

listbox_average

我只使用AVERAGE和AVERAGEIFS函数来简化。 AVERAGEIF函数只是一个只有一个标准的AVERAGEIFS,但是它的参数会翻转,以补偿average_range可能与criteria_range不同的范围。 使用AVERAGEIFS,单独的average_rangecriteria_range不是可选的。 涉及标准时仅使用AVERAGEIFS意味着您可以使用一种语法。

这比你原来的要复杂一点。 随着更多的标准来越来越多的可能性更多的DIV/0! 错误。 要限制基于其他select的select,请参阅基于下拉列表响应的条件数据validation 。