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

Вход

Регистрация

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

 

= Мир MS Excel/Суммирование ячеек с дробями - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Суммирование ячеек с дробями
Muhan Дата: Понедельник, 30.01.2023, 18:12 | Сообщение № 1
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

Уважаемые знатоки у меня не получается просуммировать ячейки с дробями!
Результат суммирования не тот который мне нужен.
Кто ни будь сможет помочь?
К сообщению приложен файл: __.xls (35.5 Kb)
 
Ответить
СообщениеУважаемые знатоки у меня не получается просуммировать ячейки с дробями!
Результат суммирования не тот который мне нужен.
Кто ни будь сможет помочь?

Автор - Muhan
Дата добавления - 30.01.2023 в 18:12
Egyptian Дата: Понедельник, 30.01.2023, 18:31 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Как-то так:
Код
=SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(LEFTB(C2:C16;SEARCH("/";C2:C16)-1);".";MID(1/2;2;1));",";MID(1/2;2;1));))&"/"&SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(RIGHTB(C2:C16;LEN(C2:C16)-SEARCH("/";C2:C16));".";MID(1/2;2;1));",";MID(1/2;2;1));))

Формула массива.
К сообщению приложен файл: 4735541.xls (36.5 Kb)


Сообщение отредактировал Egyptian - Понедельник, 30.01.2023, 18:31
 
Ответить
СообщениеКак-то так:
Код
=SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(LEFTB(C2:C16;SEARCH("/";C2:C16)-1);".";MID(1/2;2;1));",";MID(1/2;2;1));))&"/"&SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(RIGHTB(C2:C16;LEN(C2:C16)-SEARCH("/";C2:C16));".";MID(1/2;2;1));",";MID(1/2;2;1));))

Формула массива.

Автор - Egyptian
Дата добавления - 30.01.2023 в 18:31
прохожий2019 Дата: Понедельник, 30.01.2023, 19:45 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
Код
=СУММ(--ЛЕВБ(C2:C16;ПОИСК("/";C2:C16)-1))&"/"&СУММ(--ПСТР(C2:C16;ПОИСК("/";C2:C16)+1;9))

или такое:
Код
=ОБЪЕДИНИТЬ("/";;REDUCE({0;0};C2:C16;LAMBDA(s;c;s+ТЕКСТРАЗД(c;"/"))))


только не пойму - в оригинале дроби текстом или форматом? если форматом, то:
Код
=ОБЪЕДИНИТЬ("/";;REDUCE({0;0};ТЕКСТ(C2:C16;"?/???");LAMBDA(s;c;s+ТЕКСТРАЗД(c;"/"))))
К сообщению приложен файл: 3556677.xls (37.0 Kb)


Сообщение отредактировал прохожий2019 - Понедельник, 30.01.2023, 20:28
 
Ответить
Сообщение
Код
=СУММ(--ЛЕВБ(C2:C16;ПОИСК("/";C2:C16)-1))&"/"&СУММ(--ПСТР(C2:C16;ПОИСК("/";C2:C16)+1;9))

или такое:
Код
=ОБЪЕДИНИТЬ("/";;REDUCE({0;0};C2:C16;LAMBDA(s;c;s+ТЕКСТРАЗД(c;"/"))))


только не пойму - в оригинале дроби текстом или форматом? если форматом, то:
Код
=ОБЪЕДИНИТЬ("/";;REDUCE({0;0};ТЕКСТ(C2:C16;"?/???");LAMBDA(s;c;s+ТЕКСТРАЗД(c;"/"))))

Автор - прохожий2019
Дата добавления - 30.01.2023 в 19:45
Muhan Дата: Вторник, 31.01.2023, 07:42 | Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

Egyptian, спасибо Вам большое! Вы мне очень помогли!


Сообщение отредактировал Serge_007 - Вторник, 31.01.2023, 09:14
 
Ответить
СообщениеEgyptian, спасибо Вам большое! Вы мне очень помогли!

Автор - Muhan
Дата добавления - 31.01.2023 в 07:42
Muhan Дата: Вторник, 31.01.2023, 07:44 | Сообщение № 5
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

Цитата прохожий2019, 30.01.2023 в 19:45, в сообщении № 3 ()
К сообщению приложен файл: 3556677.xls(37.0 Kb)


Ваш вариант еще лучше! Спасибо Вам большое!
 
Ответить
Сообщение
Цитата прохожий2019, 30.01.2023 в 19:45, в сообщении № 3 ()
К сообщению приложен файл: 3556677.xls(37.0 Kb)


Ваш вариант еще лучше! Спасибо Вам большое!

Автор - Muhan
Дата добавления - 31.01.2023 в 07:44
Egyptian Дата: Вторник, 31.01.2023, 08:54 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Ваш вариант еще лучше!

Естественная реакция на формулу покороче))
 
Ответить
Сообщение
Ваш вариант еще лучше!

Естественная реакция на формулу покороче))

Автор - Egyptian
Дата добавления - 31.01.2023 в 08:54
прохожий2019 Дата: Вторник, 31.01.2023, 09:12 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
на формулу покороче))
ну в данном случае она же и шустрее
К сообщению приложен файл: 8969033.png (81.1 Kb)


Сообщение отредактировал прохожий2019 - Вторник, 31.01.2023, 09:13
 
Ответить
Сообщение
на формулу покороче))
ну в данном случае она же и шустрее

Автор - прохожий2019
Дата добавления - 31.01.2023 в 09:12
Egyptian Дата: Вторник, 31.01.2023, 09:29 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата прохожий2019, 31.01.2023 в 09:12, в сообщении № 7 ()
она же и шустрее

Конечно будет шустрее, это и без тестов понятно. Но я пытался сделать универсальный вариант, с игнорированием ошибок при отсутствии записи, также с предусмотром десятичных (если будут) в виде точки для US настроек, пусть и в виде текста (мне пару раз встречалось в практике).
 
Ответить
Сообщение
Цитата прохожий2019, 31.01.2023 в 09:12, в сообщении № 7 ()
она же и шустрее

Конечно будет шустрее, это и без тестов понятно. Но я пытался сделать универсальный вариант, с игнорированием ошибок при отсутствии записи, также с предусмотром десятичных (если будут) в виде точки для US настроек, пусть и в виде текста (мне пару раз встречалось в практике).

Автор - Egyptian
Дата добавления - 31.01.2023 в 09:29
Nic70y Дата: Вторник, 31.01.2023, 12:27 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Function u_99(a As Range)
    f = 0
    g = 0
    For Each c In a
        d = c.Text
        e = InStr(d, "/")
        If e > 0 Then
            f = f + Left(d, e - 1)
            g = g + Right(d, Len(d) - e)
        End If
    Next
    u_99 = f & "/" & g
End Function
[/vba]
К сообщению приложен файл: 16.xls (40.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 31.01.2023, 12:29
 
Ответить
Сообщение[vba]
Код
Function u_99(a As Range)
    f = 0
    g = 0
    For Each c In a
        d = c.Text
        e = InStr(d, "/")
        If e > 0 Then
            f = f + Left(d, e - 1)
            g = g + Right(d, Len(d) - e)
        End If
    Next
    u_99 = f & "/" & g
End Function
[/vba]

Автор - Nic70y
Дата добавления - 31.01.2023 в 12:27
Muhan Дата: Вторник, 31.01.2023, 15:26 | Сообщение № 10
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

Привет ребят! у меня не получилось "присандалить" вашу формулу к своему файлу?!
Помогите еще раз пжл
Свой файл прикрепляю
К сообщению приложен файл: ___.xls (47.5 Kb)
 
Ответить
СообщениеПривет ребят! у меня не получилось "присандалить" вашу формулу к своему файлу?!
Помогите еще раз пжл
Свой файл прикрепляю

Автор - Muhan
Дата добавления - 31.01.2023 в 15:26
Nic70y Дата: Вторник, 31.01.2023, 15:33 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
Muhan, почему 4/143?
у меня получилось 13/151
К сообщению приложен файл: 715.xls (58.0 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеMuhan, почему 4/143?
у меня получилось 13/151

Автор - Nic70y
Дата добавления - 31.01.2023 в 15:33
Serge_007 Дата: Вторник, 31.01.2023, 15:38 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Muhan, у Вас нет дробей в ячейках, это просто формат такой

К сообщению приложен файл: 8927362.png (45.4 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеMuhan, у Вас нет дробей в ячейках, это просто формат такой


Автор - Serge_007
Дата добавления - 31.01.2023 в 15:38
Muhan Дата: Вторник, 31.01.2023, 16:11 | Сообщение № 13
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

почему 4/143?
у меня получилось 13/151
К сообщению приложен файл: 715.xls(58.0 Kb)


Благодарю Вас!
У вас правильно. Я не правильно посчитал.
Формула ваша получилась идеальная! Спасибо!
 
Ответить
Сообщение
почему 4/143?
у меня получилось 13/151
К сообщению приложен файл: 715.xls(58.0 Kb)


Благодарю Вас!
У вас правильно. Я не правильно посчитал.
Формула ваша получилась идеальная! Спасибо!

Автор - Muhan
Дата добавления - 31.01.2023 в 16:11
Muhan Дата: Вторник, 31.01.2023, 16:13 | Сообщение № 14
Группа: Проверенные
Ранг: Участник
Сообщений: 65
Репутация: 0 ±
Замечаний: 20% ±

у Вас нет дробей в ячейках, это просто формат такой


Спасибо Вам за разъяснение!
 
Ответить
Сообщение
у Вас нет дробей в ячейках, это просто формат такой


Спасибо Вам за разъяснение!

Автор - Muhan
Дата добавления - 31.01.2023 в 16:13
Nic70y Дата: Вторник, 31.01.2023, 16:14 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
Формула
ну это не совсем формула, формулой такое посчитать сложно, это UDF (типа макрос)

апдэйт
ну погорячился, формула
Код
=СУММПРОИЗВ(--ЛЕВБ(ТЕКСТ(J7:J82;"#"" ""???/???")&"/0";ПОИСК("/";ТЕКСТ(J7:J82;"#"" ""???/???")&"/0")-1))&"/"&СУММПРОИЗВ(--ПСТР(ТЕКСТ(J7:J82;"#"" ""???/???")&"/0";ПОИСК("/";ТЕКСТ(J7:J82;"#"" ""???/???")&"/0")+1;3))


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 31.01.2023, 17:02
 
Ответить
Сообщение
Формула
ну это не совсем формула, формулой такое посчитать сложно, это UDF (типа макрос)

апдэйт
ну погорячился, формула
Код
=СУММПРОИЗВ(--ЛЕВБ(ТЕКСТ(J7:J82;"#"" ""???/???")&"/0";ПОИСК("/";ТЕКСТ(J7:J82;"#"" ""???/???")&"/0")-1))&"/"&СУММПРОИЗВ(--ПСТР(ТЕКСТ(J7:J82;"#"" ""???/???")&"/0";ПОИСК("/";ТЕКСТ(J7:J82;"#"" ""???/???")&"/0")+1;3))

Автор - Nic70y
Дата добавления - 31.01.2023 в 16:14
  • Страница 1 из 1
  • 1
Поиск:

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