Календарь на лист A4 одной формулой в Гугл таблице
Формула календаря, введённая в 1 ячейку, позволяет получить календарь на год и распечатать на листе A4. Год задаётся в листе Настройки, там же задаются праздники. Приведён пример для Беларуси и России.
=LET(
год; 'Настройки_России'!F1;
праздники;'Настройки_России'!A2:B21;
пустая_колонка; {"";"";"";"";"";"";"";""};
пустая_строка; {""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""};
дни_недели;{"Пн"\"Вт"\"Ср"\"Чт"\"Пт"\"Сб"\"Вс"};
_m; LAMBDA(m;
LET(
первый; ДАТА(год; m; 1);
дней; ДЕНЬ(КОНМЕСЯЦА(первый; 0));
сдвиг; ДЕНЬНЕД(первый; 2) - 1;
заголовок; ВЫБОР(m;"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь");
числа; SEQUENCE(6; 7; -сдвиг + 1);
матрица; MAP(числа; LAMBDA(x; ЕСЛИ((x >= 1) * (x <= дней); ЕСЛИ(СУММ(BYROW(праздники;LAMBDA(_row;ЕСЛИ(И(ИНДЕКС(_row;1;1)=x;ИНДЕКС(_row;1;2)=m);1;0))))>0;"["&x&"]";x); "")));
VSTACK({""\заголовок\""\""\""\""\""}; дни_недели; матрица)
)
);
ряд1; HSTACK(_m(1); пустая_колонка; _m(2); пустая_колонка; _m(3));
ряд2; HSTACK(_m(4); пустая_колонка; _m(5); пустая_колонка; _m(6));
ряд3; HSTACK(_m(7); пустая_колонка; _m(8); пустая_колонка; _m(9));
ряд4; HSTACK(_m(10); пустая_колонка; _m(11); пустая_колонка; _m(12));
VSTACK(ряд1; пустая_строка; ряд2; пустая_строка; ряд3; пустая_строка; ряд4)
)
Так же, как в посте Число прописью, написано максимально подробно, потому что так улучшается восприятие и проще отлаживать.
В первых строках задаются ссылки на текущий год и праздники. Можно задать год напрямую, и игнорировать праздники, тогда первые строки выглядели бы так:
год; 2026;
праздники;{""\""};
В таком случае лист Настройки не нужен.
Ссылка с примером
Скопируйте файл себе для просмотра формул и использования в табелях
