Страницы: 1
RSS
Как убрать лишние символы в ячейке и просуммировать
 
Добрый день, уважаемые.
Я тут новенький, подходящих тем не нашел. Помогите, пожалуйста.

Суть проблемы в том, что нужно просуммировать все числа в ячейке такого вида 7990<br>7990<br>4290<br>4290<br>8490 и протянуть формулу по всему столбцу.
 
числа внутри всегда 4-х значные? файл не смотрел. :)
Изменено: V - 07.03.2018 12:38:47
 
От 3 значений до 6
 
вариант.
в именновынный диапазон (ctrl+F3) загнать формулу
Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(Лист1!A2;"<br>";"+"))
Изменено: V - 07.03.2018 12:49:02
 
Добрый день. Можно через UDF (функция, определенная пользователем) решить.
Скрытый текст
Кому решение нужно - тот пример и рисует.
 
Добрый день!
Вариант:
1. Заменить в столбце <br> на +
2. Выделить все ячейки
3. Вставить курсор в строку формулы, ввести =
4. Нажать Ctrl+Enter
 
Вариант макросом. Макрос обработает все данные в столбце "A", начиная со строки 2. Результат будет вставлен в столбец "B".
Макрос
 
еще вариант UDF

 
Код
Function MySum&(text$)
       Dim i&,O As Object
  With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True : Set O=.Execute(text)
    For i = 0 To O.Count - 1: MySum = MySum + O(i): Next
  End With
End Function
Изменено: кузя1972 - 07.03.2018 21:22:01
 
Karataev,  а так не проще?
Код
arrSrc = Range("A2",Cells(Rows.Count, "A").End(xlUp)).value
 
V, нет, это не упрощает макрос, т.к. надо дальше проверять, массив у нас или нет. Если массив, то такое-то действие, если не массив, то другое. Короче код не получится.
 
Karataev, Пытливый, Arturus, V, кузя1972 спасибо вам огромное.
Дальше буду разбираться, для меня начинающего непонятно как вставить ваши предложенные коды UDF к себе в Excel
 
У меня не UDF, у меня просто макрос. Его можно запускать из VBE, можно сделать кнопку для запуска макроса.
 
wkdsog,в ответ на #11:преимущество UDF,-простота,сначала сохраните Ваш файл ,как книга Excel 1997-2003 или с поддержкой макросов.Запишите первый макрос:
Серис-Макрос-запись макроса-Остановить запись.Затем вслед за записанным макросов скопируйте текст функции (UDF).Затем в ячейке набирайте = и название
функции(выскочит контекстное меню для ускорения),в скобках ячейка с данными(например A1),-как обычные формулы.Если стереть первый записанный макрос.То доступ к тексту функции Разработчик-Visual Basic,как вариант.
 
Цитата
кузя1972 написал:
преимущество UDF
Преимущество перед чем Вы не уточнили.
 
кузя1972, и макрос запишет формулу для одного КОНКРЕТНОГО случая - в чём простота-то?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Добавлю ,Karataev- простота по сравнению с формулами ,-часто в десятки символов.
Jack Famous ,Вы опытный пользователь,я ответил для тех,кто впервые столкнулся с UDF  и не знает ,куда скопировать текст функции,запись первого макроса(Макрос1),как один из вариантов ,начала работы в новой книге Excel.
 
кузя1972, если сравнивать длиннющую функцию из вложенных подфункций листа с повторяющимися аргументами, то написать UDF, в которой все аргументы не повторяются - отличный вариант (сам так делаю). Но нужно понимать, что "кишка" стандартных формул будет работать на любом компе, а UDF нужно переносить в каждую книгу или делать надстройку. Кроме того, вы не сказали, универсальнее ЧЕГО UDF, из-за чего у меня (думаю, что у Karataev'а тоже) сложилось впечатление, что вы сравниваете макрос и UDF (что абсурдно, поскольку для каждой задачи нужен свой подход).

Ну и, наконец, предложенный вами вариант и UDF-то назвать можно с большой натяжкой (только по определению), т.к. макрорекрдер запишет КОНКРЕТНУЮ операцию ввода формулы (причём ссылками R1C1) — это ОЧЕНЬ неуниверсально…  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
wkdsog, по мотивам моей недавней темы… Убирает ВСЕ НЕчисла, поэтому работает только с целыми числами (если в тексте будет десятичное число (например "25,68"), то он заменит запятую на пробел и сложит (25+68).
ещё вариант на регулярках
было время - прокомментировал вам код  ;)

P.S.: это тоже, что у Кузи, только с "другой стороны", массивами и проверками. Да и дольше, наверняка  :D
Изменено: Jack Famous - 07.03.2018 18:26:33
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх