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

Вход

Регистрация

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

 

= Мир MS Excel/Сложить дроби в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сложить дроби в ячейке (Формулы/Formulas)
Сложить дроби в ячейке
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%)
К сообщению приложен файл: 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4484
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
AVI, В строке всегда доли 4-х человек?
Доли всегда в сумме 10/10?
Пример должен быть не один. По одному алгоритм правильный не выбрать.



Номер мобильного модема (без голосовой связи)
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]
К сообщению приложен файл: 15-2-.xlsm (14.2 Kb)
 
Ответить
Сообщение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
Дата добавления - 05.06.2017 в 11:01
AVI Дата: Понедельник, 05.06.2017, 11:10 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
buchlotnik, Спасибо!! "В лоб" отлично работает, 15000 строк просчитались за 10 секунд!
В целом, мне достаточного и этого!
Но если получится, то и формулой можно.
 
Ответить
Сообщение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);))


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Понедельник, 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4484
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
AVI, В строке 6 нет дробей. Функция Михаила возвращает ошибку.
Можно исправить.
В функции третью строку дополнить так
s = Replace(t & "+0", ",", "+")



Номер мобильного модема (без голосовой связи)
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
Дата добавления - 05.06.2017 в 12:58
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сложить дроби в ячейке (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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