#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