Excel下拉列表和平均function
目前,我有一个公式,帮助我根据两个下拉列表计算平均值。 我pipe理它,以便即使在任何一个下拉列表为空的情况下也能计算平均值。
当前双下拉排列的屏幕截图:
我现在想要做同样的事情,但这次有一个平均的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")`
您有四个条件可以满足和错误控制,当不匹配的条件不产生任何结果。
- A5,B5和C5都可以有数值。
- A5,B5和C5都没有价值。
- 两个A5:C5单元格可以有值。
- A5空白
- B5是空白的
- C5是空白的
- 其中一个A5:C5单元格可以有值。
- A5有一个值
- B5有一个值
- C5有一个值
- 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在公式中保留换行符和额外的间距。 没有任何有害的和帮助直观地组织配方。
我只使用AVERAGE和AVERAGEIFS函数来简化。 AVERAGEIF函数只是一个只有一个标准的AVERAGEIFS,但是它的参数会翻转,以补偿average_range可能与criteria_range不同的范围。 使用AVERAGEIFS,单独的average_range和criteria_range不是可选的。 涉及标准时仅使用AVERAGEIFS意味着您可以使用一种语法。
这比你原来的要复杂一点。 随着更多的标准来越来越多的可能性更多的DIV/0!
错误。 要限制基于其他select的select,请参阅基于下拉列表响应的条件数据validation 。