【问题标题】:Excel drop down lists and average functionExcel下拉列表和平均功能
【发布时间】:2016-02-14 00:31:59
【问题描述】:

目前,我有一个公式可以帮助我根据两个下拉列表计算平均值。我对其进行了管理,以便即使任何一个下拉列表为空,也能计算平均值。

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

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

我在编写公式时不知何故迷路了,它返回错误。我觉得我没有考虑所有的可能性。

你能帮帮我吗?

谢谢你:)

【问题讨论】:

标签: excel excel-formula average dropdown


【解决方案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")`

【讨论】:

  • 更难阅读,但效果也很好。建议:使用 [Ctrl]+K 快速缩进您的代码/公式四个空格,而不是“反打勾”它们。保存“反引号”以进行内联格式。
【解决方案2】:

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

  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 中产生匹配的数字,从而导致来自 AVERAGEIFS function#DIV/0! 错误。

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

您可以选择在公式中保留换行符和额外的间距。直观地组织公式并无害。

      

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

这比您的原始版本要复杂一些,原始版本只允许一个标准。随着更多标准出现更多DIV/0! 错误的可能性增加。要根据其他选择限制选择,请参阅Conditional Data Validation based on Dropdown List Response 了解想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多