Добрый день. Пытаюсь сложить несколько ячеек со временем в формате чч:мм (перед часами может быть минус) обычным =СУММ(B1:B9) Пробовал выставлять формат ячеек и Общий и чч:мм - в обоих случаях сумма получается 00:00 Подскажите, как сделать это правильно? Файл во вложении. Заранее спасибо.
1. отрицательное время не бывает. 2. У вас в ячейках текст. Что делать. 1. Копируете любую пустую ячейку. 2. Выделяете диапазон с данными. 3. кликнуть правой кнопкой мыши. 4. Выбрать "Специальная вставка" 5. Сложить, Ок. 6. Поставить диапазону формат Время часы и минуты
Отрицательное время суммироваться не будет, так как эти значения останутся текстом.
Это не не совсем правильное утверждение. Достаточно вспомнить UTC−3:30 Канада (Ньюфаундленд) UTC−9:30 Маркизские острова (Франция)
=TEXT(ABS(SUMPRODUCT(1-(LEFT(B1:B9)="-")*2;IFERROR(--RIGHT(B1:B9;5);B1:B9)));IF(SUMPRODUCT(1-(LEFT(B1:B9)="-")*2;IFERROR(--RIGHT(B1:B9;5);B1:B9))<0;"-";"")&"чч:мм") а раз уж массивная =TEXT(ABS(SUM((1-(LEFT(B1:B9)="-")*2)*IFERROR(--RIGHT(B1:B9;5);B1:B9)));IF(SUM((1-(LEFT(B1:B9)="-")*2)*IFERROR(--RIGHT(B1:B9;5);B1:B9))<0;"-";"")&"чч:мм")
Светлый, До примерно у всех одно и тоже, именно суммирование у меня =SUM((1-(LEFT(B1:B9)="-")*2)*IFERROR(--RIGHT(B1:B9;5);B1:B9)) можно так, а все остальное - определение и подстановка знака, ведь результат может быть отрицательным и в формат чч:мм не переведется.
В этих ячейках числовое значение, показанное как время. Правые символы из него будут взяты как большое целое число (сутки), а минуты, подразумеваемые в этих ячейках, к сумме не добавятся.
Светлый, , ну в примере там просто 0 и по этому результат верный, но согласен, для общего случая лучше подправить. =SUM(IFERROR(--B1:B9;(1-(LEFT(B1:B9)="-")*2)*RIGHT(B1:B9;5)))
БМВ написал: ну пусть это будет дельта времени в формате чч:мм, а дельта может иметь положительный и отрицательный знак.
Всё верно, это фактически и есть дельта по времени (может быть + или -). Задача стандартная: есть норма времени (8:00 скажем) и есть фактически отработанное человеком время. Исходя из этого нужно посчитать дельту за каждый день и потом эти дельты просуммировать за месяц скажем. Что странно - попробовал не вводить дельту вручную, а считать по простейшей формуле
Код
=ЕСЛИ(ИЛИ(C2="";B2="");"";C2-B2)
а потом просто суммировать ячейки обычным
Код
=СУММ(D2:D31)
И всё работает (формат ячеек всё тот же ч:мм) - файл во вложении
Конечно есть ограничение, что каждая дельта (и соответственно сумма) не может быть больше +23:59 (и соответственно меньше -23:59) - но мне и так подходит. Почему это вдруг заработало, если вы говорили, что формат не подходящий для минуса?
bairog написал: если вы говорили, что формат не подходящий для минуса?
перевести текст, что был у вас в ячейках с минусом в число(коим является время) просто так не получается и для этого шаманили Другое дело, что формат ч:мм лично у меня не работает с отрицательным числом в созданных файлах, а в файле из №14 норм.
использование отрицательных значений времени: Параметры Дополнительно в последнем экране, в группе: При пересчете этой книги Использовать систему дат 1904 - поставьте птичку Ок
посчитайте где угодно 4 часа - 3 часа. увидите -1 час
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!