Первый вопрос: Подскажите, каким образом можно убрать все выходные дни из строки, в которой отображены все дни месяца
А вот здесь, наверное, подскажу и без примера - опять-таки с помощью функции FILTER.
Первым делом предлагаю оформить месячный календарь в строке (последовательность чисел одного месяца) в виде именованной функции (по меню "Данные \ Именованные функции"): [vba]
Код
Название функции: ZMONTH_DAY_SEQUENCE Плейсхолдеры аргумента: year; month Определение формулы: =SEQUENCE(1; DAY(DATE(year;month+1;)); DATE(year;month;1))
[/vba] Тогда формула генерации последовательности чисел месяца в строке без суббот и воскресений на примере февраля 2023 (формула вводится в одну ячейку, соответствующую 1-му числу месяца): [vba]
[/vba] После расчета дней месяца (вправо от ячейки ввода) нужно будет ячейкам, в которые поместилась последовательность, назначить формат даты.
Если помимо суббот и воскресений захочется исключить из последовательности еще и праздничные дни (не совпадающие с сб и вс), то сначала нужно будет в свободном месте рабочего листа заготовить диапазон таких праздничных дней и присвоить ему имя "Праздники_2023" (по меню "Данные \ Настроить именованные диапазоны"):
После этого, используя новое имя диапазона, можно придать формуле следующий вид: [vba]
Первый вопрос: Подскажите, каким образом можно убрать все выходные дни из строки, в которой отображены все дни месяца
А вот здесь, наверное, подскажу и без примера - опять-таки с помощью функции FILTER.
Первым делом предлагаю оформить месячный календарь в строке (последовательность чисел одного месяца) в виде именованной функции (по меню "Данные \ Именованные функции"): [vba]
Код
Название функции: ZMONTH_DAY_SEQUENCE Плейсхолдеры аргумента: year; month Определение формулы: =SEQUENCE(1; DAY(DATE(year;month+1;)); DATE(year;month;1))
[/vba] Тогда формула генерации последовательности чисел месяца в строке без суббот и воскресений на примере февраля 2023 (формула вводится в одну ячейку, соответствующую 1-му числу месяца): [vba]
[/vba] После расчета дней месяца (вправо от ячейки ввода) нужно будет ячейкам, в которые поместилась последовательность, назначить формат даты.
Если помимо суббот и воскресений захочется исключить из последовательности еще и праздничные дни (не совпадающие с сб и вс), то сначала нужно будет в свободном месте рабочего листа заготовить диапазон таких праздничных дней и присвоить ему имя "Праздники_2023" (по меню "Данные \ Настроить именованные диапазоны"):
После этого, используя новое имя диапазона, можно придать формуле следующий вид: [vba]
Извиняюсь за ссылку. Прикрепил скрин. Со списками сделал так (не с примера): =arrayformula( IF(E1="Группа 1";A2:A7; IF(E1="Группа 2";B2:B7; IF(E1="Группа 3";C2:C7; )))) Это, вроде как, хорошо работает с 1 выпадающим списком. Попробовал вложить еще по IF внутрь, с проверкой другой ячейки (где из списка школа) - работают только первые 2 условия, а остальные выводят False. Как правильно сделать, если появляется 2ой выпадающий список? (второй скрин, школа-здание-класс: в 1 списке выбираем школу, во 2 списке выбираем здание и под этим списком выводим все классы этого здания) + должна быть возможность на ячейки повесить ссылки на другие листы
Извиняюсь за ссылку. Прикрепил скрин. Со списками сделал так (не с примера): =arrayformula( IF(E1="Группа 1";A2:A7; IF(E1="Группа 2";B2:B7; IF(E1="Группа 3";C2:C7; )))) Это, вроде как, хорошо работает с 1 выпадающим списком. Попробовал вложить еще по IF внутрь, с проверкой другой ячейки (где из списка школа) - работают только первые 2 условия, а остальные выводят False. Как правильно сделать, если появляется 2ой выпадающий список? (второй скрин, школа-здание-класс: в 1 списке выбираем школу, во 2 списке выбираем здание и под этим списком выводим все классы этого здания) + должна быть возможность на ячейки повесить ссылки на другие листыCrystalRage
Не очень понимаю, что Вам в конце концов надо с этими списками. Живой пример не даёте, а по фотографиям у нас здесь обычно не лечат (если только вопрос и ответ не столь очевидны, как Ваш первый вопрос, когда иллюстрации не требуются). Задайте себе простой вопрос: как человек, даже если он знает и готов ответить, будет отвечать на Ваш вопрос? Описательными словесами? Тоже фотографиями? Или всё же лучше получить живую таблицу с настроенным новым функционалом? А если живая таблица лучше, то дайте ее отвечающему(-щим) как исходный материал для пробы и отладки. Не самому же ему набивать значения в ячейки с Ваших картинок!
Теперь по сути. У меня есть пример с зависимыми списками здесь: https://docs.google.com/spreads....sharing (id таблицы 1uFmAC9VFNEwF7dPWz5WRgCLQvSlEFzXQ8jy9yHXkSZQ ) Посмотрите, вдруг подойдёт.
Не очень понимаю, что Вам в конце концов надо с этими списками. Живой пример не даёте, а по фотографиям у нас здесь обычно не лечат (если только вопрос и ответ не столь очевидны, как Ваш первый вопрос, когда иллюстрации не требуются). Задайте себе простой вопрос: как человек, даже если он знает и готов ответить, будет отвечать на Ваш вопрос? Описательными словесами? Тоже фотографиями? Или всё же лучше получить живую таблицу с настроенным новым функционалом? А если живая таблица лучше, то дайте ее отвечающему(-щим) как исходный материал для пробы и отладки. Не самому же ему набивать значения в ячейки с Ваших картинок!
Теперь по сути. У меня есть пример с зависимыми списками здесь: https://docs.google.com/spreads....sharing (id таблицы 1uFmAC9VFNEwF7dPWz5WRgCLQvSlEFzXQ8jy9yHXkSZQ ) Посмотрите, вдруг подойдёт.Gustav
Опытный программист таблиц Google Max Makhrov подсказал более изящную формулу для генерации трудовых будней месяца. С учётом его рекомендаций предыдущие формулы для первого вопроса (см. сообщение №2) можно переписать соответственно так:
[/vba] Фишка здесь в том, что последовательность дней месяца генерируется только один раз и присваивается переменной, которая далее используется в других вычислениях. В результате вся формула ограничивается одной ячейкой, без необходимости создания и использования именованной функции.
В общем, да здравствует функция LAMBDA. А на подходе же еще долгожданная функция LET (уже анонсирована, должна стать доступной во всех регионах буквально в течение пары недель).
[p.s.]А с нашей второй формулой можно пойти ещё дальше и попробовать внедрить годовой (2023) справочник праздников прямо в формулу:[/p.s.] [vba]
Опытный программист таблиц Google Max Makhrov подсказал более изящную формулу для генерации трудовых будней месяца. С учётом его рекомендаций предыдущие формулы для первого вопроса (см. сообщение №2) можно переписать соответственно так:
[/vba] Фишка здесь в том, что последовательность дней месяца генерируется только один раз и присваивается переменной, которая далее используется в других вычислениях. В результате вся формула ограничивается одной ячейкой, без необходимости создания и использования именованной функции.
В общем, да здравствует функция LAMBDA. А на подходе же еще долгожданная функция LET (уже анонсирована, должна стать доступной во всех регионах буквально в течение пары недель).
[p.s.]А с нашей второй формулой можно пойти ещё дальше и попробовать внедрить годовой (2023) справочник праздников прямо в формулу:[/p.s.] [vba]