Решил пилить серию постов, про детство, моё, ваше, наше) Распаковываю короче детство, начал недавно, минусов нет, поэтому буду выкладывать) Первый пост не зашёл(не планировал серию), но мне самому интересно, и я начну с фишек
Это мои сокровища, часть купленные на карманные деньги, часть честно выигранные в уличных боях. Chupa caps у нас особо ценились, у нас из было не достать почти, мне мама привозила из командировок московских… Было много эро фишек, которые надо слюнявить) осталось совсем чуть, но особая гордость это полная коллекция Dunkin и МК. Причём хуже всех сохранились Chupa, их почти всех выгнуло, а остальные норм) Мне не хватает для коллекции Dunkin номера 33 в хорошем качестве, может есть у кого, готов купить, ну или выиграть в честном бою)
И есть одна фишка ручной работы, готов отдать создателю, если найдётся)
По просьбе сына начал расконсервировать своё детство. Родители и я старались сберечь, но вышло на так, как хотелось, и многое сгинуло( но для меня всегда важным в «Лего» было не сама локация, а количество человечков) вот моя армия, те кто остались, и луд от тех, кто не смог…
Жаль только человечки от всех наборов остались, долгая история… Но! Есть ещё кое что!
Если будет интересно, все разверну) МК и Данкин должны быть полные! Есть NSFV правый верхний угол, лизать надо😋 Ну и конечно биты!
З.Ы. Из МК биты тоже были, может найду ещё… З.Ы.Ы. Кто готов побиться?!)
Извините, не мог пройти мимо! Меня прям конкретно задело какими же сложными формулами вы решаете эту задачу.
Раз уж это "Лига помощи Excel", выкладываю своё решение. Оно более динамичное, масштабируемое, с огромным потенциалом доработки. Сделано на PowerQuery + сводные таблицы.
Решение можно легко расширять до безграничности: прикрутить водителей с ФИО, статистику сколько кто проехал в месяц, и т.п.
С 2016 года формулы в Экселе в привычном понимании стали практически не нужны. Тем более такие сложные условия, как у автора поста.
Всем, кто читает этот пост, рекомендую изучать Эксель в такой последовательности: "умные" таблицы, сводные таблицы, условное форматирование, Power Query.
rick1177, если нужна доработка точно как у вас в примере (с полной сеткой дней), я доделаю.
Вчера пришёл Генеральный и говорит: "Нужно создать простой и понятный инструмент для составления графика работы водителя на предприятии".
Постановка задачи: водитель указывает в простой форме куда он едет, указывает дату, время начала и конца занятости. Его график должен выглядеть наглядно и быть понятный для всех, кому нужен водитель.
Итак, решаем поэтапно задачу.
1. Сначала нужен общий вид этой визуализации.
Был придуман и разработан такой вид:
Пример отображения
2. Определяем настройки графика, которые нам нужны для отображения.
Вот такой набор настроек предлагается: (Дополнительная ценность заключается в том, что можно выбрать интервал отображения - выпадающий список, месяц отображения - выпадающий список, указать год, время начала рабочего дня и его окончания. Графическое отображение графика изменится)
Настройки календаря для отображения информации
Из прикольного:
от изменения месяца меняется количество отображаемых дней;
от установленного интервала меняется отображение шапки таблицы;
от изменения времени начала и окончания рабочего дня также изменяется отображение;
всё оформлено в удобном виде с использованием выпадающих списков;
Надо разобрать формулу, чтобы понять, что сделали ребята и как получили нужный результат. А что за результат? В календаре в задействованную дату и время выставляется 1 и на этой основе выстраивается условное форматирование.
Давайте разбирать поэтапно:
1. --ЛЕВСИМВ(K$1;5) - получает из строки "09:00 - 09:15" начальное_время в формате числовом (0,375) (если не значете, что это за число, то это 1/24/60*(9*60);
2. --ПРАВСИМВ(K$1;5) - - получает из строки "09:00 - 09:15" конечное_время в формате числовом (0,385416667) (если не значете, что это за число, то это 1/24/60*(9*60+15), где 15 - заданный временной интервал для отображения таблицы;
3. Соответственно, конструкция вида --ЛЕВСИМВ(K$1;5)>=Таблица2[[Время окончания]:[Время окончания]] возьмёт массив времени окончания и каждое значение сравнит с временем начала. Результатом такого действа для времени 09: 00 станет массив такого вида:
Что проверяется с помощью данного куска? Есть ли среди времени окончания такое, которое меньше для начала проверяемого интервала. Если нет, то формула выдаёт ЛОЖЬ
4. Аналогичным образом для начального времени операция вида --ПРАВСИМВ(K$1;5)<=Таблица2[[Время начала]:[Время начала]] выдаст результат:
Вид массива для времени окончания
5. Таким образом, операция вида (--ЛЕВСИМВ(K$1;5)>=Таблица2[[Время окончания]:[Время окончания]])+(--ПРАВСИМВ(K$1;5)<=Таблица2[[Время начала]:[Время начала]]) позволит получить массив такого вида:
Результат сложения массивов
6. Дальнее сравнение с 0 операции (--ЛЕВСИМВ(K$1;5)>=Таблица2[[Время окончания]:[Время окончания]])+(--ПРАВСИМВ(K$1;5)<=Таблица2[[Время начала]:[Время начала]])=0 приведёт к образованию массива вида:
Результат сравнения массива на шаге 5 с 0
Графическая интерпретация такова:
Графическая интерпретация выражения
7. Поскольку в столбце "↓↓ ДНИ ↓↓" на рисунке "Пример отображения" на самом деле находятся даты, то операция вида ($J3=Таблица2[[Дата]:[Дата]]) выдаст массив подходящих дат для даты 01.09.2023 такого вида:
Пример массива подходящих дат
8. После перемножения результата проверки даты с результатов проверки времени, если получат ИСТИНА, то всё, мы говорим, что это время задействовано.
9. СУММПРОИЗВ необходимо, чтобы проверить везде и по всем сочетаниям событий и проверяемой даты. Сравнение с ">0" просто приведёт к постановке исключительно "1" в ячейку, т.е. не будет учитываться количество раз, если пересечение есть несколько раз.
Решение гениально и просто. Приложение полностью рабочее!