【问题标题】:Excel formula: make the average depending on a cellExcel公式:根据单元格计算平均值
【发布时间】:2020-02-15 13:48:03
【问题描述】:

我想创建一个公式,该公式会生成一个 VBA 代码,即使那里有一些 0,也可以为 A 列求平均值。我想将它除以一个单元格中的数字,该单元格对 A 列中的对象进行计数。

我曾经使用过这个公式,但它错误地划分了我的总和,因为我有 0(我想把 0 保留在那里):

=AVERAGE(Sheet1!$B$2:$B$10000)

【问题讨论】:

  • 为什么需要VBA。你可以通过常规公式来做到这一点。
  • 因为它是更大项目的一部分,但公式仍然无法正常工作
  • 那么=sum(B:B)/count(A:A)?
  • @eirikdaude 我试过 =sum(B:B)/E3 并且它现在可以工作了

标签: excel vba excel-formula


【解决方案1】:

最简单的方法是使用sum(B:B)(或者更具体的范围,如果需要)获取B列的总数,使用@987654322获取A列中非空白单元格的数量@(在我的评论中我使用了count,它只计算范围内的数字数量,counta 应该计算所有非空白单元格)。然后,您可以将前者除以后者以获得您要查找的数字,从而得到一个类似于

的公式
=SUM(B:B)/COUNTA(A:A)

如果你已经有单元格中A列的计数(例如E3),那就更简单了,只需使用类似

=SUM(B:B)/E3

【讨论】:

    【解决方案2】:

    您可以将AverageIf 用于此目的,如您在我的示例中所见:

    Row/Column  A   B   C   D
             1
             2      2       =AVERAGE(B2:B5) => value 3
             3      4       =AVERAGEIF(B2:B5;"<>0") => value 4
             4      0
             5      6
    

    【讨论】:

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