Сложить дроби в ячейке
AVI
Дата: Понедельник, 05.06.2017, 07:14 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
Добрый день! Подскажите, пожалуйста, как формулой сложить доли в тексте [vba]Код
Зайцев Марк Михайлович 1/10, Зайцев Михаил Иванович 1/5, Зайцева Наталья Юрьевна 1/2, Шатилович Елизавета Михайловна 1/5
[/vba] Формат итога без разницы (10/10 или 1 или 100%)
Добрый день! Подскажите, пожалуйста, как формулой сложить доли в тексте [vba]Код
Зайцев Марк Михайлович 1/10, Зайцев Михаил Иванович 1/5, Зайцева Наталья Юрьевна 1/2, Шатилович Елизавета Михайловна 1/5
[/vba] Формат итога без разницы (10/10 или 1 или 100%) AVI
К сообщению приложен файл:
15.xlsx
(8.9 Kb)
Сообщение отредактировал AVI - Понедельник, 05.06.2017, 11:01
Ответить
Сообщение Добрый день! Подскажите, пожалуйста, как формулой сложить доли в тексте [vba]Код
Зайцев Марк Михайлович 1/10, Зайцев Михаил Иванович 1/5, Зайцева Наталья Юрьевна 1/2, Шатилович Елизавета Михайловна 1/5
[/vba] Формат итога без разницы (10/10 или 1 или 100%) Автор - AVI Дата добавления - 05.06.2017 в 07:14
AlexM
Дата: Понедельник, 05.06.2017, 07:42 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация:
1115
±
Замечаний:
0% ±
Excel 2003
AVI , В строке всегда доли 4-х человек? Доли всегда в сумме 10/10? Пример должен быть не один. По одному алгоритм правильный не выбрать.
AVI , В строке всегда доли 4-х человек? Доли всегда в сумме 10/10? Пример должен быть не один. По одному алгоритм правильный не выбрать.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение AVI , В строке всегда доли 4-х человек? Доли всегда в сумме 10/10? Пример должен быть не один. По одному алгоритм правильный не выбрать.Автор - AlexM Дата добавления - 05.06.2017 в 07:42
buchlotnik
Дата: Понедельник, 05.06.2017, 07:43 |
Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
2010, 2013, 2016 RUS / ENG
UDF в лоб [vba]Код
Function sumpart(t$) Dim s$ s = Replace(t, ",", "+") With CreateObject("VBScript.RegExp") .Global = True .Pattern = "[^0-9/+]" s = .Replace(s, "") End With sumpart = Evaluate(s) End Function
[/vba]
UDF в лоб [vba]Код
Function sumpart(t$) Dim s$ s = Replace(t, ",", "+") With CreateObject("VBScript.RegExp") .Global = True .Pattern = "[^0-9/+]" s = .Replace(s, "") End With sumpart = Evaluate(s) End Function
[/vba] buchlotnik
Ответить
Сообщение UDF в лоб [vba]Код
Function sumpart(t$) Dim s$ s = Replace(t, ",", "+") With CreateObject("VBScript.RegExp") .Global = True .Pattern = "[^0-9/+]" s = .Replace(s, "") End With sumpart = Evaluate(s) End Function
[/vba] Автор - buchlotnik Дата добавления - 05.06.2017 в 07:43
AVI
Дата: Понедельник, 05.06.2017, 11:01 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
AlexM , Добавил варианты. Спасибо за замечание!
AlexM , Добавил варианты. Спасибо за замечание!AVI
Ответить
Сообщение AlexM , Добавил варианты. Спасибо за замечание!Автор - AVI Дата добавления - 05.06.2017 в 11:01
AVI
Дата: Понедельник, 05.06.2017, 11:10 |
Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
buchlotnik , Спасибо!! "В лоб" отлично работает, 15000 строк просчитались за 10 секунд! В целом, мне достаточного и этого! Но если получится, то и формулой можно.
buchlotnik , Спасибо!! "В лоб" отлично работает, 15000 строк просчитались за 10 секунд! В целом, мне достаточного и этого! Но если получится, то и формулой можно.AVI
Ответить
Сообщение buchlotnik , Спасибо!! "В лоб" отлично работает, 15000 строк просчитались за 10 секунд! В целом, мне достаточного и этого! Но если получится, то и формулой можно.Автор - AVI Дата добавления - 05.06.2017 в 11:10
Светлый
Дата: Понедельник, 05.06.2017, 12:42 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Но если получится, то и формулой можно.
До / могут быть 3 цифры, после / м.б. 4 цифры:Код
=СУММ(ЕСЛИОШИБКА(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)-3;3)/ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)+1;4);))
Но если получится, то и формулой можно.
До / могут быть 3 цифры, после / м.б. 4 цифры:Код
=СУММ(ЕСЛИОШИБКА(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)-3;3)/ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)+1;4);))
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Понедельник, 05.06.2017, 12:56
Ответить
Сообщение Но если получится, то и формулой можно.
До / могут быть 3 цифры, после / м.б. 4 цифры:Код
=СУММ(ЕСЛИОШИБКА(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)-3;3)/ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;" ";" ");",";" ");СТРОКА($1:$999);1)="/")*СТРОКА($1:$999)+1;4);))
Автор - Светлый Дата добавления - 05.06.2017 в 12:42
AlexM
Дата: Понедельник, 05.06.2017, 12:55 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация:
1115
±
Замечаний:
0% ±
Excel 2003
AVI , В строке 6 нет дробей. Функция Михаила возвращает ошибку. Можно исправить. В функции третью строку дополнить такs = Replace(t & "+0", ",", "+")
AVI , В строке 6 нет дробей. Функция Михаила возвращает ошибку. Можно исправить. В функции третью строку дополнить такs = Replace(t & "+0", ",", "+") AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение AVI , В строке 6 нет дробей. Функция Михаила возвращает ошибку. Можно исправить. В функции третью строку дополнить такs = Replace(t & "+0", ",", "+") Автор - AlexM Дата добавления - 05.06.2017 в 12:55
AVI
Дата: Понедельник, 05.06.2017, 12:58 |
Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
Функция Михаила возвращает ошибку.
Да, я заметил. Если ошибка - значит нет дроби. Мне главное выловить те, что не равны 1-це. Но для "красоты" поставлю. Спасибо!
Функция Михаила возвращает ошибку.
Да, я заметил. Если ошибка - значит нет дроби. Мне главное выловить те, что не равны 1-це. Но для "красоты" поставлю. Спасибо!AVI
Ответить
Сообщение Функция Михаила возвращает ошибку.
Да, я заметил. Если ошибка - значит нет дроби. Мне главное выловить те, что не равны 1-це. Но для "красоты" поставлю. Спасибо!Автор - AVI Дата добавления - 05.06.2017 в 12:58