【问题标题】:Excel Average - Counting the number of variablesExcel 平均值 - 计算变量的数量
【发布时间】:2018-11-19 16:38:24
【问题描述】:

我正在使用excel的平均函数来获取欧洲各个城市的一系列酒店价格的平均值。

=average(21,42,63,84,105)

我希望能够计算每个平均函数中的变量数(例如,在上面的示例中,有 5 个)。数据是从网站上清除的,这就是为什么它采用上述格式而不是放在单独的单元格中的原因。

有没有办法做到这一点,而无需取出变量,将它们放入一个单元格中,然后使用 Text to Columns 将单元格分开?

谢谢!

【问题讨论】:

    标签: excel count average


    【解决方案1】:

    您可以使用FORMULATEXT() 将您的等式转换为字符串,然后通过计算字符串中逗号的实例来推断平均值的数量(这与Total Commas + 1 = Total Values 的最终答案有关


    等式的第一部分计算字符长度逗号。第二部分计算没有逗号的字符长度。区别只是逗号的数量。然后我们添加一个,因为您的最后一个值后面没有逗号

    =LEN(FORMULATEXT(A1))-LEN(SUBSTITUTE(FORMULATEXT(A1),",",""))+1
    

    假设您的平均公式在单元格 A1

    【讨论】:

    • 找不到更好的使用工作表函数的方法。干得好!
    【解决方案2】:

    我喜欢使用 UDF,所以这里有另一种方法。

    您可以为此创建自定义用户定义函数 (UDF)。只需用分隔符拆分函数,然后从UBOUND() 中获取您的号码。

    Public function getNumArgs(inputRng as range) as long
    
        'First check that you are actually looking at a formula
        If Left(inputRng.Formula, 1) <> "=" Then
            getNumArgs = False
            exit function
        End If
    
        getnumargs = ubound(split(inputrng.formula, ",")) + 1
    
    end function
    

    您将添加 1,因为 VBA 使用 Base 0。

    然后,您将像使用任何其他工作表公式一样使用自定义 UDF:

    =getNumArgs(A1)
    

    使用 UDF 的最大好处是您不必记住复杂的公式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      相关资源
      最近更新 更多