Сумма чисел в тексте - PullRequest
       22

Сумма чисел в тексте

0 голосов
/ 13 февраля 2019

У меня есть следующие числа в виде текста в ячейке:

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

И теперь мне нужно вычислить среднее значение, но я не хочу создавать дополнительные столбцы, так как длина данных варьируется.

Есть ли способ сделать это с помощью формулы?

1 Ответ

0 голосов
/ 13 февраля 2019

Другими словами: вы хотите разделить строковое значение символом «-» и вычислить среднее значение его элементов?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).Общие сведения о пользовательских функциях см. В документах LO Calc .

.
...