Некоторые записи в Google Таблицах обязательно сопровождаются указанием месяца, числа и дня недели. Конечно, все это можно расставлять в ячейках вручную, однако с каждым месяцем данные придется менять или создавать новую таблицу. Это неудобно, особенно если учитывать тот факт, что сами Таблицы были созданы для упрощения взаимодействия со значениями.
Поэтому в рамках данной статьи я разберу метод создания динамического календаря, числа в котором будут автоматически меняться в соответствии с текущим месяцем. К тому же мы настроим подсветку выходных дней.
Шаг 1: Создание листа с данными
При использовании динамического календаря в Гугл Таблицах понадобится постоянно обращаться к списку месяцев и чисел. Для этого придется создать вспомогательный лист, на заполнение которого уйдет не так много времени. Выполните по очереди каждое действие, описанное ниже, после чего переходите к следующему шагу.
-
Откройте пустую таблицу, где хотите разработать динамический календарь. Нажмите кнопку с плюсом, чтобы добавить новый лист.
-
Задайте для него любое название, чтобы в будущем не запутаться с предназначением листа.
-
По порядку в первом столбце самостоятельно напишите список всех двенадцати месяцев.
-
После этого выберите первую ячейку напротив «Январь», щелкните по ней правой кнопкой мыши и выберите пункт «Настроить проверку данных».
-
Из списка «Правила» выберите пункт «Дата».
-
После этого можно сохранить изменения.
-
Дважды кликните по данной ячейке левой кнопкой мыши, после появления календаря нажмите по первому числу месяца.
-
Теперь в клетке отображается первое число первого месяца текущего года.
-
Активируйте ячейку напротив «Февраль» и введите формулу =КОНМЕСЯЦА(B1;0)+1, после чего нажмите Enter. Эта формула вычисляет последний день месяца и прибавляет к нему единицу, что позволяет в самой клетке отображать первое число нового месяца. Выполнение данного процесса может показаться непонятным, однако это самый простой метод настроить ячейку для дальнейшего растягивания, чтобы не использовать проверку данных каждый раз.
-
Теперь, начиная с первого дня февраля, растяните формулу до последнего месяца.
-
Вы видите, что числа остаются первыми, меняются только месяцы. Если дважды кликнуть по любой ячейке, откроется календарь и дополнительно покажется и текущий день недели.
Это был весь подготовительный этап со вспомогательным листом. Теперь можете переключиться на основной и приступать к следующему шагу, в котором описан главный процесс создания динамического календаря.
Шаг 2: Заполнение таблицы
Сейчас разберемся с заполнением таблицы, в которой и будет присутствовать динамический календарь. Настроим список месяцев и сделаем так, чтобы при выборе одного из них числа и дни недели в ячейках автоматически менялись на актуальные. Красивое оформление пропустим, поскольку с этим этапом вы сможете разобраться и самостоятельно.
-
Выберите первую ячейку, на листе, которая будет служить списком с месяцами. Щелкните по ней правой кнопкой мыши и в контекстном меню нажмите кнопку «Настроить проверку данных».
-
В поле «Укажите диапазон или» нажмите по значку с ячейками.
-
Перейдите на вспомогательный лист и выделите все клетки с месяцами, формируя тем самым список.
-
Сохраните изменения, кликнув по соответствующей кнопке.
-
Теперь, разворачивая список в клетке, вы видите перечень всех месяцев, расположенных на вспомогательном листе.
-
Активируйте первую ячейку строки, с которой должен начинаться отсчет дней. Введите в ней формулу =FILTER('НазваниеВспомогательногоЛиста'!B:B; 'НазваниеВспомогательногоЛиста'!'A:A=A1'). Таким образом, вы создаете фильтр, чтобы при выборе месяца автоматически подставлялся его первый день в данную клетку. Если список и названия на вспомогательном листе у вас находятся в столбцах под другими буквами, поменяйте значения в формулах под себя.
-
Измените из выпадающего списка месяц, чтобы убедиться в корректной динамической дате.
-
В клетке следующего дня введите =B1+1, где B1 – та самая клетка с функцией фильтра. Так вы добавите один день к текущему, получив следующий.
-
Растяните формулу до конца таблицы (на 31 день), достигнув тем самым отображения абсолютно всех чисел месяца. Соответственно, при изменении самого месяца даты тоже будут меняться на соответствующие, как это было показано ранее.
Последняя задача данного этапа – сделать так, чтобы формат ячеек соответствовал вашим требованиям. Разберем это на простом примере, чтобы вместо 01.01.2022 отображался формат Суббота, 1 (и так далее по всем дням).
-
Выделите ячейку с первым днем месяца, откройте меню «Формат» и выберите пункт «Пользовательские дата и время».
-
Удалите текущие значения, кликнув по каждому из них левой кнопкой мыши.
-
При помощи вариантов снизу отыщите подходящие значения, которые бы включали день недели и число. Их можно поменять местами или редактировать, чтобы полные названия поменялись на сокращенные.
-
Примените изменения и вернитесь к таблице. Как видно, настройки вступили в силу и дни недели отображаются в более понятном формате.
Шаг 3: Настройка подсветки выходных
Динамический календарь уже готов к использованию, вы можете форматировать таблицу под себя, добавлять оформление и вводить необходимые данные. Однако в качестве дополнения продемонстрирую довольно интересную фишку, которая отвечает за подсветку выходных дней (субботы и воскресенья) с их динамическим изменением при выборе другого месяца.
-
Выберите строки ниже, где будете вводить свои данные. У меня это отчеты по дням для каждого сотрудника. Обязательно убедитесь в том, что выделение коснулось всех дней месяца. После этого сделайте клик ПКМ и выберите «Условное форматирование».
-
Из списка укажите условие форматирования «Ваша формула».
-
Введите =or(weekday(B$1)=7;). B$1 замените на то название клетки, в которой содержится первый день месяца.
-
После точки с запятой идет вторая часть формулы weekday(B$1)=1, а в целом строка должна выглядеть как =or(weekday(B$1)=7;weekday(B$1)=1). Таким образом, условное форматирование будет активно только в том случае, если день недели суббота или воскресенье.
-
Цвет подсветки ячейки можете выбрать любой, после чего сохраните изменения.
-
Теперь обратите внимание на то, что клетки с выходными днями начали подсвечиваться выбранным цветом. Измените месяц и проверьте динамическое форматирование, которое тоже должно работать корректно.
Если вы будете точно следовать инструкциям, смотреть на скриншоты, копировать и редактировать формулы под себя, у вас обязательно получится создать динамический календарь. Всегда можно проявить немного креатива и подстроить все функции под себя, изменив подсветку конкретных дней или указав не все, а только некоторые месяцы в списке.
Комментарии
на западном сайте применяют, но у меня по их способу выдают ошибку на этапе (DATE(A1,MONTH(A2&1),1)) где они слово месяца преобразуют в цифры, а по вашему способу норм получается. Таблица у меня тоже плоская как у них на две строки горизонтальные сверху числа календарные, а далее название дней недели коротки пн.вт. итд Еще как-то быстро менять год тоже выпадающим списком, ваш способ нужно улучшить, но сам я не соображу))
=ЕСЛИ(КОНМЕСЯЦА(AE3;0)=AE3;"";ЕСЛИ(AE3="";""; ЕСЛИ(КОНМЕСЯЦА(AE3;0)<>AE3;AE3+1)))
Вместо "АЕ3" поставьте свою ячейку. Объясню как работает:
Если в предыдущей ячейке конец месяц=концу тек. месяцу, то "пусто"; иначе если предыдущая ячейка="пусто", то "пусто"; иначе если предыдущая ячейка не равно концу тек. месяца, то значение в пред. ячейки +1 (то есть если это январь, то после 28 пойдет 29, после 29 пойдет 30 и т.д.).
Надеюсь, понятно объяснила :)