Серия «Формулы Гугл таблиц»

11

Календарь на лист A4 одной формулой в Гугл таблице

Серия Формулы Гугл таблиц
Годовой календарь в формате A4

Годовой календарь в формате 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;
праздники;{""\""};

В таком случае лист Настройки не нужен.

Ссылка с примером

https://docs.google.com/spreadsheets/d/1FgDvSw9Tqa8MBe6aY-60-6xrUQ64U7Hyek9Mo2LEWks/edit?gid=1446175694#gid=1446175694

Скопируйте файл себе для просмотра формул и использования в табелях

Показать полностью 1
8

Формула "Число прописью" для Гугл таблиц

Серия Формулы Гугл таблиц

=LET(
_num; ABS(A6);
_rub; ЦЕЛОЕ(_num);
_kop; ОКРУГЛ((_num - _rub) * 100; 0);
_comm1; "Словари (индексы с 1)";
_units_m; {"";"один";"два";"три";"четыре";"пять";"шесть";"семь";"восемь";"девять"};
_units_f; {"";"одна";"две";"три";"четыре";"пять";"шесть";"семь";"восемь";"девять"};
_tens; {"";"десять";"двадцать";"тридцать";"сорок";"пятьдесят";"шестьдесят";"семьдесят";"восемьдесят";"девяносто"};
_hundreds;{"";"сто";"двести";"триста";"четыреста";"пятьсот";"шестьсот";"семьсот";"восемьсот";"девятьсот"};
_teens; {"десять";"одиннадцать";"двенадцать";"тринадцать";"четырнадцать";"пятнадцать";"шестнадцать";"семнадцать";"восемнадцать";"девятнадцать"};
_comm2; "Лямбда: число 0..999 → слова, gender: 0 – мужской, 1 – женский";
_numWords; LAMBDA(_n; _gender;
LET(
_h; ЦЕЛОЕ(_n / 100);
_rest; _n - _h * 100;
_d; ЦЕЛОЕ(_rest / 10);
_u; _rest - _d * 10;
_sH; ЕСЛИ(_h > 0; ИНДЕКС(_hundreds; _h + 1); "");
_sD; ЕСЛИ(И(_rest >= 10; _rest <= 19); ИНДЕКС(_teens; _rest - 9); ЕСЛИ(_d > 0; ИНДЕКС(_tens; _d + 1); ""));
_sU; ЕСЛИ(И(_rest >= 10; _rest <= 19); ""; ЕСЛИ(_u > 0; ИНДЕКС(ЕСЛИ(_gender = 1; _units_f; _units_m); _u + 1); ""));
СЖПРОБЕЛЫ(_sH & " " & _sD & " " & _sU)
)
);
_comm3; "Лямбда: склонение существительного по числу (forms – массив из 3 форм)";
_decline; LAMBDA(_n; _forms;
LET(
_rem; ОСТАТ(ABS(_n); 100);
_idx; ЕСЛИ(И(_rem >= 11; _rem <= 19); 3; ЕСЛИ(ОСТАТ(_rem; 10) = 1; 1; ЕСЛИ(И(ОСТАТ(_rem; 10) >= 2; ОСТАТ(_rem; 10) <= 4); 2; 3)));
ИНДЕКС(_forms; _idx)
)
);
_comm4; "Разбиваем рубли на группы по 3 цифры";
_r1; _rub;
_groupMln; ЦЕЛОЕ(_r1 / 1000000);
_r2; _r1 - _groupMln * 1000000;
_groupThs; ЦЕЛОЕ(_r2 / 1000);
_r3; _r2 - _groupThs * 1000;
_groupUnit; _r3;
_comm5; "Преобразуем каждую группу в слова";
_wordsMln; ЕСЛИ(_groupMln > 0; _numWords(_groupMln; 0) & " " & _decline(_groupMln; {"миллион";"миллиона";"миллионов"}); "");
_wordsThs; ЕСЛИ(_groupThs > 0; _numWords(_groupThs; 1) & " " & _decline(_groupThs; {"тысяча";"тысячи";"тысяч"}); "");
_wordsUnit; ЕСЛИ(_groupUnit > 0; _numWords(_groupUnit; 0) & " " & _decline(_groupUnit; {"рубль";"рубля";"рублей"}); "рублей");
_comm6; "Собираем рублёвую часть (если всё нули – «ноль рублей»)";
_rubPart; ЕСЛИ(
И(_groupMln = 0; _groupThs = 0; _groupUnit = 0);
"ноль " & _decline(0; {"рубль";"рубля";"рублей"});
СЖПРОБЕЛЫ(_wordsMln & " " & _wordsThs & " " & _wordsUnit)
);
_comm7; "Копейки";
_kopStr; ТЕКСТ(_kop; "00");
_kopWords; _kopStr & " " & _decline(_kop; {"копейка";"копейки";"копеек"});
_comm8; "Финальный результат с заглавной буквы";
_full; _rubPart & " " & _kopWords;
ПРОПИСН(ЛЕВСИМВ(_full; 1)) & ПСТР(_full; 2; ДЛСТР(_full) - 1)
)

Вместо A6 во второй строке вставьте адрес с числом.

Написано максимально подробно, с комментариями ( начало с _comm - это комментарий).

Такая максимально подробная разбивка на части сложной задачи упрощает её решение и последующую проверку.

Если интересно, могу выложить ещё интереснейшие формулы)))

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества