Просуммировать цифры через запятую в ячейке
l-lisa
Дата: Четверг, 03.01.2019, 15:20 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация:
1
±
Замечаний:
0% ±
Excel 2010
Добрый день, а подскажите пожалуйста как можно просуммировать цифры перечисленные через запятую расположенные в одной ячейке
Добрый день, а подскажите пожалуйста как можно просуммировать цифры перечисленные через запятую расположенные в одной ячейке l-lisa
Ответить
Сообщение Добрый день, а подскажите пожалуйста как можно просуммировать цифры перечисленные через запятую расположенные в одной ячейке Автор - l-lisa Дата добавления - 03.01.2019 в 15:20
vikttur
Дата: Четверг, 03.01.2019, 15:41 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Формула массива, вводится тремя клавишами:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(","&A2;",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);))
Если значений больше/меньше, можно изменить СТРОКА($1:$9) Если все суммируемые значения - однозначные числа, достаточно:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(A2;{1;3;5;7;9;11;13};1);))
тоже формула массива. Вариант - использование макрофункции (для работы макросы должны быть разрешены).Ctrl+F3 - именованная формула:Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(Лист1!C16;",";"+"))
На листе:
Формула массива, вводится тремя клавишами:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(","&A2;",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);))
Если значений больше/меньше, можно изменить СТРОКА($1:$9) Если все суммируемые значения - однозначные числа, достаточно:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(A2;{1;3;5;7;9;11;13};1);))
тоже формула массива. Вариант - использование макрофункции (для работы макросы должны быть разрешены).Ctrl+F3 - именованная формула:Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(Лист1!C16;",";"+"))
На листе: vikttur
Сообщение отредактировал vikttur - Четверг, 03.01.2019, 15:46
Ответить
Сообщение Формула массива, вводится тремя клавишами:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(","&A2;",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);))
Если значений больше/меньше, можно изменить СТРОКА($1:$9) Если все суммируемые значения - однозначные числа, достаточно:Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(A2;{1;3;5;7;9;11;13};1);))
тоже формула массива. Вариант - использование макрофункции (для работы макросы должны быть разрешены).Ctrl+F3 - именованная формула:Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(Лист1!C16;",";"+"))
На листе: Автор - vikttur Дата добавления - 03.01.2019 в 15:41
bmv98rus
Дата: Четверг, 03.01.2019, 15:45 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация:
772
±
Замечаний:
0% ±
Excel 2013/2016
[offtop]vikttur , заскучал? :-)[/offtop]
[offtop]vikttur , заскучал? :-)[/offtop] bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение [offtop]vikttur , заскучал? :-)[/offtop] Автор - bmv98rus Дата добавления - 03.01.2019 в 15:45
vikttur
Дата: Четверг, 03.01.2019, 15:47 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
[offtop]Лень-матушка ) Надо бы работать... Но - причина: повышаю уровень подготовки :)[/offtop]
[offtop]Лень-матушка ) Надо бы работать... Но - причина: повышаю уровень подготовки :)[/offtop] vikttur
Сообщение отредактировал vikttur - Четверг, 03.01.2019, 15:53
Ответить
Сообщение [offtop]Лень-матушка ) Надо бы работать... Но - причина: повышаю уровень подготовки :)[/offtop] Автор - vikttur Дата добавления - 03.01.2019 в 15:47
AlexM
Дата: Четверг, 03.01.2019, 16:30 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
Код
=СУММ(ПРАВБ(ЛЕВБ(ПОДСТАВИТЬ(0&A2&",0";",";ПОВТОР(" ";99));СТРОКА($1:$99)*99);99)^1)
Формула массива. Почти как первая формула vikttur а, но СТРОКА($1:$99) сделана с запасом.
Код
=СУММ(ПРАВБ(ЛЕВБ(ПОДСТАВИТЬ(0&A2&",0";",";ПОВТОР(" ";99));СТРОКА($1:$99)*99);99)^1)
Формула массива. Почти как первая формула vikttur а, но СТРОКА($1:$99) сделана с запасом.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Код
=СУММ(ПРАВБ(ЛЕВБ(ПОДСТАВИТЬ(0&A2&",0";",";ПОВТОР(" ";99));СТРОКА($1:$99)*99);99)^1)
Формула массива. Почти как первая формула vikttur а, но СТРОКА($1:$99) сделана с запасом.Автор - AlexM Дата добавления - 03.01.2019 в 16:30
l-lisa
Дата: Пятница, 04.01.2019, 10:56 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация:
1
±
Замечаний:
0% ±
Excel 2010
Спасибо!
Ответить
Сообщение Спасибо! Автор - l-lisa Дата добавления - 04.01.2019 в 10:56
l-lisa
Дата: Пятница, 04.01.2019, 10:57 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация:
1
±
Замечаний:
0% ±
Excel 2010
Спасибо!
Ответить
Сообщение Спасибо! Автор - l-lisa Дата добавления - 04.01.2019 в 10:57
sv2014
Дата: Пятница, 04.01.2019, 16:35 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
l-lisa , вариант UDF [vba]Код
Function aa&(t$) Dim i& With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+": .Global = True For i = 0 To .Execute(t).Count - 1: aa = aa + .Execute(t)(i): Next End With End Function
[/vba]
l-lisa , вариант UDF [vba]Код
Function aa&(t$) Dim i& With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+": .Global = True For i = 0 To .Execute(t).Count - 1: aa = aa + .Execute(t)(i): Next End With End Function
[/vba]sv2014
Сообщение отредактировал sv2014 - Пятница, 04.01.2019, 16:36
Ответить
Сообщение l-lisa , вариант UDF [vba]Код
Function aa&(t$) Dim i& With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+": .Global = True For i = 0 To .Execute(t).Count - 1: aa = aa + .Execute(t)(i): Next End With End Function
[/vba]Автор - sv2014 Дата добавления - 04.01.2019 в 16:35