Страницы: 1
RSS
Суммировать числа невзирая ни на что.
 
Здравствуйте. Подскажите пожалуйста. Допустим,в ячейке А1 находятся данные с числами. Но не только числа, но и знаки препинания, скобки и другие символы. Как игнорируя символы суммировать все числа и вывести сумму в ячейку А2.
Вот пример.
 
1 из вариантов, для конкретного примера, макрофункция:
(макросы - разрешить)
Изменено: Nic70y - 01.09.2013 08:15:10
 
Простите, силился понять  - не могу). А через простой макрос, чтобы назначить ему кнопку - можно ?
 
Через простой макрос неумею :(
но найдутся те кто умеет,
а по поводу моего варианта: сначала использовал ПОДСТАВИТЬ, потом макрофункцию вычислить.

ЗЫ: набрал в справке excel 2013 макрофункции, нашла это:
http://www.excelworld.ru/publ/funcs/makrofuncs/makrofuncs/24-1-0-50
 
Всё равно не в силах. Может потому что у меня старенький 2003-й Эксель. Может кто-нибудь подскажет макрос  :)
 
UDF
Код
Function fSum(x)
    Dim i&, a, s&
    For i = 1 To Len(x)
        If Not Mid(x, i, 1) Like "#" Then Mid(x, i, 1) = " "
    Next
    a = Split(Application.Trim(x))
    For Each e In a: s = s + CLng(e): Next
    fSum = s
End Function


с учётом
Цитата
силился понять - не могу
- внимательно читаем http://planetaexcel.ru/techniques/3/59/
особенно раздел "Создание пользовательских функций на VBA"
если останутся вопросы - то ещё вот это: Что такое функция пользователя(UDF)?
Изменено: ikki - 01.09.2013 10:18:56
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Макрофункция ВЫЧИСЛИТЬ()

P.S. Nic70y, я не подсматривал :)
Думал, там код.
 
офф
Цитата
ЗЫ: набрал в справке excel 2013 макрофункции, нашла это:
и тут я крепко задумалось...  :D
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
А в Экселя 2003-го года можно было бы сделать ? Всё вышеизложенное относится видимо к более новым версиям Эксель.
 
Цитата
относится видимо
поделитесь, пожалуйста, логической цепочкой умозаключений, приведших Вас к этому ошибочному выводу.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
серж1982, она же у Вас работает.
Офф: на счет справки 2013 - уже не первый раз "выкидывает" на форумы, а говорят, что "мы" не техподдержка :)
 
Как узнать есть ли формула в ячейке?
Прочитайте, там написано как создать и где в Excel 2003 это расположено. И что необходимо для работы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Nic70y, ikki, vikttur, The_Prist - я прошу у всех прощения.
Цитата
серж1982, она же у Вас работает.
Всё работает, просто после бессонной ночи у меня не хватило ума просто вставлять новые данные в ячейку А1. Всё же работает автоматом. Тысячу извинений - затупил, так затупил  :)
Изменено: серж1982 - 01.09.2013 10:55:04
 
серж1982
В Excel 2003 для варианта от Nic70y посмотрите
Вставка - Имя - Присвоить  там будет имя: Сумма,
а внизу формула:=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(Лист3!A1;":";"+");",";"+"))
 
Kuzmich, понял, спасибо. А я искал через Вставка - Функция.
Страницы: 1
Наверх