Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Office Excel
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
Floyd73
0 / 0 / 0
Регистрация: 29.02.2016
Сообщений: 4
#1

Вытащить из ячейки числа и сложить их

29.02.2016, 12:33. Просмотров 1732. Ответов 11
Метки нет (Все метки)

День добрый!

Имеется небольшая задачка, которую нужно реализовать в экселе.
Суть задачки вот в чем.

В ячейке, например, А2, записываются данные, по следующему шаблону:
число, пробел, текст, пробел, тире, пробел, текст, точка с запятой (или точка), пробел (ставится после точки с запятой, после точки не ставится).
И так далее, несколько раз в одной ячейке.

Пример (все это - в одной ячейке, в А2):
154 р. - булочки; 550 р. - мясо; 120 р. - молоко; 65 р. - яблоки.

Далее, из ячейки с такими данными нужно вытащить и сложить все числа, в ячейке, например, А1.
Т.е. в А1 должно получиться число 889.
Получается, у нас ячейка А1 - итого, а ячейка А2 - детализация.

При небольшом гуглении варианта решения не нашел, может быть неправильно формулирую запрос, конечно...
Подозреваю, что можно сделать скриптом, но работать с ними не умею =(

Можно решить задачу обычными формулами?
Подскажите, пожалуйста, люди добрые!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.02.2016, 12:33
Ответы с готовыми решениями:

Значения в ячейки отделить и сложить
Здравствуйте люди мне необходимо в ячейках сложить значения до занака "-" и...

Можно ли в Excel сложить две ячейки А1 и В1 и результат вывести в А1
Добрый день! Подскажите пожалуйста можно ли в Excel сложить две ячейки А1 и В1...

Из ячейки с текстом вытащить цифры?
В ячейке цифры вместе с текстом, как вытащить сами цифры?! Сколько способов вам...

Как сложить одни и теже ячейки из нескольких листов, но не конкретных? :)
Здравствуйте, по работе возникла задача: Есть несколько листов с одинаковыми...

Вытащить второе значение из ячейки Эксель
Выборка из программы в эксель, два значения в одну ячейку, нужно вытащить...

11
OLEGOFF
967 / 427 / 107
Регистрация: 27.02.2013
Сообщений: 1,265
29.02.2016, 13:00 #2
Floyd73, с помощью опции " Текст по столбцам" можно так
1
Вложения
Тип файла: xlsx Фильтр.xlsx (8.8 Кб, 12 просмотров)
Floyd73
0 / 0 / 0
Регистрация: 29.02.2016
Сообщений: 4
29.02.2016, 13:03  [ТС] #3
Спасибо за решение.
Если у кого-то еще есть варианты решения - милости просим)))
0
snipe
2841 / 954 / 212
Регистрация: 07.08.2013
Сообщений: 2,366
29.02.2016, 13:08 #4
Лучший ответ Сообщение было отмечено Floyd73 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
Public Function iSumma(Текст As String) As Double
Dim a() As String
a() = Split(Текст, ";")
For i = 0 To UBound(a())
asd = Trim(a(i))
asd = Mid(asd, 1, InStr(1, asd, " ") - 1)
iSumma = iSumma + CDbl(asd)
Next i
End Function
1
Вложения
Тип файла: rar Пример.rar (12.9 Кб, 17 просмотров)
AlexM
1735 / 1319 / 528
Регистрация: 04.09.2015
Сообщений: 2,595
29.02.2016, 13:09 #5
Можно массивной формулой
Код
=СУММ(--ЕСЛИ(ПРАВБ(ПСТР(A1;СТРОКА($1:$99);6);2)="р.";ПСТР(A1;СТРОКА($1:$99);3)))
1
Вложения
Тип файла: xls Floyd73.xls (13.5 Кб, 23 просмотров)
Floyd73
0 / 0 / 0
Регистрация: 29.02.2016
Сообщений: 4
29.02.2016, 13:19  [ТС] #6
Спасибо за столь разнообразные варианты решений!
Теперь думаю, какой из них удобнее будет использовать)))
0
Казанский
13941 / 5704 / 1461
Регистрация: 24.09.2011
Сообщений: 8,923
29.02.2016, 13:19 #7
Floyd73, до кучи
Visual Basic
1
2
3
4
5
6
Function Fl(x) As Double
Dim y
  For Each y In Split(Replace(x, ",", "."), ";")
    Fl = Fl + Val(y)
  Next
End Function
1
AlexM
1735 / 1319 / 528
Регистрация: 04.09.2015
Сообщений: 2,595
29.02.2016, 13:20 #8
Цитата Сообщение от Floyd73 Посмотреть сообщение
какой из них удобнее будет использовать
Вариант с макросом универсальный
1
Floyd73
0 / 0 / 0
Регистрация: 29.02.2016
Сообщений: 4
29.02.2016, 13:28  [ТС] #9
Всем спасибо, буду использовать пожалуй вариант с макросом, который прислал snipe.
Благодарю!
0
Svsh2015
127 / 104 / 21
Регистрация: 23.06.2015
Сообщений: 326
29.02.2016, 17:54 #10
Floyd73,добрый день,вариант функции uuu в A1

Visual Basic
1
2
3
4
5
6
7
8
Function uuu(t$)
  Dim i%
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
 For i = 0 To .Execute(t).Count - 1
    uuu = uuu + .Execute(t)(i)
 Next
 End With
End Function
1
Вложения
Тип файла: xls example_3_02_2016_cbr_sum.xls (35.0 Кб, 7 просмотров)
Svsh2015
127 / 104 / 21
Регистрация: 23.06.2015
Сообщений: 326
29.02.2016, 18:12 #11
добавлю еще вариант функции,в файл примере uuu (и есть uuu1)

Visual Basic
1
2
3
4
5
6
7
8
9
Function uuu#(t$)
  Dim i%, s#
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
 For i = 0 To .Execute(t).Count - 1
    s = s + CDbl(.Execute(t)(i))
 Next
 uuu = s
 End With
End Function
1
Вложения
Тип файла: xls example_3_02_2016_cbr_sum1.xls (36.5 Кб, 5 просмотров)
snipe
2841 / 954 / 212
Регистрация: 07.08.2013
Сообщений: 2,366
29.02.2016, 20:23 #12
Floyd73, все присланные вам примеры заслуживают изучения с целью понимания
помимо моей функции вам предложены более красивые решения
просто попытайтесь в них разобраться
1
29.02.2016, 20:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.02.2016, 20:23

Вытащить определенный набор символов из ячейки по критериям
Добрый день! Вопрос наверно банальный,есть столбец в котором в каждой ячейке...

Требуется вытащить 11 числовых значений из одной ячейки и перенести в другую
Имеется таблица в ячейках которой идет запись мфо, вида услуг, фио, л/с и т.д....

Как вытащить текст из самой первой непустой ячейки в диапазоне?
Здравствуйте! Помогите пожалуйста чайнику составить формулу для того, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru