我在单元格中将以下数字作为文本:
"12-14-14-16-18-10"
现在我需要计算平均值但我不想创建额外的列,因为数据的长度不同。
有没有办法用公式做到这一点?
换句话说:你想用“ - ”字符拆分字符串值并计算其元素的平均值? 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。