Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как создать многокомпонентное условие в excel?

Вопрос состоит в том что имеется широкий спектр данных временных диапазонов в течение которых производился определенный вид работ.
(Ссылка на файл прилагается - https://yadi.sk/i/RLPjsbk1eqMCxA)
Как распределить данные таким образом чтобы эти временные диапазоны (допустим с 16:20 до 19:55) попали в таблицу времени суток таким образом ( промежуток 16-17 часов - 20 мин; 17-18 часов - 60 мин; 18-19 часов - 60 минут и 19-20 часов - 55 минут) и наиболее просто рассчитать количество затрат времени за определенный период приходящийся на каждый час суток. (допустим за месяц сумма затрат часов приходящихся на приготовление мною кофе с 8 до 9 утра составляет порядка 3 - xD )

Задача состоит в автоматизации процесса обработки этой базы данных. Я пытался через двойное условие "если" однако мне необходимо чтобы в зависимости от выполнения или не выполнения первоначального условия он производил один из двух вариантов расчета, плюс производил проверку на сумму временного диапазона (руководствуясь примером выше, сумма затрат должна соответствовать 3 часа 35 минут).

За помощь заранее благодарен!

ExcelMicrosoft excel+2
Сергей Иншаков
  ·   · 5,3 K
увлекаюсь компьютерами и природой. люблю точность...  · 5 сент 2020  · office-study.ru

Доброе утро... Сел сегодня за вашу задачу. Отвечаю по порядку.

Если требуется одновременно проверить два и более условия, примените функции И либо ИЛИ

Функция И даст итоговый результат ИСТИНА, ЕСЛИ СОБЛЮДЕНЫ ВСЕ УСЛОВИЯ

=И(B(10>4;5<8) - результат будет ИСТИНА

=И(B(10>4;5>8) - результат будет ЛОЖЬ

=И(B(10<4;5>8) - результат будет ЛОЖЬ

функция ИЛИ выводит ИСТИНУ, если соблюдено хотя бы одно условие

=ИЛИ(B(10>4;5>8) - результат будет ИСТИНА

=ИЛИ(B(10>4;5<8) - результат будет ИСТИНА

=ИЛИ(B(10<4;5>8) - результат будет ЛОЖЬ

есть еще вариант ИСКЛИЛИ, работает , если не ошибаюсь с офиса 2013

Там результат ИСТИНА, если либо все условия выполняются, либо все не выполняются

=ИСКЛИЛИ(B(10>4;5>8) - результат будет ЛОЖЬ

=ИСКЛИЛИ(B(10>4;5<8) - результат будет ИСТИНА

=ИСКЛИЛИ(B(10<4;5>8) - результат будет ИСТИНА

Что касается самой задачи. Проблема в том, что отрицательного времени не может быть.

У меня получилась формула, рассчитывающая минуты за первый и последний час работы.

=ЕСЛИ(ЕСЛИ(И($C56>=E$1;$C56<=F$1);F$1-$C56;ЕСЛИ(И($D56<=F$1;$D56>=E$1);$D56- E$1;""))>0;ЕСЛИ(И($C56>=E$1;$C56<=F$1);F$1-$C56;ЕСЛИ(И($D56<=F$1;$D56>=E$1);$D56- E$1;""));"")

тут на самом деле формула не такая страшная. проверяется результат работы

ЕСЛИ(И($C39>=E$1;$C39<=F$1);F$1-$C39;ЕСЛИ(И($D39<=F$1;$D39>=E$1);$D39- E$1;"")

если он больше нуля, то выводится его результат, в противном случае выводится пустое значение с помощью пустых кавычек

Фишка тут кроется в синтаксисе функции ЕСЛИ

ее параметры

  1. Условие

  2. Действие , если условие выполняется,

3, Действие, если условие не выполняется

так вот, 2 и 3 параметр могут быть отдельным значением, значением ячейки или диапазона, математической формулой, функцией, в том числе, естественно, функцией ЕСЛИ.

в моем примере вот этот кусок с функцией ЕСЛИ

ЕСЛИ(И($C39>=E$1;$C39<=F$1);F$1-$C39;ЕСЛИ(И($D39<=F$1;$D39>=E$1);$D39- E$1;"") вначале используется для сравнения, а потом как второй аргумент для первоначальной ЕСЛИ.

Вот ссылка на файл, лист расчеты посмотрите.

https://yadi.sk/i/JTaaSXjHq1ZkOA

image.png

Осталось вывести целые часы, но оставляю это на ваше рассмотрение. Могу дать подсказку, что можно теперь добавить вторую почасовую таблицу, а уже в ней использовать результаты из первой

Удачи вам!

PS Кстати, спасибо за идею для нового поста на моем сайте!

Успеха Вам. С уважением, СергейПерейти на office-study.ru
Лучший
Автоматизация любых задач, отнимающих массу...  · 3 сент 2020
Воспользуйтесь функцией ЕСЛИ(...), но сначала В ячейку F1(границы часов) пропишите формулу: =ОКРУГЛ((СТОЛБЕЦ()-СТОЛБЕЦ($F2))/2;0)*0.04166667 и растяните по строке 1 (будет более 48 столбцов, потому что есть переход на другие... Читать далее

Выражаю вам свою благодарность и почтение за оказание помощи!