Огромнейшая просьба к компетентным людям в Excel формулах - помогите, пожалуйста, разработать формулу!!! Нужно, чтобы с колонке "Н" выскакивало слово "Опоздание" при таких условиях - если мы получаем заявку на загрузку до 16:00(столбик В), то машина должна прийти не позже чем до конца следующего дня(столбик G), а если после 16:00, то в течении двух дней, если позже то это ОПОЗДАНИЕ. Файл во вложении, посмотрите пожалуйста! Буду очень благодарна Вам! Хорошего дня!
Огромнейшая просьба к компетентным людям в Excel формулах - помогите, пожалуйста, разработать формулу!!! Нужно, чтобы с колонке "Н" выскакивало слово "Опоздание" при таких условиях - если мы получаем заявку на загрузку до 16:00(столбик В), то машина должна прийти не позже чем до конца следующего дня(столбик G), а если после 16:00, то в течении двух дней, если позже то это ОПОЗДАНИЕ. Файл во вложении, посмотрите пожалуйста! Буду очень благодарна Вам! Хорошего дня!Julika
Спасибо, всего хорошего! Julika
Сообщение отредактировал Julika - Среда, 13.03.2019, 12:15
- Прочитайте Правила форума - Исправьте название темы согласно п.2 Правил форума - Вам обязательно использовать функцию ЕСЛИ или Вам нужно сравнить даты (без разницы какой формулой)? - Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
- Прочитайте Правила форума - Исправьте название темы согласно п.2 Правил форума - Вам обязательно использовать функцию ЕСЛИ или Вам нужно сравнить даты (без разницы какой формулой)? - Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума_Boroda_
Здравствуйте! Совсем не обязательно формулой ЕСЛИ. Возможно и другой какой-то. Это мне показалось, что можно этой. Пробовала - не получилось. Файл прицепляю. Там две вкладки - одна с условием, а другая с желаемым результатом. Спасибо!
Здравствуйте! Совсем не обязательно формулой ЕСЛИ. Возможно и другой какой-то. Это мне показалось, что можно этой. Пробовала - не получилось. Файл прицепляю. Там две вкладки - одна с условием, а другая с желаемым результатом. Спасибо!Julika
Тогда измените название темы - правка первого поста
Ровно 16:00 - это 1 или 2 дня?
И я ж написал - желаемый результат вручную забейте. Что в Вашем понятии "должно быть плюс один день(День Б -до конца суток)" - это только Вам известно Пардон, не заметил второй лист
Тогда измените название темы - правка первого поста
Ровно 16:00 - это 1 или 2 дня?
И я ж написал - желаемый результат вручную забейте. Что в Вашем понятии "должно быть плюс один день(День Б -до конца суток)" - это только Вам известно Пардон, не заметил второй лист_Boroda_
Тему изменила. Надеюсь так подойдет - сравнение двух дат любой формулой.
Да, первого дня. Т.е. Если мы получили заявку на авто первого дня до 16:00(столбик В), то машина должна прийти до конца дня этих суток или следующего до конца дня(столбик G). Если позже - это Опоздание. Если после 16:00, то машина должна прийти этот день до конца суток или следующие два дня, до конца суток. Если позже - то это Опоздание.
Спасибо.)
Тему изменила. Надеюсь так подойдет - сравнение двух дат любой формулой.
Да, первого дня. Т.е. Если мы получили заявку на авто первого дня до 16:00(столбик В), то машина должна прийти до конца дня этих суток или следующего до конца дня(столбик G). Если позже - это Опоздание. Если после 16:00, то машина должна прийти этот день до конца суток или следующие два дня, до конца суток. Если позже - то это Опоздание.
ПОдскажите, а возможно ли как-то исключить не рабочие дни, субботу и воскресенье. Т.е. если в четверг пришла заявка до 16:00, то машина должна быть в пятницу. А если после 16:00 и пятница до 16:00, то в понедельник включительно. А если в пятницу после 16:00, то машина должна быть в вторник включительно. Очень благодарна!
Да, супер!!! Как Вы это делаете!!!
Огромнейшее спасибо!!!
ПОдскажите, а возможно ли как-то исключить не рабочие дни, субботу и воскресенье. Т.е. если в четверг пришла заявка до 16:00, то машина должна быть в пятницу. А если после 16:00 и пятница до 16:00, то в понедельник включительно. А если в пятницу после 16:00, то машина должна быть в вторник включительно. Очень благодарна!Julika
А праздничные дни? А переносы выходных на будни (если есть)? А переносы будних на выходные (если есть) Если да, то нужен список праздников и переносов
А праздничные дни? А переносы выходных на будни (если есть)? А переносы будних на выходные (если есть) Если да, то нужен список праздников и переносов_Boroda_
Вот нашла календарь, наконец-то в Ексель-формате. Вообще стандартные выходные и праздники, а то, что переноситься я указала в файле справа и соответственно отметила в календаре. Спасибо!
Вот нашла календарь, наконец-то в Ексель-формате. Вообще стандартные выходные и праздники, а то, что переноситься я указала в файле справа и соответственно отметила в календаре. Спасибо!Julika
Здравствуйте, уважаемый Boroda, очень благодарна за вчерашнее решение вопроса, формула работает классно. Но хотела уточнить, получилось ли у Вас привязать эту формулу к календарю или это не совсем возможно? Может нужно в другом формате календарь? Заранее благодарна! Хорошего дня!
Здравствуйте, уважаемый Boroda, очень благодарна за вчерашнее решение вопроса, формула работает классно. Но хотела уточнить, получилось ли у Вас привязать эту формулу к календарю или это не совсем возможно? Может нужно в другом формате календарь? Заранее благодарна! Хорошего дня!Julika
Достаточно просто попросить объяснить Давайте по порядку 1. СТОЛБЕЦ(A:I) - даст нам номера столбцов от А до I - 1,2,3,...,9 (в России теоретически может быть до 14 выходных подряд, поэтому нужно брать больше, до столбца Q - 14+2+1) 2. B2+СТОЛБЕЦ(A:I) - прибавит к значению В2 последовательно день, два, три, ..., девять 3. ДЕНЬНЕД(B2+СТОЛБЕЦ(A:I);2) - даст нам дни недели для каждого дня из полученного в п.2 массива. Второй аргумент 2 показывает, что дни начинаются с понедельника = 1 (см. справку ДЕНЬНЕД) 4. п.3 > 5 - даст ЛОЖЬ для понедельника-пятницы и ИСТИНА для сб и вскр
5. ОТБР(B2) - отсечет от В2 время, оставит только дату 6. ОТБР(B2)+СТОЛБЕЦ(A:I) - см. п.2, только здесь уже без времени 7. ПОИСКПОЗ(п.6;L$2:L$30;) - пытаемся найти полученное в п.6 в списке выходных и праздничных дней. Если найдем, то будет какое-то число, если не найдем, то будет ошибка 8. ЕЧИСЛО(п.7) - дает ИСТИНА, если в п.7 число и ЛОЖЬ, если ошибка
9. ПОИСКПОЗ(п.6;M$2:M$30;) - пытаемся найти полученное в п.6 в списке рабочих выходных дней. Если найдем, то будет какое-то число, если не найдем, то будет ошибка 10. ЕЧИСЛО(п.9) - дает ИСТИНА, если в п.9 число и ЛОЖЬ, если ошибка
11. п.4 + п.8 - п10 - даст массив из 0 или 1. Всего по количеству n = 9 элементов (см. п.1). Если каждый из дней выходной, то п.4 даст нам 1, если праздник, то п.8 тоже даст 1 (они не должны пересекаться), а если это рабочий выходной, то п.10 даст минус 1, который вместе с единичкой из п.4 даст 0 12. НЕ(п.11) - переворачивает все наоборот - 1 становится 0, а 0 становится 1 13. п.11 * п.6 - получаем наш список 9-и дней из п.6, умноженный на такой же по величине массив, состоящий из 1 (рабочие дни) и 0 (нормальные дни). Получаем рабочие дни или нули 14. ТЕКСТ(п.13;"0;;99999") преобразует п.13 в те же рабочие дни и 99999 вместо нулей. Но все это не числами, а "текстовыми" числами. 15. --п.14 - преобразует п.14 в нормальные числа * Отступление. Даты в Excel - это числа. Количество дней, прошедших с 00.01.1900г. 01 марта 2019г = 43525. Это заведомо меньше, чем 99999, это будет 12 октября 2173г., к тому времени табличка будет неактуальна, да и мы возможно не доживем 16. ИНДЕКС(п.15;0) преобразует массив из п.15 в как бы список. Визуально ничего не изменяется, но если бы мы этого не сделали, то формулу пришлось бы вводить как формулу массива - одновременным нажатием Контрл Шифт Ентер
17. ОСТАТ(B2;1) - остаток от деление В2 на 1 даст нам только время, без даты 18. ОСТАТ(B2;1)-"16:">0 - вычитаем из п.17 контрольное время 16 часов и сравниваем с нулем. Если больше нуля, то ИСТИНА, иначе - ЛОЖЬ 19. 2+п.18 - два наших контрольных дня (текущий и тот, который должны ехать) плюс 1 или 0 из п.18. Итог покажет нам количество рабочих дней, которое машина должна ехать (считая день выезда) 20. НАИМЕНЬШИЙ(п.16; п.19) - из списка рабочих дней и 99999 выбираем тот наименьший день, который нам нужен. Получаем 0:00:00 часов найденного дня, что по сути равно 24:00:00 дня предыдущего 21. ЕСЛИ(G2>п.20;"опоздание";"") - сравниваем полученное с временем прибытия и, если оно больше, то ругаемся
Достаточно просто попросить объяснить Давайте по порядку 1. СТОЛБЕЦ(A:I) - даст нам номера столбцов от А до I - 1,2,3,...,9 (в России теоретически может быть до 14 выходных подряд, поэтому нужно брать больше, до столбца Q - 14+2+1) 2. B2+СТОЛБЕЦ(A:I) - прибавит к значению В2 последовательно день, два, три, ..., девять 3. ДЕНЬНЕД(B2+СТОЛБЕЦ(A:I);2) - даст нам дни недели для каждого дня из полученного в п.2 массива. Второй аргумент 2 показывает, что дни начинаются с понедельника = 1 (см. справку ДЕНЬНЕД) 4. п.3 > 5 - даст ЛОЖЬ для понедельника-пятницы и ИСТИНА для сб и вскр
5. ОТБР(B2) - отсечет от В2 время, оставит только дату 6. ОТБР(B2)+СТОЛБЕЦ(A:I) - см. п.2, только здесь уже без времени 7. ПОИСКПОЗ(п.6;L$2:L$30;) - пытаемся найти полученное в п.6 в списке выходных и праздничных дней. Если найдем, то будет какое-то число, если не найдем, то будет ошибка 8. ЕЧИСЛО(п.7) - дает ИСТИНА, если в п.7 число и ЛОЖЬ, если ошибка
9. ПОИСКПОЗ(п.6;M$2:M$30;) - пытаемся найти полученное в п.6 в списке рабочих выходных дней. Если найдем, то будет какое-то число, если не найдем, то будет ошибка 10. ЕЧИСЛО(п.9) - дает ИСТИНА, если в п.9 число и ЛОЖЬ, если ошибка
11. п.4 + п.8 - п10 - даст массив из 0 или 1. Всего по количеству n = 9 элементов (см. п.1). Если каждый из дней выходной, то п.4 даст нам 1, если праздник, то п.8 тоже даст 1 (они не должны пересекаться), а если это рабочий выходной, то п.10 даст минус 1, который вместе с единичкой из п.4 даст 0 12. НЕ(п.11) - переворачивает все наоборот - 1 становится 0, а 0 становится 1 13. п.11 * п.6 - получаем наш список 9-и дней из п.6, умноженный на такой же по величине массив, состоящий из 1 (рабочие дни) и 0 (нормальные дни). Получаем рабочие дни или нули 14. ТЕКСТ(п.13;"0;;99999") преобразует п.13 в те же рабочие дни и 99999 вместо нулей. Но все это не числами, а "текстовыми" числами. 15. --п.14 - преобразует п.14 в нормальные числа * Отступление. Даты в Excel - это числа. Количество дней, прошедших с 00.01.1900г. 01 марта 2019г = 43525. Это заведомо меньше, чем 99999, это будет 12 октября 2173г., к тому времени табличка будет неактуальна, да и мы возможно не доживем 16. ИНДЕКС(п.15;0) преобразует массив из п.15 в как бы список. Визуально ничего не изменяется, но если бы мы этого не сделали, то формулу пришлось бы вводить как формулу массива - одновременным нажатием Контрл Шифт Ентер
17. ОСТАТ(B2;1) - остаток от деление В2 на 1 даст нам только время, без даты 18. ОСТАТ(B2;1)-"16:">0 - вычитаем из п.17 контрольное время 16 часов и сравниваем с нулем. Если больше нуля, то ИСТИНА, иначе - ЛОЖЬ 19. 2+п.18 - два наших контрольных дня (текущий и тот, который должны ехать) плюс 1 или 0 из п.18. Итог покажет нам количество рабочих дней, которое машина должна ехать (считая день выезда) 20. НАИМЕНЬШИЙ(п.16; п.19) - из списка рабочих дней и 99999 выбираем тот наименьший день, который нам нужен. Получаем 0:00:00 часов найденного дня, что по сути равно 24:00:00 дня предыдущего 21. ЕСЛИ(G2>п.20;"опоздание";"") - сравниваем полученное с временем прибытия и, если оно больше, то ругаемся_Boroda_
Я даже не знаю, что сказать на Ваше супер объяснение! дар речи у меня пропал!
я чесно все прочитала, попробовала разобраться, с Ваших слов все в общем понятно, а если в деталях, то где-то одна треть для меня понятна.((( Но это вопрос только во мне, (Ваше объяснение супер!), я просто не все формулы знаю как работают, особенно когда начинаються их много, где третья сравнивает результат первых двух. Сама бы точно до такого результата не смогла прийти!!! Как такому можно научиться!!! Вы супер! Вы гений Екселя!!! Спасибо Вам огромное!!!! Я зашла, чтобы поблагодарить Вас - формула работает отлично!!! Где оставить тысячу "+" за формулу и еще тысячу за объяснение!!
Спасибо большое Вам за помощь!! Хорошего дня!!
Здравствуйте, много-много уважаемый Boroda!
Я даже не знаю, что сказать на Ваше супер объяснение! дар речи у меня пропал!
я чесно все прочитала, попробовала разобраться, с Ваших слов все в общем понятно, а если в деталях, то где-то одна треть для меня понятна.((( Но это вопрос только во мне, (Ваше объяснение супер!), я просто не все формулы знаю как работают, особенно когда начинаються их много, где третья сравнивает результат первых двух. Сама бы точно до такого результата не смогла прийти!!! Как такому можно научиться!!! Вы супер! Вы гений Екселя!!! Спасибо Вам огромное!!!! Я зашла, чтобы поблагодарить Вас - формула работает отлично!!! Где оставить тысячу "+" за формулу и еще тысячу за объяснение!!
Спасибо большое Вам за помощь!! Хорошего дня!!Julika