Excel下拉列表和平均功能

时间:2016-02-14 00:32:00

标签: excel excel-formula average dropdown

目前,我有一个公式可以帮助我根据两个下拉列表计算平均值。我管理它,以便即使任何一个下拉列表都是空的,也可以计算平均值。

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

Excel Capture

我现在想做同样的事情,但这次有一个平均功能,可以使用3个下拉列表:我希望它返回选择下拉单元格中1,2或3时对应的值。

我在编写公式时会以某种方式迷路并返回错误。我觉得我没有考虑所有可能性。

你可以帮帮我吗?

谢谢:)

2 个答案:

答案 0 :(得分:1)

假设您想要添加图片中的名称标准,我想出了以下公式。它很长,可能有一种更清洁的方式,但似乎有效。

`=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 :(得分:0)

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

  
      
  1. A5,B5和C5都可以有值。
  2.   
  3. A5,B5和C5都没有值。
  4.   
  5. 两个A5:C5细胞可以有值。      
        
    • A5为空白
    •   
    • B5是空白
    •   
    • C5是空白
    •   
  6.   
  7. 其中一个A5:C5细胞可以有值。      
        
    • A5有一个值
    •   
    • B5具有值
    •   
    • C5具有值
    •   
  8.   
  9. A5,B5和C5的任意组合(包括空白)都不会产生与D9:D14匹配的数字,导致AVERAGEIFS function出现#DIV/0!错误。
  10.   

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")

您可以选择在公式中保留换行符和额外间距。在视觉上组织公式没有任何不利和帮助。

listbox_average

为简单起见,我只使用了AVERAGEAVERAGEIFS函数。 AVERAGEIF函数只是一个只有一个条件的AVERAGEIFS但它的参数翻转以补偿 average_range criteria_range <的范围不同的选项/ em>的。对于AVERAGEIFS,单独的 average_range criteria_range 不是可选的。在涉及标准时仅使用AVERAGEIFS意味着您可以使用一种语法。

这比你原来的要复杂得多,只允许一个标准。随着更多标准的出现,出现更多DIV/0!错误的可能性增加。要根据其他选择限制选择,请参阅Conditional Data Validation based on Dropdown List Response了解相关信息。