文本中的总和数

问题描述 投票:1回答:1

我在单元格中将以下数字作为文本:

"12-14-14-16-18-10"

现在我需要计算平均值但我不想创建额外的列,因为数据的长度不同。

有没有办法用公式做到这一点?

libreoffice libreoffice-calc
1个回答
0
投票

换句话说:你想用“ - ”字符拆分字符串值并计算其元素的平均值? AFAIK解决此问题的唯一方法是使用小宏(AKA用户定义函数),因为LO Calc不在电子表格级别提供拆分/标记化功能。

快速而肮脏的解决方案可能如下所示:

Function split_average(a)
    Dim theArray(UBound(Split(a, "-"))) As Integer
    theArray = Split(a, "-")
    Dim SumVal As Integer
    For i = 0 To UBound(theArray)
        SumVal = SumVal + theArray(i)
    Next i
    split_average = SumVal / (UBound(theArray) + 1)
End Function

当然,没有类型检查等等,所以请自行承担风险。要使用它,只需将其复制到StarBasic标准模块,保存,然后使用=split_average(A1)在电子表格中调用它。有关用户定义的函数,请参阅the LO Calc docs

© www.soinside.com 2019 - 2024. All rights reserved.