Страницы: 1
RSS
Изменение диапазона суммирования по условию
 
Добрый вечер друзья помогите пожалуста с моим вопросом!!  Я постораюсь объяснить что мне нужно, как смогу!
Проблема в следующем
Нужно чтобы в ячейке N6 складывалось время из ячеек B6:M6  но должно равняться 24:00:00 , но если в одной из ячеек B5:M5 появиться ТО или ТР нужно чтобы время складывалось только до этой ячейки.! как впримере 20:00:00

А в ячейке О6 должно реагировать только на ТР! При ТО должно быть все равно 24:00:00
 
Цитата
нужно чтобы время складывалось только до этой ячейки.!
Если до этой ячейки, то это сумма времени с 7:00 до 9:00
 
artem1908, Могут ли встречаться несколько таких ячеек в диапазоне? Как поступать в этом случае?
 
2 ТО или 2ТР не могут буть. ТОЛЬКО ОДИН.  ЕСЛИ будет 2 то или тр пускай вылазиет ошибка
Время должно складываться с 11:00 по 5:00
 
Возможно либо ТО либо ТР оба сразу не могут быть! в любом другом случае ошибка!!!
Изменено: artem1908 - 30.12.2019 16:07:26
 
Для ТО
Код
Sub iSumma()
Dim Stolb As Integer
  If Application.WorksheetFunction.CountIf(Range("B5:M5"), "ТО") >= 1 Then
    Stolb = Range("B5:M5").Find("ТО", , xlValues, xlWhole).Column
    Range("N6") = Application.WorksheetFunction.Sum(Range(Cells(6, Stolb), Cells(6, "M")))
  Else
    Range("N6") = Application.WorksheetFunction.Sum(Range(Cells(6, "B"), Cells(6, "M")))
  End If
End Sub

Формат ячейки N6 Время ->37:30:55
Для ТР сделайте сами
 
Извените пожалуйста а формулами это не как нельзя сделать, а то я в VBA вообще ноль0
 
Формулами. Пришлось пронумеровать первую строку. Нумерацию можно скрыть

зы неправильно понял задание для N вот исправленная формула
=СУММЕСЛИ(B1:N1;"<"&МИН(ЕСЛИ(($B$5:$M$5="ТО")+($B$5:$M$5="ТР");СТОЛБЕЦ($B$5:$M$5);14));B6:M6)
Изменено: bigorq - 30.12.2019 19:17:55
 
Без доб столбцов. Формула массива.
=СУММПРОИЗВ($B$6:$M$6;--(СТОЛБЕЦ($B$6:$M$6)<МИН(ЕСЛИОШИБКА(СТОЛБЕЦ(B6:$M$6)/--(($B$5:$M$5="ТО")+($B$5:$M$5="ТР"));999))))
Я не волшебник, я только учусь.
 
Спасибо!!!!!! буду разбираться как вы это сделали !!!!!
 
Паразитирую на формуле массива Wiss
Код
=ЕСЛИ(СУММ(--(B5:M5=A14);--(B5:M5=A15))>0;СУММПРОИЗВ($B$6:$M$6;--(СТОЛБЕЦ($B$6:$M$6)>=МИН(ЕСЛИОШИБКА(СТОЛБЕЦ(B6:$M$6)/--(($B$5:$M$5="ТО")+($B$5:$M$5="ТР"));999))));СУММ(B6:M6))
Изменено: Polkilo - 30.12.2019 18:10:05
 
Извините, но нарисовалось еще одно условие!!!   Если пусто в ячейках В5:М5 то суммируются все  ячейки В6:М6 вот в этой формуле я ее немного подкорректировал!
{=СУММПРОИЗВ($B$6:$M$6;--(СТОЛБЕЦ($B$6:$M$6)>=МИН(ЕСЛИОШИБКА(СТОЛБЕЦ(B6:$M$6)/--(($B$5:$M$5="ТО")+($B$5:$M$5="ТР"));999))))}  как сюда добавить это условие? ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
Изменено: artem1908 - 31.12.2019 05:17:48
 
Цитата
artem1908 написал:
немного подкорректировал!
Ну как немного?! Вы знак поменяли и она вроде бы вообще перестала работать.
Цитата
artem1908 написал:
Если пусто в ячейках В5:М5 то суммируются все  ячейки В6:М6
Моя старая версия должна считать нормально просто в ячейке формат время и вместо 24 часов пишется 0. Просто формат нужно подправить.

P.S. Условия все живут в первой части Еслиошибка.
=СУММПРОИЗВ($B$6:$M$6;--(СТОЛБЕЦ($B$6:$M$6)<МИН(ЕСЛИОШИБКА(СТОЛБЕЦ(B6:$M$6)/--(($B$5:$M$5="ТО")+($B$5:$M$5="ТР"));999))))
Изменено: Wiss - 31.12.2019 09:44:26
Я не волшебник, я только учусь.
 
А можно сделать чтобы сумма считалась не до тр или то, а наоборот:
Например ТО стои на ячейке H5 нужно чтобы время подсчиталось с Н6 до M6   ячейка под ТО включительно!!!! - это возможно!!!
 
Цитата
artem1908 написал:
это возможно!!!
А зачем Вы кричите?
 
Я не кричу, Восклицательные знаки это привлечение внимания. Я постараюсь писать без них извините если обидел.
Изменено: artem1908 - 31.12.2019 23:38:36
 
Вы утверждаете или спрашиваете? Если спрашиваете, то и знак должен быть соответствующий  - вопросительный )
 
Хорошо буду иметь ввиду, а помочь сможете?
 
Ждите формулистов. Трезвых )
 
:D  :D  :D  
 
.
Страницы: 1
Наверх