Сумма Чисел С Разделителем По Формуле в Excel 2019

#excel #excel-formula #excel-2010

Вопрос:

У меня есть ячейка с текстом как 0.4-2-10-0.5 . Как я могу создать формулу или функцию, используя VBA, чтобы суммировать каждый элемент в ячейке 0.4 2 10 0.5 = 12.9 ? Я попробовал формулу из https://www.extendoffice.com/documents/excel/3959-excel-sum-numbers-with-commas.html. Однако в моем случае это неправильно. Спасибо

Ответ №1:

Поскольку вы отметили Excel 2010 , FILTERXML настройка P. b не будет для вас вариантом. Попробуй:

=SUMPRODUCT(0 TRIM(MID(SUBSTITUTE(A1,"-",REPT(" ",25)),1 25*(ROW(INDEX(A:A,1):INDEX(A:A,1 LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))-1),25)))

Комментарии:

1. Хорошенькая. Я тоже это видел, но в названии упоминался Excel 2019, поэтому все равно опубликовал его. Ваш не только работает с предыдущими версиями Excel, он также будет работать в системах, отличных от Windows.

2. А, хорошая мысль. Название гласит 2019 год, вы правы!

Ответ №2:

Формула решения будет такой: =SUM(FILTERXML("<y><z>"amp;SUBSTITUTE(A1,"-","</z><z>")amp;"</z></y>","//z")) где A1 будет содержаться данный текст. Примечание: эта формула FILTERXML работает только в системах Windows.

Ответ №3:

Кажется, для меня это отлично работает. Держитесь подальше, ваш язык может по-разному интерпретировать точку:

 Sub test()
Dim s As String
s = "0.4-2-10-0.5"
a = Split(s, "-")
Dim sum As Double
sum = 0
For Each t In a
  sum = sum   CDbl(t)
Next t
End Sub