Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разделение нескольких чисел в одну ячейку и их сумма - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделение нескольких чисел в одну ячейку и их сумма (Формулы/Formulas)
Разделение нескольких чисел в одну ячейку и их сумма
ПАМ Дата: Среда, 09.01.2019, 13:07 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 286
Репутация: 11 ±
Замечаний: 20% ±

Excel 2010, Excel 2016
Приветствую вас , Уважаемые Форумчане.

Помогите пожалуйста разобраться. У меня есть таблица на несколько столбцов, в ней через тире стоят числа в некоторых по 2 числа, мне нужно, чтобы в конце строки было подсчитано итого по числам.
Помню была у меня похожая тема, там было через "," я понял как выделить одно число, но только с помощью 2 ячеек, а как в одной пока еще не понял, поэтому прошу помочь.

Заранее очень благодарен.

P.S. Всех С наступившим Новым годом и Рождеством и наступающим Старым новым годом!
К сообщению приложен файл: 5991682.xlsx (10.0 Kb)
 
Ответить
СообщениеПриветствую вас , Уважаемые Форумчане.

Помогите пожалуйста разобраться. У меня есть таблица на несколько столбцов, в ней через тире стоят числа в некоторых по 2 числа, мне нужно, чтобы в конце строки было подсчитано итого по числам.
Помню была у меня похожая тема, там было через "," я понял как выделить одно число, но только с помощью 2 ячеек, а как в одной пока еще не понял, поэтому прошу помочь.

Заранее очень благодарен.

P.S. Всех С наступившим Новым годом и Рождеством и наступающим Старым новым годом!

Автор - ПАМ
Дата добавления - 09.01.2019 в 13:07
_Boroda_ Дата: Среда, 09.01.2019, 13:25 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);))
Код
=СУММ(--ТЕКСТ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);"0;;;\0"))
Формулы массива. Вводятся одновременным нажатием Ctrl+Shift+Enter

Или немассивная формула
Код
=СУММПРОИЗВ(--ТЕКСТ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);"0;;;\0"))


Если пробелов и тире в ячейке может быть более 9, то в куске СТРОКА($1:$9) замените 9 на большее число (только без фанатизма)
К сообщению приложен файл: 5991682_1.xlsx (10.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);))
Код
=СУММ(--ТЕКСТ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);"0;;;\0"))
Формулы массива. Вводятся одновременным нажатием Ctrl+Shift+Enter

Или немассивная формула
Код
=СУММПРОИЗВ(--ТЕКСТ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1:C1;"-";" ");" ";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99);"0;;;\0"))


Если пробелов и тире в ячейке может быть более 9, то в куске СТРОКА($1:$9) замените 9 на большее число (только без фанатизма)

Автор - _Boroda_
Дата добавления - 09.01.2019 в 13:25
sboy Дата: Среда, 09.01.2019, 13:25 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вариант пользовательской функцией
[vba]
Код
Function ПАМ(r As Range) As Double
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\d+"
        For Each cl In r.Cells
            If .test(cl.Value) Then
                For i = 0 To .Execute(cl.Value).Count - 1
                    ПАМ = ПАМ + .Execute(cl.Value)(i)
                Next i
            End If
        Next cl
    End With
End Function
[/vba]
К сообщению приложен файл: 5991682.xlsm (16.0 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Вариант пользовательской функцией
[vba]
Код
Function ПАМ(r As Range) As Double
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\d+"
        For Each cl In r.Cells
            If .test(cl.Value) Then
                For i = 0 To .Execute(cl.Value).Count - 1
                    ПАМ = ПАМ + .Execute(cl.Value)(i)
                Next i
            End If
        Next cl
    End With
End Function
[/vba]

Автор - sboy
Дата добавления - 09.01.2019 в 13:25
ПАМ Дата: Среда, 09.01.2019, 14:44 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 286
Репутация: 11 ±
Замечаний: 20% ±

Excel 2010, Excel 2016
_Boroda_, Александр Огромное спасибо.
sboy, Сергей, Вам тоже спасибо большое.
я обязательно обдумаю Ваши решения
 
Ответить
Сообщение_Boroda_, Александр Огромное спасибо.
sboy, Сергей, Вам тоже спасибо большое.
я обязательно обдумаю Ваши решения

Автор - ПАМ
Дата добавления - 09.01.2019 в 14:44
sv2014 Дата: Среда, 09.01.2019, 21:05 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
ПАМ, добрый вечер, ещё вариант функции
[vba]
Код
Function bb&(r As Range)
   Dim i&, j&, z: z = r.Value
  With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    For i = 1 To UBound(z, 2)
    For j = 0 To .Execute(z(1, i)).Count - 1
       bb = bb + .Execute(z(1, i))(j)
       Next j, i
  End With
End Function
[/vba]
К сообщению приложен файл: example_10_01_2.xlsm (16.2 Kb)
 
Ответить
СообщениеПАМ, добрый вечер, ещё вариант функции
[vba]
Код
Function bb&(r As Range)
   Dim i&, j&, z: z = r.Value
  With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    For i = 1 To UBound(z, 2)
    For j = 0 To .Execute(z(1, i)).Count - 1
       bb = bb + .Execute(z(1, i))(j)
       Next j, i
  End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 09.01.2019 в 21:05
ПАМ Дата: Четверг, 10.01.2019, 05:35 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 286
Репутация: 11 ±
Замечаний: 20% ±

Excel 2010, Excel 2016
sv2014, спасибо большое
 
Ответить
Сообщениеsv2014, спасибо большое

Автор - ПАМ
Дата добавления - 10.01.2019 в 05:35
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделение нескольких чисел в одну ячейку и их сумма (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!