Во время работы с графиками и календарями всегда кстати очень полезная возможность выделения цветом дат выходных дней (субботы и воскресенья). Формула условного форматирования позволяет выделить все даты выходных дней в списке графика или на календаре в Excel.
Как выделить цветом только выходные дни по дате в Excel
Ниже на рисунке приведен пример автоматического выделения цветом дат выходных дней:
Чтобы создать такое правило для условного форматирования, выполните следующие действия шаг за шагом:
- Выделите исходных диапазон ячеек (в данном примере это A2:A17) и выбреете инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило». В результате чего появится окно как показано ниже на рисунке:
- В появившемся окне выберите опцию: «Использовать формулу для определения форматируемых ячеек». Теперь у нас есть возможность ввести формулу для определения собственных правил и условий выделения ячеек цветом в предварительно выделенном исходном диапазоне.
- В поле ввода введите логическое выражение формулы представленное на данном этапе. Обратите внимание на то, что в формуле используются только относительные ссылки на ячейки. Для определения дня недели по значению ячейки используется функция ДЕНЬНЕД. Если функция при определенно заданных аргумента будет возвращать значение 6 или 7, это значит, что в текущей ячейке (например, A4) записана дата выходного дня. После чего итоговый результат вычисления целой формулы будет возвращать логическое значение ИСТИНА. В таком случае для этой ячейки будет применено условное форматирование, предварительно заданное пользователем в настройках данного инструмента (описано на следующем этапе).
=ИЛИ(ДЕНЬНЕД(A2)=1;ДЕНЬНЕД(A2)=7)
- Щелкните на кнопку «Формат» и появится знакомое окно для оформления стиля отображения ячейки и ее значения – «Формат ячеек», как показано ниже на рисунке. В данном окне вы имеете возможность указать цвета для заливки, шрифтов и границ ячейки. А также присвоить другие свойства декорации формата. После внесения всех настроек подтвердите их нажатием на кнопку ОК на всех открытых окнах.
В результате в столбце даты подсветились цветом только даты с выходными днями недели.
Производственный календарь, т.е. список дат, где соответствующим образом помечены все официальные рабочие и выходные дни — совершенно необходимая штука для любого пользователя Microsoft Excel. На практике без него не обойтись:
- в бухгалтерских расчетах (зарплата, стаж, отпуска…)
- в логистике — для корректного определения сроков доставки с учётом выходных и праздников (помните классическое «давай уже после праздников?»)
- в управлении проектами — для правильной оценки сроков с учётом, опять же, рабочих-нерабочих дней
- при любом использовании функций типа РАБДЕНЬ (WORKDAY) или ЧИСТРАБДНИ (NETWORKDAYS), т.к. они требуют в качестве аргумента список праздников
- при использовании функций Time Intelligence (типа TOTALYTD, TOTALMTD, SAMEPERIODLASTYEAR и т.д.) в Power Pivot и Power BI
- … и т.д. и т.п. — примеров масса.
Тем, кто работает в корпоративных ERP-системах типа 1С или SAP — проще, в них производственный календарь встроен. Но что делать пользователям Excel?
Можно, конечно, вести такой календарь вручную. Но тогда придется как минимум раз в год (а то и чаще, как в «весёлом» 2020 году) его актуализировать, аккуратно внося туда все выходные, переносы и нерабочие дни, придуманные нашим правительством. А потом повторять эту процедуру каждый следующий год. Скукота.
А как насчёт чуть напрячься и сделать «вечный» производственный календарь в Excel? Такой, чтобы сам обновлялся, брал данные из интернета и формировал всегда актуальный список нерабочих дней для последующего использования в любых расчетах? Заманчиво?
Сделать такое, на самом деле, совсем не сложно.
Источник данных
Главный вопрос — а где брать данные? В поисках подходящего источника я перебрал несколько вариантов:
- Оригинальные указы публикуются на сайте правительства в формате PDF (вот, один из них, например) и отпадают сразу — полезную информацию из них не вытащить.
- Заманчивым вариантом, на первый взгляд, казался «Портал открытых данных РФ», где есть соответствующий набор данных, но, при ближайшем изучении всё оказалось печально. Для импорта в Excel сайт жутко неудобен, техподдержка не отвечает (самоизолировались?), да и сами данные там давно устарели — производственный календарь на 2020 год обновлялся последний раз в ноябре 2019 (позорище!) и, само-собой, не содержит наших «коронавирусных» и «голосовательных» выходных 2020 года, например.
Разочаровавшись в официальных источниках, я стал рыть неофициальные. Их в интернете множество, но большинство из них, опять же, совершенно неприспособлены для импорта в Excel и выдают производственный календарь в виде красивых картинок. Но нам-то с вами не на стенку его вешать, правильно?
И вот в процессе поисков случайно обнаружилось прекрасное — сайт http://xmlcalendar.ru/
Без лишних «рюшечек», простой, легкий и быстрый сайт, заточенный под одну задачу — отдавать всем желающим производственный календарь за нужный год в XML-формате. Отлично!
Если, вдруг, вы не в курсе, то XML — это текстовый формат с разметкой содержимого специальными <тегами>. Легкий, удобный и читаемый большинством современных программ, включая Excel.
Я, на всякий случай, связался с авторами сайта и они подтвердили, что сайт существует уже 7 лет, данные на нем постоянно актуализируются (у них для этого даже ветка на github есть) и закрывать его они не собираются. И совершенно не против, чтобы мы с вами с него грузили данные для любых наших проектов и расчётов в Excel. Бесплатно. Как же приятно, что есть еще такие люди! Респектище!
Осталось загрузить эти данные в Excel с помощью надстройки Power Query (для версий Excel 2010-2013 её можно бесплатно скачать с сайта Microsoft, а в версиях Excel 2016 и новее — она уже встроена по умолчанию).
Логика действий будет такая:
- Делаем запрос для загрузки данных с сайта за один любой год
- Превращаем наш запрос в функцию
- Применяем эту функцию к списку всех имеющихся лет, начиная с 2013 и до текущего года — и получаем «вечный» производственный календарь с автоматическим обновлением. Вуаля!
Шаг 1. Импортируем календарь за один год
Сначала загрузим производственный календарь за один любой год, например, за 2020. Для этого в Excel идём на вкладку Данные (или Power Query, если вы установили её как отдельную надстройку) и выбираем Из интернета (From Web). В открывшееся окно вставляем ссылку на соответствующий год, скопированную с сайта:
После нажатия на ОК появляется окно предварительного просмотра, в котором нужно нажать кнопку Преобразовать данные (Transform data) или Изменить данные (Edit data) и мы попадем в окно редактора запросов Power Query, где и продолжим работу с данными:
Сразу же можно смело удалить в правой панели Параметры запроса (Query settings) шаг Измененный тип (Changed Type) — он нам не нужен.
Таблица в столбце holidays содержит коды и описания нерабочих дней — увидеть её содержимое можно, дважды «провалившись» в неё щелчком мыши по зелёному слову Table:
Для возврата назад придется удалить в правой панели все появившиеся шаги обратно до Источника (Source).
Вторая таблица, куда можно зайти аналогичным образом, содержит как раз то, что нам нужно — даты всех нерабочих дней:
Останется эту табличку обработать, а именно:
1. Отфильтровать только даты праздников (т.е. единички) по второму столбцу Attribute:t
2. Удалить все столбцы, кроме первого — щелчком правой кнопкой мыши по заголовку первого столбца и выбором команды Удалить другие столбцы (Remove Other Columns):
3. Разделить первый столбец по точке отдельно на месяц и день с помощью команды Разделить столбец — По разделителю на вкладке Преобразование (Transform — Split column — By delimiter):
4. И, наконец, создать вычисляемый столбец с нормальными датами. Для этого на вкладке Добавление столбца жмём на кнопку Настраиваемый столбец (Add Column — Custom Column) и вводим в появившееся окно следующую формулу:
=#date(2020, [#»Attribute:d.1″], [#»Attribute:d.2″])
Здесь у оператора #date три аргумента: год, месяц и день, соответственно. После нажатия на ОК получаем требуемый столбец с нормальными датами выходных, а остальные столбцы удаляем как в п.2
Шаг 2. Превращаем запрос в функцию
Следующая наша задача — преобразовать созданный на 2020 год запрос в универсальную функцию для любого года (номер года будет её аргументом). Для этого делаем следующее:
1. Разворачиваем (если ещё не развернута) панель Запросы (Queries) слева в окне Power Query:
2. После преобразования запроса в функцию возможность видеть шаги, из которых состоит запрос и легко их редактировать, к сожалению, пропадает. Поэтому имеет смысл сделать копию нашего запроса и резвиться уже с ней, а оригинал оставить про запас. Для этого щелкаем правой кнопкой мыши в левой панели по нашему запросу calendar и выбираем команду Дублировать (Duplicate).
Щелкнув еще раз правой по получившейся копии calendar(2) выберем команду Переименовать (Rename) и введём новое имя — пусть будет, например, fxYear:
3. Открываем исходный код запроса на внутреннем языке Power Query (он лаконично назвается «М») с помощью команды Расширенный редактор на вкладке Просмотр (View — Advanced Editor) и вносим туда небольшие правки для превращения нашего запроса в функцию на любой год.
Было:
Стало:
Если интересны подробности, то здесь:
- (year as number)=> — объявляем, что в нашей функции будет один числовой аргумент — переменная year
- Подклеиваем переменную year в веб-ссылку на шаге Источник. Поскольку Power Query не позволяет склеивать числа и текст, то на лету преобразовываем номер года в текст с помощью функции Number.ToText
- Подставляем переменную year вместо 2020 года на предпоследнем шаге #»Добавлен пользовательский объект«, где мы формировали дату из фрагментов.
После нажатия на Готово наш запрос превращается в функцию:
Шаг 3. Импортируем календари за все года
Осталась самая малость — сделать последний главный запрос, который будет закачивать данные за все имеющиеся года и складывать все полученные даты праздников в одну таблицу. Для этого:
1. Щёлкаем в левой панели запросов в серое пустое место правой кнопкой мыши и выбираем последовательно Новый запрос — Другие источники — Пустой запрос (New Query — From other sources — Blank query):
2. Нам нужно сформировать список всех лет, для которых мы будем запрашивать календари, т.е. 2013, 2014 … 2020. Для этого в строке формул появившегося пустого запроса вводим команду:
Конструкция:
={ЧислоА..ЧислоБ}
… в Power Query формирует список целых чисел от А до Б. Например, выражение
={1..5}
…выдало бы список 1,2,3,4,5.
Ну, а чтобы не привязываться жёстко к 2020 году, мы используем функцию DateTime.LocalNow() — аналог экселевской функции СЕГОДНЯ (TODAY) в Power Query — и извлекаем из неё, в свою очередь, текущий год функцией Date.Year.
3. Полученный набор лет хоть и выглядит вполне адекватно, но для Power Query представляет собой не таблицу, а особый объект — список (List). Но преобразовать его в таблицу — не проблема: достаточно нажать кнопку В таблицу (To Table) в левом верхнем углу:
4. Финишная прямая! Применяем созданную нами ранее функцию fxYear к полученному списку лет. Для этого на вкладке Добавление столбца жмём кнопку Вызвать настраиваемую функцию (Add Column — Invoke Custom Function) и задаём её единственный аргумент — колонку Column1 с годами:
После нажатия на ОК наша функция fxYear по очереди отработает импорт для каждого года и мы получим столбец, где в каждой ячейке будет содержаться таблица с датами нерабочих дней (содержимое таблицы хорошо видно, если щёлкнуть мышью в фон ячейки рядом со словом Table):
Останется развернуть содержимое вложенных таблиц, щёлкнув по значку с двойными стрелками в шапке столбца Даты (галочку Использовать исходное имя столбца как префикс при этом можно снять):
… и после нажатия на ОК мы получим то, что хотели — список всех праздников с 2013 и до текущего года:
Первый, ненужный уже столбец, можно удалить, а для второго задать тип данных Дата (Date) в выпадающем списке в шапке столбца:
Сам запрос можно переименовать как-нибудь более осмысленно, чем Запрос1 и выгрузить затем результаты на лист в виде динамической «умной» таблицы с помощью команды Закрыть и загрузить на вкладке Главная (Home — Close & Load):
Обновлять созданный календарь в будущем можно щелчком правой кнопки мыши по таблице или запросу в правой панели через команду Обновить. Или же использовать кнопку Обновить все на вкладке Данные (Date — Refresh All) или сочетание клавиш Ctrl+Alt+F5.
Вот и всё.
Теперь вам больше никогда не нужно тратить время и мыслетопливо на поиски и актуализацию списка праздничных дней — теперь у вас есть «вечный» производственный календарь. Во всяком случае, до тех пор, пока авторы сайта http://xmlcalendar.ru/ поддерживают своё детище, что, я надеюсь, будет ещё очень и очень долго (спасибо им еще раз!).
Ссылки по теме
- Импорт курса биткойна в Excel из интернета через Power Query
- Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
- Поиск пересечения интервалов дат
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ в Microsoft Excel.
Описание
Возвращает число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты. Рабочими днями не считаются выходные дни и дни, определенные как праздничные. Функция РАБДЕНЬ используется для исключения выходных дней или праздников при вычислении дат платежей, ожидаемых дат доставки или количества фактически отработанных дней.
Совет: Чтобы вычислить число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад, с использованием параметров, определяющих количество выходных в неделе и то, какие это дни, используйте функцию РАБДЕНЬ.МЕЖД.
Синтаксис
РАБДЕНЬ(нач_дата;количество_дней;[праздники])
Аргументы функции РАБДЕНЬ описаны ниже.
-
нач_дата — обязательный аргумент. Начальная дата.
-
Количество_дней Обязательный. Количество дней до или после начальной даты, не являющихся выходными или праздниками. Положительное значение аргумента «количество_дней» обозначает дату в будущем, отрицательное — дату в прошлом.
-
Праздники Необязательный. Список из одной или нескольких дат, например государственных праздников, которые требуется исключить из рабочего календаря. Список может представлять собой диапазон ячеек, содержащих даты, или константу массива, содержащую числа, которые представляют даты.
Важно: Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
Замечания
-
В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.
-
Если какой-либо из аргументов не является допустимой датой, то workDAY возвращает #VALUE! значение ошибки #ЗНАЧ!.
-
Если start_date плюс дн. возвращает недействительные даты, то workDAY возвращает #NUM! значение ошибки #ЗНАЧ!.
-
Если значение аргумента «количество_дней» не является целым числом, оно усекается.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
01.10.2008 |
Начальная дата |
|
151 |
Осталось дней |
|
26.11.2008 |
Праздник |
|
04.12.2008 |
Праздник |
|
21.01.2009 |
Праздник |
|
Формула |
Описание (результат) |
Результат |
=РАБДЕНЬ(A2;A3) |
Отсчитывает 151 рабочий день с начальной даты (30.04.09) |
30.04.2009 |
=РАБДЕНЬ(A2;A3;A4:A6) |
Отсчитывает 151 рабочий день с начальной даты, исключая праздники (05.05.09) |
05.05.2009 |
Нужна дополнительная помощь?
Выделить дату, день недели в Excel при условии.
Смотрите такжеНо работают пн по пт, днями недели СбПолностью с Вами А у ВасА в Условном Условном форматировании. 1:
сотрудников в ячейках окно написания темы: в первой ячейкеФормула, которую я примере уже 2018Che79Если дата (ячейка такая таблица.Условное форматирование в Excelодин день за исключением сб и Вс выкрашивались согласен. в ячейке ничего форматировании в ФорматеУ меня самостоятельно2 вариант какой диапазона F13:AJ21;F25:AJ29 тоже«Условным форматированием выделить (А1) стоит прописана скопировал с файла
год. Праздники и:A2Выделяем таблицу, заходимпоможет выделить день
, т.е. начинают 11-го и вс. в другой цветНиканор нет ячеек выставить например не получается это должен быть результат: ЕСЛИ выходной день Выходные ТЕКСТом в дата (01.04.2014) , 1449045.xlsx с Условного «рабочие» выходные вынесены
Никанор) попадает на субботу в «Условное форматирование» недели, рабочие или и заканчивают 11-го,Например, необходимо выполнить при заданном том
: boa, – Андрей!Никанор # ##0.00″ СБ.»
сделать. Выходные выделяются буквой суббота – что табеле учёта рабочего в ячейке ниже форматирования и формула
отдельно в серые, проверяйте на реальном или воскресенье, то и выбираем «Создать
выходные дни, дату. а если заканчивают окраску, начало работ или ином месяцеЧудесно Вы придумали
: Отличное решение. УжеНо я понялМожно Вас попросить «Х». Рисунок 2:
было «СБ» или времени и начисления прописана формула (=А1+1) которую я скопировал
поля. В УФ файле нижеследующая формула возвращает
правило». Здесь перечислены варианты
14-го получается уже с 28.03.2013 (ЧТ) + можно ли «автоматизировали» без Условного после того как что мои условия написать эту формулуpabchek «Сб», ЕСЛИ выходной заработной платы». и т.д. до с сайта, в
формула=(ДЕНЬНЕД($A12;2)>5)*($A12<>»») датуВыбираем «Сравнить столбцы формул настройки ячеекдва дня , длительность работы еще к этим форматирования! Вы предложили формулу, невыполнимы так как в файл и: Здравствуйте! день воскресенье –Помогите, пожалуйста, в конца месяца. Ячейка Вашем сообщении от:
excel-office.ru
Ближайший рабочий день в MS EXCEL
=(ДЕНЬНЕД($A12;2)>5)*($A12<>»»)+ИЛИ($A12=$P$2:$P$12)-ИЛИ($A12=$Q$2:$Q$12)Я бы ещеследующего понедельника таблицы для определения таблицы Excel для(11 и 14), 6 дней, получается, выходным привязать праздничныеДействительно теперь править а не УсловноеПравильно ли я
прикрепить на сайт.Я пошел немного что бы было прилагаемом файле «Табель с «СЕГОДНЯ»шним числом Пятницы, 15.12.2017, 18:52И формулы в сюда праздники добавил,
(см. Файл примера):
форматируемых ячеек». В
выделения их по вот следующий этап
что рабочие дни
дни ( я будет меньше. форматирование, и я
понял что это
P. S. Я разобрался. по другому. Возможно, «ВС» или «Вс»
учёта рабочего времени
выделяется цветом (светло-коричневым),
| Сообщение № календаре немного переделал. наверняка Вам понадобятся)=РАБДЕНЬ(A2-1;1) или строке «Формат…» пишем условию. работ начинают уже — ЧТ, ПТ,ПН, задаю на весьОгромное спасибо!
excel2.ru
Формула условное форматирование выделить выходные в столбце (Формулы/Formulas)
открыл Ваш файл невозможно?
Это формула, а Вас устроит. (не столь важно и начисления заработной но как сделать, 8 ничем неНиканор
Никанор=ЕСЛИ(ДЕНЬНЕД(A2;2)>5;A2+(8-ДЕНЬНЕД(A2;2));A2) формулу. =ЕОШИБКА(B9)1.
14-го. ВТ,СР, ЧТ, т.е. год праздничные дни,
Только у меня то я самboa не формула для
Формула для ячейки большая или маленькая
платы» нужно Условным
что бы ячейка отличаются.: Che79, Большое спасибо
: vikttur, Спасибо.или датуВыбираем цвет, которымВыделить в Excel деньПоэтому, в моём
конец выполнения работ а Excel при сразу не получилось. подумал о таком: Никанор, Условного форматирования.
G13: вторая буква). форматированием выделить выходные
с датой (06.04.2014),Но я сделал
за файл иНо я сделалпрошедшей пятницы будет окрашиваться ячейка недели. первом примитивном варианте выпадает на 04.04.2013. выставлении того или
Я Вашу формулу варианте.а что быУ меня похожая=ЕСЛИ($C13<>0;ТЕКСТ(G$10;»ддд»);»»)
2 вариант формулы: дни ТЕКСТом с
7 числа ячейка
следующее: Открыл Ваш формулу. Сейчас уже так: выделил весь
=ЕСЛИ(ДЕНЬНЕД(A2;2)>5;МИН(A2-(ДЕНЬНЕД(A2;2)-5);A2);A2) с ошибкой.
Например, выделим субботы в ячейке М9 У меня же иного месяца выкрашивает
с Сообщения №То есть алгоритм выводило «Х», можно формула стоит в_Boroda_
ЕСЛИ не ПУСТАЯ УСЛОВИЯМИ:
в датой выходного файл → Главная нет времени – диапазон A12:A42 →Если дата попадает наНажимаем «ОК». Получилось так.
и воскресенья. Как
было написано: К9+L9 получается, что она
столбец с этим 17 Дата: Среда,
– последовательность выполнения такую формулу в
диапазоне ячеек F11:AJ11: УФ с каким-то ячейка диапазона B13:B21;B25:B29ЕСЛИ день недели дня выделилась красным → Условное форматирование посмотрю позже и Главная → Условное воскресенье, то будетЕщё вырианты применения преобразовать даты в-1 считает вместе с праздничным днём).
04.07.2018, 12:02 вставлял должны быть такими:
G13 для определения дня текстом можно сделать что бы напротив Суббота, что бы светом? → Управление правилами
сообщу Вам. форматирование → создать возвращена прошедшая суббота: условного форматирования смотрите дни недели, смотритеVlad999 СБ и ВС,
С подсчетом ночных в ячейку F13
1. Открыл файл.=IF(AND($C13<>0;WEEKDAY(G$10;2)>5);»X»;»») недели. только в том фамилии, имени, отчества было СБ илиikki → Изменить правилоСпасибо за внимание
правило и написал=ЕСЛИ(ДЕНЬНЕД(A2;2)>6;A2-1;A2)
в статье «Условное в статье «День: я показал принцип, в этом случае и вечерних вопрос и «протягивал» –
2. Удалил всеНиканорЯ таблицу заполняю
случае, если в
сотрудников в ячейках Сб (не столь: вот честное пионерское → ОК. к моему вопросу формулуЕсли дата попадает на форматирование в Excel». недели по дате а там дотачивайте конец работы выпадает решил.
результат был неправильный. ненужные данные.: вручную. И если
этой ячейке изначально
диапазона F13:AJ21;F25:AJ29 тоже важно большая или — нифига неИ после того и за уделённое=ДЕНЬНЕД($A$12)>5 воскресенье, то будет3. Excel». У нас как правильно. в на 02.04.2013 (ВТ),
amforА потом эту3. «Протянул» данныеboa в ячейке будет уже есть что-то ЕСЛИ выходной день
маленькая вторая буква); понял как я нажал время и за
$A$12 – это возвращен следующий понедельник:Выделение сегодняшней даты в есть строка в примере 11.01.2013 не что не правильно.
: Для Сб.и Вс. формулу вставил в с заполненными ячейками
, – Андрей Здравствуйте! формула, а потом
— текст или суббота или воскресеньеЕСЛИ день неделиДенис
ОК все праздники то что Вы первая ячейка –=ЕСЛИ(ДЕНЬНЕД(A2;2)>6;A2+1;A2) Excel. таблице с наименованием было.Сам я неvikttur ячейку G13 и Суббота «Сб» иБольшое спасибо за
я буду заполнять формула. У Вас – что бы Воскресенье, что бы
: 6 апреля - окрасились. ещё больше сделали
excelworld.ru
Выделение даты по дням недели (Формулы/Formulas)
перовое число месяца.ВНИМАНИЕ!У нас такая дней недели.SDK969 программист, с excel
: Праздничные и предпраздничные «протянул» вправо до Воскресенье «Вс» вниз. предложенную формулу. вручную таблицу – же зеленые ячейки было «Х». Выделено было ВС или воскресенье, т.е. выходной.Интересно, ведь я чем я просил. И весь диапазонФормулы не учитывают таблица с датами.Выделяем эту строку. На: Да, там я работал только на
— эти зависят AJ13 и влево4. Заполняю таблицуТолько мне бы
то формулы удалятся. пустые, поэтому текст буквой «Ха» – Вс или НД Вот мне надо, формулу не изменял,Никанор выделился красным цветом. праздничные дни и
Нам нужно, чтобы закладке «Главная» в
ошибся, конечно же
уровне таблиц и от того, на
на ячейку F13
данными. хотелось это сделать
Мне нужно именно
прилеплять без макросов что бы было (По украинскому – что бы этот она осталась такой: Che79, Здравствуйте!
Что я сделал переносы рабочих дней в столбце «Дата разделе «Стили» выбираем работы с 11-го примитивных формул =+-. какую ногу в и получилось.Но я и Условным форматированием.
Условным форматированием, если не получится. видно, что это Неділя) (не столь
выходной выделился только как и была
excelworld.ru
Условным форматированием выделить Выходные ТЕКСТом в табеле (Формулы/Formulas)
Скажите пожалуйста почему неправильно?
на выходные. В окончания обучения» ячейка — «Условное форматирование»,
начались)) хотя этоПрикрепляю файл примера. этом году встало1. вопрос: Правильно так сейчас это
Но Вашу формулу это возможно.Проще зайти с выходной день. важно большая или сегодня 7 апреля. – просто сделал в файле 1449045.xlsx(20Kb)
Прилагаю рисунок. статье Ближайший рабочий с сегодняшней датой нажимаем на функцию не суть важно)))Vlad999
правительство я сделал что делаю, а мне я тоже примуpabchek другой стороны -То есть сейчас нужно маленькая вторая буква).
Сейчас пример на как написал выше. в этом примереНиканор день с учетом
окрасилась. Выделяем это «Правила выделения ячеек»
Большое Вам спасибо.: а по праздникамПоэтому без таблицы формулу вставил в бы хотелось автоматизировать к сведению.
: Это формула не ЗАЧЕМ Вам это что бы всеСейчас в правиле мыло скину.Всё работает прилагаю 1, 2 и: Che79, Большое спасибо праздников и переносов столбец (D2:D6). Заходим и, затем - Будем пытаться дотачить) вы работаете?
этих самых дат ячейку G13? этот процесс.
_Boroda_ для УФ, а
нужно вообще? ячейки, которые в Условного форматирования дляikki 3 рисунка для 9 мая праздник, за быструю помощь! учтены праздничные дни в «Условное форматирование» «Текст содержит…».Vlad999SDK969 не решить никак.2. вопрос: КакИ я подумал: Это Вы о просто в ячейку.
Никанор прикреплённом файле залиты выделения выходных дней: не надо!!! наглядности. а в столбцеФормула: и переносы рабочих и выбираем «ПравилаТеперь пишем наш: в «нач.» у: точно, а проЗаливка выходных условным изменить Вашу формулу что это возможно
чем? И зачем?_Boroda_: _Boroda_, – Александр зелёным цветом, были стоит формула:лучше на форум.
Интересно почему так А не раскрашены=(ДЕНЬНЕД($A12;2)>5)*($A12<>»») дней на выходные. выделения ячеек» - текст, который должен меня в формулу
праздники я и форматированием: из Сообщения № с помощью УсловногоЦитата: 1. Они и Здравствуйте! с определённым ТЕКСТом.
=(МЕСЯЦ($B$1)=МЕСЯЦ(F$10))*(ДЕНЬНЕД(F$10;2)>5)*НЕ(ЕПУСТО($B12))Russel произошло. с помощью Условного
правильно выделяет (форматирует)
Никанор «Дата…». Из списка выделять ячейку. В не дописан диапазон забыл. спасибо)=ДЕНЬНЕД(G3;2)>5 17 Дата: Среда,
форматирования.Никанор, 04.07.2018 в так выделены цветом1. Для тогоНеобходимо – что
она применяется для: Формула в УФИли если скопировать форматирования?
выходные – так: Здравствуйте уважаемые помощники!
правил выбираем – нашем примере – праздников — допишите.
Vlad999Для определения первого
04.07.2018, 12:02 что
Никанор 11:29, в сообщении2. Для этого что бы были нужно – какой диапазона ячеек =$F$12:$AJ$40.200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(И(ДЕНЬНЕД(A1;2)=7;A1=СЕГОДНЯ()-1);1;0) эту же формулуИли так должно как я иПодскажите, пожалуйста, как «Сегодня». Получилось так. это буквы «Сб».
SDK969: по моему у дня у Вас были выходные, не
: _Boroda_, – Александр! № 10 () можно сделать ругательства.
выделены выходные дни; должен быть результатЭта формула Условного
Miphistofel с сайта быть? хотел.
в приложенном файле:Из списка правил
Теперь выбираем цвет: МММ…Вы имеете ввиду вас изначально не формула
«Х», а «Сб»Я всё прекрасноЦитата Тем жеУФ-ом, только
2. Что бы в изображено на форматирования даёт правильный
: Не работает(=(ДЕНЬНЕД($A12;2)>5)*($A12<>»»)+ИЛИ($A12=$P$2:$P$12)-ИЛИ($A12=$Q$2:$Q$12)
Che79vikttur «Условное форматирование выделить
можно выбрать другое заливки – это кол-во праздничных дней, правильно рассчитано в=ДАТА($C$3;ВПР($B$3;месяцы;2;ЛОЖЬ);1) и «Вс»? понял.
УФ с каким-то более другим. в выходные дни
рисунках 1 и результат – онаВот пример:→ Открыть Ваш
: Май 2017 -: 1. « выходные. в столбце.xlsx» правило. Например, чтобы
цвет, которым будут например с 22.01 столбце «срок».?boa
Большое спасибо за текстом можно сделатьСм. файл не проставлять отработанные 2 в моём «работает» правильно иRussel
файл 1449045.xlsx → не красится, ассылка без закрепления строки
выделить выходные дни ячейка с датой окрашиваться выделенные ячейки. по 24.01 ?
смотрите ф-цию РАБДЕНЬПервое число месяца: Никанор,
ответы и объяснения. только в томpabchek часы.
сообщении № 2.
выходные дни окрашиваются: У меня в Главная → Условное Май 2018 -» — это ведь в диапазоне ячеек окончания срока окрашивалась
Если мы нажмем Не врубился как
(праздники пропишите где всегда единица. Простоответ 1: Да,
pabchek случае, если в: а в чем3. Вывод: дляP. S. А
зелёной заливкой. вашем файле работает.
форматирование → Управление красится. Что не для Вас написано A12:A42. за несколько дней на стрелку и
их вписать. нибудь отдельно на в ячейку «1». в G13
: Копирование формулы один этой ячейке изначально проблема? перед ручным
удобства заполнения табеля. то мне приходитсяСейчас в диапазоне
Вы где в правилами → Изменить
так?2. Написали словоВ ячейке J1 раньше, за месяц,
из списка выберем
Vlad999 листе). Или в Вашемответ 2
раз по сравнению уже есть что-то
заполнением во всеМне бы хотелось каждый раз «протягивать»
ячеек F12:AJ12 стоит УФ добавили новое правило → вставить
Никанор «неправильно» с пробелом название месяца с
в течение месяца, строку «1,2,3,4,5», то: у меня былоSDK969 в календаре есть=IF(AND($C13<>0;WEEKDAY(G$10;2)>5);TEXT(G$10;»ДДД»);8) с ручным заполнением — текст или ячейки скопировать формулу это сделать только выходные дни вниз формула: Код=ЕСЛИ(ДЕНЬНЕД(I$10;2)=6;»СБ»;ЕСЛИ(ДЕНЬНЕД(I$10;2)=7;»ВС»;»»)) Эта условие? формулу, которую скопировал: Che79, А уНиканор указанием года. Формат т.д. В одних выйдет окно, в так =РАБДЕНЬ(M9;1) а: Изначально, при первом месяцы с первыма что бы нескольких десятков ячеек формула. У Вас и поверх нее Условным форматированием – из формул диапазона формула даёт правильный
Miphistofel с сайта → меня не красятся.: vikttur, Виноват. Извините. ячейки текстовый. и тех же
котором можно выбрать нужно так =РАБДЕНЬ(M9;1;$AT$7:$AT$20) варианте, считалось как числом 12? и для 12-й занимает доли процента же зеленые ячейки забивать уже восьмерки без Макросов. F12:AJ12 со строки
результат – она: Все работает!) НО, нажать ОК и
Вот прилагаю рисунок.
Невнимательно читал. ВотВ ячейке А12
ячейках может быть цвет и шрифта,$AT$7:$AT$20 диапазон куда обычная неделя с
Дни недели можно строки подходила, то
времени. А заполнять пустые,Правильно ли яНиканорЕсли это без 12 – «СБ»
«работает» правильно и если только сегодня, тоже все праздникиChe79
Ваша формула без формула
установлено несколько правил другие параметры и
внесены праздники. кстати СБ и ВС,
вычислять иначе, не в ячейку F12 автоматически, тогда уж понял что это: _Boroda_, – Александр! Макросов невозможно сделать, и «ВС». ЕСЛИ день недели а завтра уже окрасились с помощью
: закрепления строки –
=ДАТА(ГОД($J$1);МЕСЯЦ($J$1);СТОЛБЕЦ(A1)) условного форматирования. как цвет. если он мешает но потом понял, завязываясь на формулу вставьте написать макрос и невозможно?Я же написал
Большое спасибо за
то буду пользоваться«Протягиваю» вниз, где
суббота – то ячейка 06.04.2014 не
Условного форматирования.Никанор
без символа $:В ячейке А13 выделить данные по
Нажимаем «ОК». Так в данном месте
что их нужно
определения дня.Код=IF(WEEKDAY(F$10;2)>5;TEXT(F$10;»ДДД»);IF($C12=0;»»;8)) шлепать одну кнопку. уже, Вы цитату предложенный вариант решения так как есть. заполнены фамилии сотрудников. результат в ячейке будет выделена, а
Результат будет тот, а у меня=ДЕНЬНЕД(A12)>5 такая же формула условию, смотрите в же устанавливаем правило его можно сделать
исключить.SDK969За что мнеboa
привели мою, там вопроса.Никанор Хочется автоматизировать этот «СБ», а ЕСЛИ мне нужно что же – формула все красится и
Эта формула «работает как в ячейке
статье «Как выделить с текстом «Вс».
на другом листе.При первом варианте
: Здравствуйте! нравится стиль R1C1,: Никанор, разве что-то можноЯ понял, если
: pabchek, – Виктор
процесс. день недели воскресенье бы все предыдущие в Условном форматировании в 2007 (см. правильно.
excelworld.ru
Табель выходов: выделение и учет выходных и праздничных дней
А12. ячейки в Excel».
Получилось так.SDK969 уже рабочий график.Стоит задача построить так это заможете в моей как-то иначе понять?. выходные дни заполняются здравствуйте!С уважением. – то результат воскресные дни были будет показывать правильно. рисунок) и, темОшибку в словеФормула, которая нижеПредположим, что счет заЗаполнять дни недели можно: Да-да, теперь понятно.Vlad999 график производства работ. то, что для
формуле пустоту заменить Еще раз - – то ячейка
Большое спасибо заНиканор
в ячейке «ВС». выделены всегда.Никанор более в 2013. неправильно исправил. «не работает». продукцию нужно выставлять
копированием. Смотрите статью Благодарю.: смотрите.
Для грамотного графика любой ячейки всего
на 8-ки и
с помощью ТОЛЬКО окрашивается в красный ответ.: Необходимо – чтоВ диапазонах B13:B21;B25:B29
Pelena: Вот добавляю 3 Проверьте формулу вЕщё раз большоеКод=(МЕСЯЦ($J$1)=МЕСЯЦ(A$12))*(ДЕНЬНЕД(A$12;2)>5)*НЕ(ЕПУСТО($J1)) только в рабочие «Копирование в Excel».
К сожалению решитьSDK969 необходимо исключить дни диапазона формула одинаковаяКод=IF(WEEKDAY(R10C;2)>5;TEXT(R10C;»ДДД»);IF(RC3=0;»»;8))
planetaexcel.ru
Требуется исключить дни недели сб и вс!
размножить ее для Excel и без
цвет.У меня в
нужно – какой Фамилии имя отчества: Замените в формуле рисунок УФ. В самом Вам спасибо!vikttur дни, несмотря наТак можно выделять задачу пока не: Спасибо. сейчас поизучаю)) недели сб иbatrak13
всего диапазона F13:AJ21;F25:AJ29, использования VBA невозможноХороший вариант решения файле очень много должен быть результат сотрудников.=СЕГОДНЯ()Денис файле ничего неChe79: дату доставки. Напишем ячейки с любым могу.Вот такой момент. вс(так как выходные): Уважаемые форумчане! тогда править будет
— в пустой вопроса. правил Условного форматирования. изображено в этомНеобходимо – что нужно:
на
: Всем привет! Кто удаляли?:
=ДЕНЬНЕД(ссылка)>5 формулу, которая определяет: текстом.Таблица какая-то капризная,
Если взять ячейку Т.е. в процессеПомогите с таким еще меньше. Только ячейке кроме заливки
Мне бы хотелосьЯ не знаю сообщении на рисунках Условным форматированием сделать:
Miphistofel подскажет как сделатьНиканорНиканорссылка если дата доставки2.Например, нам нужно вечно куда-то скачет,
L9:M9 , то подсчёта графика, необходимо
вопросом: Есть график праздничные и сокращенные
и границ форматировать это решить с
какие правила в
1 и 2.1 вариант формулы:: Все работает спасибо! выделение даты определенным: Che79, Отвечаю. Ничего, посмотрите, вот вариант
- адрес верхней попадает на выходной, в большой таблице что-то сбивается. Или по логике все чтобы в столбцах выходом с четырех дни нечего помощью приблизительной функции: файле надо удалить,
1 вариант какой ЕСЛИ не ПУСТАЯНиканор цветом, если дата не удалял и
с автораскраской выходных левой ячейки форматируемого то дата счета найти ячейки с конец рабочего дня правильно 11.01.2013 +
L: M: сменным графиком работы=IF(AND($C13<>0;WEEKDAY(G$10;2)>5);»X»;8)»Чтобы купить что-нибудь =ПОИСК и что на эту формулу
должен быть результат: ячейка диапазона B13:B21;B25:B29
: Здравствуйте уважаемые помогающие! вычисляется формулой? ничего не изменял. / праздников / диапазона (ссылка без
– следующий понедельник ошибками (#ЗНАЧ!, #ССЫЛКА!, сказывается и начинаю 1 день =(исключаячисло рабочих дней на производстве, хотелосьНиканор
ненужное, сначало надо бы искало выходной и какой поставить Выходные выделяются «СБ»
что бы напротивПолное название темы, котороеПример: В столбцеВот добавляю рисунок. «рабочих» выходных. В закрепления строки)
(или прошедшая пятница). #Н/Д). У нас тупить.
выходные) 14.01.2013. учитывалось только с бы,чтобы столбцы с
: pabchek, – Виктор! продать что-нибудь ненужное». день. формат ячеек в и «ВС». Рисунок фамилии, имени, отчества
CyberForum.ru
не поместилось в
Skip to content
Условное форматирование дат выходных дней
На чтение 2 мин. Просмотров 1.4k.
Содержание
- Общая формула
- Объяснение
- Как работает формула
Общая формула
=ИЛИ(ДЕНЬНЕД(A1)=7;ДЕНЬНЕД(A1)=1)
=OR(WEEKDAY(A1)=7,WEEKDAY(A1)=1)
Объяснение
Если вы хотите использовать условное форматирование для
выделения датвыходных дней (например, суббота или воскресенье), вы можете
использовать простую формулу, основанную на функции ДЕНЬНЕД.
Например, если у вас есть даты в диапазоне C4:C10 и вам
нужны даты выходных дней, выберите диапазон C4:C10 и создайте новое правило
условного форматирования, которое использует эту формулу:
=ИЛИ(ДЕНЬНЕД(C4)=7;ДЕНЬНЕД(C4)=1)
=OR(WEEKDAY(C4)=7,WEEKDAY(C4)=1)
Примечание: важно, чтобы формула условного форматирования была указана относительно «активной ячейки», которой в данном случае считается C5.
После того, как вы сохраните правило, вы увидите все
даты, которые являются субботой или воскресеньем, выделенными вашим правилом.
Как работает формула
Эта формула использует функцию ДЕНЬНЕД для проверки дат
субботы или воскресенья. Функция ДЕНЬНЕДвозвращает число 1-7 для каждого дня
недели для выбранной даты. В стандартной конфигурации, суббота = 7 и
воскресенье = 1. Используйте функцию ИЛИ вместе с ДЕНЬНЕД для проверки на 1 или
7. Если значение равно истина, формула вернет ИСТИНА и применит условное
форматирование.
Выделение всей
строки
Если вы хотите выделить всю строку, примените правило
условного форматирования ко всем столбцам в таблице и зафиксируйте столбец
даты:
=ИЛИ(ДЕНЬНЕД($C4)=7;ДЕНЬНЕД($C4)=1)
=OR(WEEKDAY($C4)=7,WEEKDAY($C4)=1)
Пример формулы выделения цветом выходных дней по дате в Excel
Во время работы с графиками и календарями всегда кстати очень полезная возможность выделения цветом дат выходных дней (субботы и воскресенья). Формула условного форматирования позволяет выделить все даты выходных дней в списке графика или на календаре в Excel.
Как выделить цветом только выходные дни по дате в Excel
Ниже на рисунке приведен пример автоматического выделения цветом дат выходных дней:
Чтобы создать такое правило для условного форматирования, выполните следующие действия шаг за шагом:
- Выделите исходных диапазон ячеек (в данном примере это A2:A17) и выбреете инструмент: «ГЛАВНАЯ»-«Условное форматирование»-«Создать правило». В результате чего появится окно как показано ниже на рисунке:
- В появившемся окне выберите опцию: «Использовать формулу для определения форматируемых ячеек». Теперь у нас есть возможность ввести формулу для определения собственных правил и условий выделения ячеек цветом в предварительно выделенном исходном диапазоне.
- В поле ввода введите логическое выражение формулы представленное на данном этапе. Обратите внимание на то, что в формуле используются только относительные ссылки на ячейки. Для определения дня недели по значению ячейки используется функция ДЕНЬНЕД. Если функция при определенно заданных аргумента будет возвращать значение 6 или 7, это значит, что в текущей ячейке (например, A4) записана дата выходного дня. После чего итоговый результат вычисления целой формулы будет возвращать логическое значение ИСТИНА. В таком случае для этой ячейки будет применено условное форматирование, предварительно заданное пользователем в настройках данного инструмента (описано на следующем этапе).
В результате в столбце даты подсветились цветом только даты с выходными днями недели.
Определение выходных дней в табеле
Для определения выходных дней (суббот и воскресений) воспользуйтесь функцией ДЕНЬНЕД, которая устанавливает номер дня недели. Эту функцию введите в ячейку С28:
В следующую ячейку — С29 — введите функцию ЕСЛИ:
Функция ЕСЛИ действует по описанной ниже схеме:
- День недели, определенный в ячейке С28, — суббота?
- Если да, возвращается значение ИСТИНА.
- Если нет, переходим к следующему ЕСЛИ.
- Если днем недели является воскресенье, возвращается значение ИСТИНА.
- В противном случае возвращается значение ЛОЖЬ.
Учет выходных и праздничных дней
На следующем этапе нам предстоит создать формулу, которая при соблюдении одного из условий (праздничный день, выходной день или праздничный день, выпадающий на выходной) возвращает значение ИСТИНА. Мы предполагаем разместить эту формулу в ячейке СЗО.
Для решения задачи воспользуемся логической функцией ИЛИ. Эта функция возвращает значение ИСТИНА, если хотя бы один из ее аргументов имеет значение ИСТИНА, и значение ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ.
Функция ИЛИ имеет следующий синтаксис:
Здесь логииеское_значение1, логическое_значение2, . — это от 1 до 30 проверяемых условий, которые могут иметь либо значение ИСТИНА, либо значение ЛОЖЬ.
Рис. 7.12. Панель функции ИЛИ
В первом аргументе нам необходимо указать адрес ячейки С29, в которой определяется день недели, а во втором аргументе — адрес ячейки С27, где устанавливаются даты праздников.
Формула в ячейке СЗО должна быть такой:
Произведем вложение функций:
- Формулу из ячейки С25 вложим в формулу из ячейки С26:
- — Полученную формулу вложим в формулу из ячейки С27:
Формулу из ячейки С28 вложим в формулу из ячейки С29:
Полученную формулу вложим в формулу из ячейки СЗО:
Перенос выходных дней
На практике нередки случаи переноса выходных дней. В нашем табеле реакция на такие переносы не обеспечена. Сейчас мы исправим этот недостаток. Даты дней, которые вследствие переноса стали рабочими, будем вводить в область G22:G24 листа Праздники. Этой области присвоим имя ДатаПеренос (рис. 7.13).
Даты дней, которые вследствие переноса стали выходными, добавим в список праздников, находящийся в диапазоне A15:G16 листа Праздники (рис. 7.5).
Теперь в табеле нам нужна формула, которая будет определять, не перенесен ли данный выходной. Для ее получения доработаем формулу из ячейки С27 табеля.
Рис. 7.13. Список с перемещенными датами
Скопируйте ее из строки формул, вставьте в ячейку С31, замените имя Да-таПраздн именем ДатаПеренос и удалите функцию НЕ.
Результирующая формула в ячейке С31 должна иметь следующий вид:
Формула возвращает значение ЛОЖЬ, если находит дату среди перенесенных, или значение ИСТИНА, если не находит. Таким образом, эта ячейка будет содержать значение ЛОЖЬ, если день вследствие переноса стал рабочим. Если же ячейка содержит значение ИСТИНА, значит, статус дня не изменился.
Теперь мы должны проанализировать значения ячеек С3О и С31. Первая содержит логическое значение, которое указывает на то, является ли день выходным либо праздничным. Логическое значение во второй ячейке отражает факт изменения статуса дня (то есть не стал ли он вследствие переноса выходных рабочим днем).
Формула для анализа должна работать так. День является выходным, если его статус не изменился (С31 содержит значение ИСТИНА), и он является праздничным, субботним или воскресным (СЗО содержит значение ИСТИНА). Во всех остальных случаях день будет рабочим.
Составить такую формулу можно с помощью функции И. Она возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА, и значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ. Данная функция принадлежит к категории Логические и имеет следующий синтаксис:
Здесь логическое_значение1, логическое_значение2, . — это от I до 30 проверяемых условий, которые могут иметь либо значение ИСТИНА, либо значение ЛОЖЬ.
Введите в ячейку С32 такую функцию:
В данную функцию надлежит вложить формулы из ячеек СЗО и С31. Ниже показано, как выглядит результирующая формула в ячейке С32:
Скопируйте формулы из ячеек С27 и С32 в ячейки С10 и С11.
РАБДЕНЬ (функция РАБДЕНЬ)
В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ в Microsoft Excel.
Возвращает число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты. Рабочими днями не считаются выходные дни и дни, определенные как праздничные. Функция РАБДЕНЬ используется для исключения выходных дней или праздников при вычислении дат платежей, ожидаемых дат доставки или количества фактически отработанных дней.
Совет: Чтобы вычислить число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад, с использованием параметров, определяющих количество выходных в неделе и то, какие это дни, используйте функцию РАБДЕНЬ.МЕЖД.
Аргументы функции РАБДЕНЬ описаны ниже.
Нач_дата Обязательный. Начальная дата.
Количество_дней Обязательный. Количество дней до или после начальной даты, не являющихся выходными или праздниками. Положительное значение аргумента «количество_дней» обозначает дату в будущем, отрицательное — дату в прошлом.
Праздники Необязательный. Список из одной или нескольких дат, например государственных праздников, которые требуется исключить из рабочего календаря. Список может представлять собой диапазон ячеек, содержащих даты, или константу массива, содержащую числа, которые представляют даты.
Важно: Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 г. соответствует число 1, а 1 января 2008 г. — число 39 448, поскольку интервал между ними составляет 39 448 дней.
Если значение любого из аргументов не является допустимой датой, то функция РАБДЕНЬ возвращает значение ошибки #ЗНАЧ!.
Если сумма аргументов «нач_дата» и «количество_дней» не является допустимой датой, функция РАБДЕНЬ возвращает значение ошибки #ЧИСЛО!.
Если значение аргумента «количество_дней» не является целым числом, оно усекается.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Microsoft Excel
трюки • приёмы • решения
Как в Excel рассчитать даты праздников
Определение даты какого-нибудь праздника может быть непростой задачей. Некоторые праздники, такие как Новый год или День независимости США, не дадут вам поломать голову, потому что всегда отмечаются в один и тот же день. Для этих видов праздников вы можете просто использовать функцию ДАТА.
Например, чтобы вычислить день празднования Нового года (который всегда выпадает на 1 января) для конкретного года, хранящегося в ячейке А1, вы можете воспользоваться такой функцией: =ДАТА(А1;1;1) . Другие праздники, в свою очередь, отмечаются в определенный день недели и месяц. Например, День труда в США приходится на первый понедельник сентября.
Во всех формулах подразумевается, что ячейка А1 содержит значение года (например, 2010). Заметьте, что Новый год, День независимости, День ветеранов и Рождество — каждый этот праздник всегда отмечается в определенный день в году, поэтому дату можно вычислить с помощью простой функции ДАТА.
Этот праздник всегда приходится на 1 января. Еще раз повторю формулу для его вычисления: =ДАТА(А1;1;1) .
День Мартина Лютера Кинга
Этот праздник приходится на третий понедельник января. Следующая формула рассчитывает дату Дня Мартина Лютера Кинга для года, указанного в ячейке А1:
=ДАТА(А1;1;1)+ЕСЛИ(2 .
День президента
День президента приходится на третий понедельник февраля. Формула для вычисления Дня президента для года из ячейки А1 такова:
=ДАТА(А1;2;1)+ЕСЛИ(2 .
Католическая Пасха
Нахождение даты Пасхи затрудняется из-за сложного метода расчета. Пасха — это первое воскресенье после полнолуния, случившегося после дня весеннего равноденствия. Я нашел эти формулы для вычисления дня католической Пасхи в Интернете, но понятия не имею, как они работают. Они не подойдут, если ваша книга использует систему дат 1904 (см. эту статью для получения более подробной информации о системе дат 1904).
=РУБЛЬ((«4/»&A1)/7+ОСТАТ(19*ОСТАТ(А1;19)-7;30)*14%;)*7-6 .
Вот еще одна формула — она короче, но не менее замысловатая:
=0КРВНИЗ(ДЕНЬ(МИНУТЫ(A1/38)/2+56)&/5/»&A1;7)-34
День памяти
Последним понедельником в мае является День памяти. Следующая формула вычисляет День памяти для года из ячейки А1:
=ДАТА(А1;6;1)+ЕСЛИ(2
Обратите внимание, что формула вычисляет первый понедельник в июне, а затем отнимает значение 7 от результата, возвращая таким образом последний понедельник мая.
День независимости
Праздник День независимости США всегда выпадает на 4 июля: =ДАТА(А1;7;4)
День труда
День труда отмечают в первый понедельник сентября. Следующая формула вычисляет День труда для года, указанного в ячейке А1:
=ДАТА(А1;9;1)+ЕСЛИ(2
День Колумба
Такой праздник, как День Колумба, выпадает на второй понедельник октября. Следующая формула вычисляет День Колумба для года из ячейки А1:
=ДАТА(А1;10;1)+ЕСЛИ(2
День ветеранов
Праздник День ветеранов всегда приходится на 11 ноября: =ДАТА(A1;11;11)
День благодарения
День благодарения отмечается в четвертый четверг ноября. Следующая формула вычисляет День благодарения для года, указанного в ячейке А1:
=ДАТА(А1;11;1)+ЕСЛИ(5
Католическое Рождество всегда приходится на 25 декабря: =ДАТА(А1:12;25)
Считаем будние и рабочие дни в Excel
Из этого урока вы узнаете, как получить день недели по дате в Excel и как подсчитать количество будних/рабочих дней между двумя датами.
Функция ДЕНЬНЕД
- Функция ДЕНЬНЕД (WEEKDAY) в Excel возвращает число от 1 (воскресенье) до 7 (суббота), представляющее номер дня недели. Судя по всему, 16 декабря 2013 в формуле ниже выпадает на понедельник.
Ещё для отображения дня недели можно использовать функцию ТЕКСТ (TEXT).
Создайте пользовательский формат даты (дддд), чтобы отобразить название дня недели.
Функция ЧИСТРАБДНИ
- Функция ЧИСТРАБДНИ (NETWORKDAYS) возвращает количество будних дней (исключая выходные) между двумя датами.
Если вы укажете список праздников, то функция ЧИСТРАБДНИ (NETWORKDAYS) вернёт количество рабочих дней (не считая выходных и праздничных дней) между двумя датами.
Календарь ниже поможет вам лучше понять функцию ЧИСТРАБДНИ (NETWORKDAYS).
Excel хранит даты в виде чисел и подсчитывает количество дней с 0 января 1900 года. Вместо того, чтобы подставлять диапазон ячеек в формулу, подставьте константы чисел, которые представляют эти даты. Чтобы это сделать, выделите E1:E2 в формуле ниже и нажмите F9.
Функция РАБДЕНЬ
- Функция РАБДЕНЬ (WORKDAY) почти противоположна функции ЧИСТРАБДНИ (NETWORKDAYS). Она возвращает дату до или после указанного количества будних дней (выходные исключены).
Примечание: Функция РАБДЕНЬ (WORKDAY) возвращает порядковый номер даты. Примените формат даты к ячейке для её отображения.
Календарь ниже поможет вам лучше понять функцию РАБДЕНЬ (WORKDAY).
Опять же, если вы подставите список праздников, функция РАБДЕНЬ (WORKDAY) вернёт дату до или после указанного количества рабочих дней (исключая выходные и праздничные дни).
Содержание
- Функция РАБДЕНЬ.
- Синтаксис
- Аргументы функции
- Что возвращает функция
- Как добавить или вычесть рабочие дни.
- Настраиваем свой график выходных дней.
- Количество дней между двумя датами в Excel
- Функция РАБДЕНЬ
- Складывать и вычитать календарные дни
- Как выглядит формат ячейки в Excel
- Сделать ячейку, в которой всегда стоит текущая дата
- В ячейке содержится Дата
- В ячейке с пользовательским форматом ДДД или ДДДД содержится Дата
- В ячейке содержится Число
- Пошаговая инструкция создания календаря в Excel
- Делаем заголовки
- Проставляем числа
- Добавляем условного форматирования
- Автоматически выделяем текущую дату в календаре
- Подготовка ячеек для работы с датами
- Подсчет количества дней с помощью простой формулы
- Второй способ: определение часов через временной промежуток
Функция РАБДЕНЬ.
Она возвращает момент времени, который наступит через определенное число рабочих дней (или наступил ранее). Она не учитывает дни отдыха и любые праздники, которые вы отдельно укажете.
Она подходит для расчета производственных графиков и сроков исполнения на основе стандартного производственного календаря, причем суббота и воскресенье – это для нее всегда дни отдыха.
РАБДЕНЬ – это встроенная функция в Excel 2007, 2010, 2013 и 2016. Ее можно ввести руками либо при помощи мастера функций. В более ранних версиях вам нужно специально включать пакет инструментов анализа.
Вам необходимо использовать следующие аргументы:
РАБДЕНЬ(дата_начала; дни; [праздничные_дни])
Первые два обязательны, а последний – по желанию:
- Дата_начала – с нее начинается подсчет дней.
- Дни – рабочие дни, которые нужно добавить или вычесть из начальной точки отсчета. Положительное число возвращает будущий момент времени, отрицательное — возвращает в прошлое.
- Праздничные_дни – необязательный список дат, которые следует считать нерабочими днями. Это может быть либо диапазон ячеек, содержащих даты, которые вы хотите исключить из расчетов, либо константа массива.
Синтаксис
=WORKDAY(start_date, days, [holidays]) – английская версия
=РАБДЕНЬ(нач_дата;количество_дней;[праздники]) – русская версия
Аргументы функции
- start_date (нач_дата) – дата, которую мы берем за точку отсчета;
- days (количество_дней) – общее количество рабочих дней, не включая выходные. Вы можете использовать как положительные, так и отрицательные числа в аргументе;
- [holidays] ([праздники])– (не обязательно) Это диапазон дат, который необходимо исключить из расчетов. Например, это могут быть какие-либо национальные праздники. Также, это может быть ссылка на диапазон ячеек, который содержит даты, или может быть массивом порядковых номеров, которые содержат даты.
Что возвращает функция
Дату, наступающую по прошествии заданного количества рабочих дней.
Как добавить или вычесть рабочие дни.
Чтобы рассчитать рабочие дни в Эксель, следуйте этим простым правилам:
- Чтобы добавить будние дни, введите положительное число в качестве аргумента дни в формуле РАБДЕНЬ.
- Чтобы вычесть будние дни, используйте там же отрицательное число.
Предположим, у вас в ячейке A10 указан начальный момент времени, а список праздников — в ячейках А2: А7. Вы хотите узнать, какое число будет через 90 рабочих дней в будущем и прошлом.
Вы можете сделать это, используя следующие формулы:
Чтобы добавить столько же к начальной точке, но учитывая праздничные дни в А2: А7:
=РАБДЕНЬ($A$10;90;$A$2:$A$7)
Чтобы вычесть 90 рабочих дней, исключая праздники:
=РАБДЕНЬ($A$10;-90;$A$2:$A$7)
Чтобы рассчитать сроки на основе текущей даты, используйте функцию СЕГОДНЯ() в качестве точки начала:
Чтобы добавить 90 рабочих дней:
=РАБДЕНЬ(СЕГОДНЯ();90;$A$2:$A$7)
Чтобы переместиться на такое же время назад по отношению к сегодня:
=РАБДЕНЬ(СЕГОДНЯ();-90)
Чтобы указать время начала непосредственно в формуле, используйте формулу ДАТА():
=РАБДЕНЬ(ДАТА(2020;1;7);90;$A$2:$A$7)
На следующем скриншоте показаны результаты всех этих и еще нескольких формул РАБДЕНЬ:
И, естественно, вы можете указать, сколько будних дней нужно добавить либо вычесть из точки начала в некоторой ячейке, а затем сослаться на эту ячейку в своей формуле. Например:
=РАБДЕНЬ($A$10;С1;$A$2:$A$7)
Где A10 – начальная датировка, а C1 – число рабочих дней до (отрицательные числа) или после (положительные числа) нее, без учета праздников.
Настраиваем свой график выходных дней.
В случае, если у вас применяется какой-то особенный график нерабочих дней (не суббота и воскресенье), то вам в помощь – формула РАБДЕНЬ.МЕЖД (WORKDAY.INTL в английской версии).
Она появилась в Excel 2010, в более старых версиях программы ее нет.
Дополнительно к своей предшественнице, она позволяет указывать, какие именно дни недели предназначены у вас для отдыха.
Синтаксис ее выглядит следующим образом:
РАБДЕНЬ.МЕЖД (дата_начала, дни, [выходные], [праздничные_дни])
Первые два аргумента являются обязательными и знакомыми нам:
Дата_начала – начальный момент времени.
Дни – будние дней до (отрицательное значение) или после (положительное значение) начальной точки. Если этот аргумент в результате каких-то расчетов передается в виде десятичного числа, то дробная часть отбрасывается.
Последние два аргумента являются необязательными:
Выходные – указывает, что именно следует считать днями отдыха. Это может быть либо число, либо текст, как показано ниже.
Число |
Выходные дни |
1 или отсутствует |
Суббота Воскресенье |
2 |
Воскресенье понедельник |
3 |
Понедельник вторник |
4 |
Вторник Среда |
5 |
Среда Четверг |
6 |
Четверг Пятница |
7 |
Пятница Суббота |
11 |
Только воскресенье |
12 |
Только понедельник |
13 |
Только вторник |
14 |
Только среда |
15 |
Только четверг |
16 |
Только в пятницу |
17 |
Только суббота |
Текст для указания выходного дня – серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает нерабочий день, и 0 — соответственно наоборот. Например:
- «0000010» — суббота – отдыхаем.
- «1000001» — понедельник и воскресенье – отдыхаем.
И вот как это может выглядеть на примере:
Я бы рекомендовал обратить внимание на конструкцию
=РАБДЕНЬ.МЕЖД($A$10;90;”1000001″;$A$2:$A$7)
Просто переставляя 0 и 1, можно прямо указать любой график труда и отдыха.
Все остальное, думаю, достаточно хорошо понятно из скриншота.
Замечание. Функции Excel РАБДЕНЬ и РАБДЕНЬ.МЕЖД возвращают порядковые номера (числа), представляющие даты. Чтобы они отображались как нужно, выделите нужные ячейки и нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Число» выберите «Дата» и определите нужный формат.
Количество дней между двумя датами в Excel
Это очень простой и понятный пример, в котором необходимо от последней даты отнять начальную дату, а полученное значение преобразовать в числовой формат. Как видите это можно произвести без помощи функций, но для получения рабочих дней нам это не подойдет.
Функция РАБДЕНЬ
- Функция РАБДЕНЬ (WORKDAY) почти противоположна функции ЧИСТРАБДНИ (NETWORKDAYS). Она возвращает дату до или после указанного количества будних дней (выходные исключены).
=WORKDAY(A1,B1)
=РАБДЕНЬ(A1;B1)
Примечание: Функция РАБДЕНЬ (WORKDAY) возвращает порядковый номер даты. Примените формат даты к ячейке для её отображения.
Календарь ниже поможет вам лучше понять функцию РАБДЕНЬ (WORKDAY).
Опять же, если вы подставите список праздников, функция РАБДЕНЬ (WORKDAY) вернёт дату до или после указанного количества рабочих дней (исключая выходные и праздничные дни).
Складывать и вычитать календарные дни
Excel позволяет добавлять к дате и вычитать из нее нужное количество дней. Никаких специальных формул для этого не нужно. Достаточно сложить ячейку, в которую ввели дату, и необходимое число суток.
Например, вам необходимо создать резерв по сомнительным долгам в налоговом учете. В том числе нужно просчитать, когда у покупателя возникнет задолженность со сроком 45 дней после дня реализации. Для этого в одну ячейку внесите дату отгрузки. К примеру, это ячейка D2. Тогда формула будет выглядеть так: =D2+45. Вычитаются дни по аналогичному принципу. Главное, чтобы ячейка с датой, к которой будете прибавлять число, имела правильный формат. Чтобы это проверить, нажмите правой кнопкой мыши на ячейку, выберите «Формат ячеек» и удостоверьтесь, что установлен формат «Дата».
Как выглядит формат ячейки в Excel
Таким же образом можно посчитать и количество дней между двумя датами. Просто вычтите из более поздней даты более раннюю. Результат Excel покажет в виде числа, поэтому ячейку с итогом переведите в общий формат: вместо «Дата» выберите «Общий».
К примеру, необходимо посчитать, сколько календарных дней пройдет с 05.11.2019 по 31.12.2019. Для этого введите эти даты в разные ячейки, а в отдельной ячейке поставьте знак «=». Затем вычтите из декабрьской даты ноябрьскую. Получится 56 дней. Помните, что в этом случае в подсчет войдет последний день, но не войдет первый. Если вам необходимо, чтобы итог включал оба дня, прибавьте к формуле единицу. Если же, наоборот, нужно посчитать количество дней без учета обеих дат, то единицу необходимо вычесть.
Сделать ячейку, в которой всегда стоит текущая дата
Введите в ячейку функцию СЕГОДНЯ, и в ней всегда будет актуальная дата. Чтобы функция работала исправно, учтите два условия. Во-первых, проверьте, верно ли стоит дата у вас на компьютере. Программа будет учитывать именно ее. Во-вторых, укажите в настройках Excel, чтобы формулы пересчитывались автоматически. Для этого в левом верхнем углу открытого листа Excel нажмите «Файл». В открывшемся меню выберите «Параметры», затем вкладку «Формулы» и проверьте, чтобы в колонке «Вычисления в книге» был выбран параметр «Автоматически».
В ячейке содержится Дата
В столбце А содержатся значения в формате дата, например в ячейке А6 – 13.08.2012.
Чтобы настроить правило Условного форматирования нужно:
- выделить диапазон А6:А14
- выбрать пункт меню
- выбрать тип правила Использовать формулу для определения форматируемых ячеек
- в поле Форматировать значения, для которых следующая формула является истинной ввести формулу =ДЕНЬНЕД(A6;2)>5
- задать формат, например красную заливку фона ячейки.
Даты в столбце А , у которых номер дня недели >5, будут выделены красным.
В ячейке с пользовательским форматом ДДД или ДДДД содержится Дата
Пусть в столбцах B и С также содержатся значения в формате дата, например в ячейке B6 введем формулу =A6 .
Для ячеек в диапазоне B6:B14 настроим пользовательский формат ДДД (для диапазона С6:С14 ДДДД).
Не смотря на то, что теперь в ячейках отображаются Пн и Понедельник, значения в ячейках продолжают оставаться в формате Дата. В этом можно убедиться скопировав значение ( CTRL+V ), например, из ячейки С6 , и вставив его Как значение ( ). В Строке формул будет отображаться значение 13.08.2012, а не слово понедельник . Поэтому настраивать правило Условного форматирования нужно так как показано в предыдущем разделе.
В ячейке содержится Число
Пусть в столбце D содержится номер дня недели, например в ячейке D6 введем формулу =ДЕНЬНЕД(A6;2) .
В этом случае правило Условного форматирования настраивается аналогично случаю когда в ячейке содержится Дата, только несколько упрощается формула =$D6>5
Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу – сделано с использованием стандартных возможностей Excel.
Делаем заголовки
В ячейку A1 вбиваем следующую формулу: =”Календарь на ” & ГОД(СЕГОДНЯ()) & ” год”. Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.
Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).
Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):
Проставляем числа
Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу – формулу массива. На вид звучит страшновато, но если разобраться – все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+{0:1:2:3:4:5:6}*7+{1;2;3;4;5;6;7}
Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.
Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:
Добавляем условного форматирования
Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))
В качестве формата я выбрал серый текст шрифта и получил следующую картину:
Автоматически выделяем текущую дату в календаре
Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):
Подготовка ячеек для работы с датами
Перед тем как начинать работать с датами в Excel, нужно убедиться, что ячейки, в которых будут храниться даты, отформатированы в формат «Дата». Обычно Excel автоматически присваивает такой формат при вводе данных похожих на дату, но если сделать это вручную, то это позволит избежать возможных проблем.
Для того чтобы изменить формат ячеек их нужно выделить мышкой, кликнуть по ним правой кнопкой и в открывшемся меню выбрать пункт «Формат ячеек».
После этого откроется окно, в котором нужно выбрать формат «Дата», тип формата, который будет использоваться, и нажать на кнопку «ОК».
После настройки формата ячеек можно приступать к работе с датами. Для подсчета количества дней между двумя датами можно использовать различные способы. Ниже мы по отдельности рассмотрим каждый из этих вариантов.
Подсчет количества дней с помощью простой формулы
Самый простой вариант подсчета количества дней между двумя датами, это простая формула, которая будет вычитать одну дату из другой. Делается это очень просто. Для начала вам нужно ввести начальную и заключительную дату в отдельные ячейки и присвоить им формат «Дата», так как это описано выше.
После этого нужно выбрать ячейку, в которой будет находиться результат вычислений, и присвоить ей формат «Общий». Формат «Дата» для ячейки с результатом не подходит, поскольку в этой ячейке будет находиться количество дней (число), а не конкретная дата.
После присвоения формата «Общий», в эту ячейку нужно ввести формулу, которая будет отнимать более раннюю дату от более поздней. Подобная формула вводится очень просто. Выделяем ячейку, в которой должен находится результат, вводим символ «=», потом адрес ячейки с более поздней датой, потом символ «-» и адрес ячейки с более ранней датой.
После ввода формулы нужно нажать на клавишу Enter, и вы получите результат.
Как видим, в данном случае количество дней между двумя датами составляет 41.
Второй способ: определение часов через временной промежуток
Предположим, нам дано время 11 часов 45 минут, требуется узнать, сколько будет по истечении 2 часов 15 минут. Будем действовать по инструкции, чтобы получить результат.
- Отформатируем лист, если в нем проводились предыдущие расчеты, выбираем пустое поле и вписываем в двух соседних ячейках наши часы. Затем кликаем на пустую ячейку рядом. В ней будут выполняться все расчеты.
- Активируем пустую ячейку, переходим в строку формул, где устанавливаем знак «=» без кавычек. Нажимаем на ячейку с показателем часов на данный момент, ставим знак «+», добавляем соседнюю ячейку. Нажимаем кнопку «Enter». В итоге получится время, которое будет после определенного промежутка (в нашем случае по истечении 2 часов 15 минут).
В данном случае вы можете посчитать количество часов по истечении времени только в сутки. Если необходимо вычислить, какой показатель циферблата будет пределом, необходимо выбрать другой формат ячеек. Для этого активируйте окно форматирования и в списке аргументов укажите строчку со звездочкой, обязательно смените вкладку числового формата на «Время».
Источники
- https://mister-office.ru/formuly-excel/workday-networkdays-functions.html
- https://excelhack.ru/funkciya-workday-rabden-v-excel/
- http://topexcel.ru/kak-vychislit-rabochie-dni-v-excel/
- https://office-guru.ru/excel/funkcija-denned-v-excel-379.html
- https://zen.yandex.ru/media/id/593a7db8d7d0a6439bc26099/5e254f062b61697618a72b0c
- https://excel2.ru/articles/vydelyaem-dni-nedeli-cvetom-v-ms-excel
- https://micro-solution.ru/excel/various/calendar
- https://comp-security.net/%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%B4%D0%BD%D0%B5%D0%B9-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D0%B4%D0%B2%D1%83%D0%BC%D1%8F-%D0%B4%D0%B0%D1%82%D0%B0%D0%BC%D0%B8-%D0%B2-excel/
- https://studwork.org/spravochnik/informatika/excel/kak-vychislit-vremya-v-excel
Создание календаря в Excel на год
Для тех, кто просто хочет скачать календарь в Excel на текущий год, на картинке ниже показан как он выглядит. Красным отмечены праздничные дни, розовым — выходные. Текущий день, также автоматически выделяется заливкой.
Добавил календарь на 2021 год с праздниками и выходными в соответствии с постановлением правительства.
Пошаговая инструкция создания календаря в Excel
Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу — сделано с использованием стандартных возможностей Excel.
Делаем заголовки
В ячейку A1 вбиваем следующую формулу: =»Календарь на » & ГОД(СЕГОДНЯ()) & » год». Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.
Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).
Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):
Проставляем числа
Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу — формулу массива. На вид звучит страшновато, но если разобраться — все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+<0:1:2:3:4:5:6>*7+
Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.
Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:
Форматируем
Отформатируем ячейки таким образом, чтобы они содержали только числа (а не полностью даты). Выделяем даты, открываем формат ячеек (Ctrl+1) и вводим вручную следующий формат:
Календарь принимает все более привычный вид.
Добавляем условного форматирования
Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))
В качестве формата я выбрал серый текст шрифта и получил следующую картину:
Автоматически выделяем текущую дату в календаре
Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):
Выделим выходные дни в календаре Excel
На этот раз обойдемся обычной заливкой ячеек. Выбирайте на свой вкус. У меня получилось так:
Добавляем праздничные дни
Создадим новый лист Excel (Праздники) и добавим на него умную таблицу со столбцом Праздничные дни. В этот столбец занесем все праздничные дни. Я это уже сделал, можете спокойно копировать и использовать.
Вернемся в наш календарь и создадим еще одно правило условного форматирования. Формула условного форматирования будет проверять является ли дата праздником. И в случае если формула вернет ИСТИНА ячейка будет форматироваться. Вот эта формула:
=НЕ(ЕОШИБКА(ПОИСКПОЗ(B5;ДВССЫЛ(«Праздники[Праздничные дни]»);0))). Стоит отметить, что при добавлении или изменении праздничных дней, календарь будет автоматически форматироваться.
Осталось скопировать ячейки B5:H10 в другие месяца и наш автоматический календарь готов и может служить нам не один год.
Изменение цветовой гаммы календаря Excel
Если при создании календаря использовать цвета темы, то потом их можно будет изменить одним простым движением. Просто сменив цвета темы на вкладке Разметка страницы. Выбирайте понравившийся.
В архив для скачивания помимо моего календаря, буду складывать календари других пользователей. Поблагодарить их можно ниже в комментариях. Если у вас также есть чем поделиться, укажите ссылку на свой вариант календаря в комментарии, я с удовольствием его добавлю.
Создание календаря в Microsoft Excel
При создании таблиц с определенным типом данных иногда нужно применять календарь. Кроме того, некоторые пользователи просто хотят его создать, распечатать и использовать в бытовых целях. Программа Microsoft Office позволяет несколькими способами вставить календарь в таблицу или на лист. Давайте выясним, как это можно сделать.
Создание различных календарей
Все календари, созданные в Excel, можно разделить на две большие группы: охватывающие определенный отрезок времени (например, год) и вечные, которые будут сами обновляться на актуальную дату. Соответственно и подходы к их созданию несколько отличаются. Кроме того, можно использовать уже готовый шаблон.
Способ 1: создание календаря на год
Прежде всего, рассмотрим, как создать календарь за определенный год.
- Разрабатываем план, как он будет выглядеть, где будет размещаться, какую ориентацию иметь (альбомную или книжную), определяем, где будут написаны дни недели (сбоку или сверху) и решаем другие организационные вопросы.
- Для того, чтобы сделать календарь на один месяц выделяем область, состоящую из 6 ячеек в высоту и 7 ячеек в ширину, если вы решили писать дни недели сверху. Если вы будете их писать слева, то, соответственно, наоборот. Находясь во вкладке «Главная», кликаем на ленте по кнопке «Границы», расположенной в блоке инструментов «Шрифт». В появившемся списке выбираем пункт «Все границы».
Открывается окно, в котором нужно установить требуемую высоту строки. Ели вы впервые делаете подобную операцию и не знаете, какой размер установить, то ставьте 18. Потом жмите на кнопку «OK».
Теперь нужно установить ширину. Кликаем по панели, на которой указаны наименования столбцов буквами латинского алфавита. В появившемся меню выбираем пункт «Ширина столбцов».
В открывшемся окне установите нужный размер. Если не знаете, какой размер установить, можете поставить цифру 3. Жмите на кнопку «OK».
После этого, можно считать, что календарь готов, хотя вы можете дополнительно отформатировать его на своё усмотрение.
Способ 2: создание календаря с использованием формулы
Но, все-таки у предыдущего способа создания есть один весомый недостаток: его каждый год придется делать заново. В то же время, существует способ вставить календарь в Excel с помощью формулы. Он будет каждый год сам обновляться. Посмотрим, как это можно сделать.
- В левую верхнюю ячейку листа вставляем функцию:
=»Календарь на » & ГОД(СЕГОДНЯ()) & » год»
Таким образом, мы создаем заголовок календаря с текущим годом.
Но, как видим, в том месте, где должно отобразиться просто название месяца установилась дата. Для того, чтобы привести формат ячейки к нужному виду, кликаем по ней правой кнопкой мыши. В контекстном меню выбираем пункт «Формат ячеек…».
Производим в блоке календаря за январь выделение ячеек, в которых содержатся числа. Кликаем по значку «Условное форматирование», размещенному на ленте во вкладке «Главная» в блоке инструментов «Стили». В появившемся перечне выбираем значение «Создать правило».
Открывается окно создания правила условного форматирования. Выбираем тип «Использовать формулу для определения форматируемых ячеек». В соответствующее поле вставляем формулу:
=И(МЕСЯЦ(D6)1+3*(ЧАСТНОЕ(СТРОКА(D6)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(D6);9))
D6 – это первая ячейка выделяемого массива, который содержит даты. В каждом конкретном случае её адрес может отличаться. Затем кликаем по кнопке «Формат».
В открывшемся окне переходим во вкладку «Шрифт». В блоке «Цвет» выбираем белый или цвет фона, если у вас установлен цветной фон календаря. Жмем на кнопку «OK».
В целом работа над созданием «вечного» календаря завершена, хотя вы можете ещё долго проводить над ним различные косметические работы, редактируя внешний вид на свой вкус. Кроме того, отдельно можно будет выделить, например, праздничные дни.
Способ 3: использование шаблона
Те пользователи, которые ещё в недостаточной мере владеют Экселем или просто не хотят тратить время на создание уникального календаря, могут воспользоваться готовым шаблоном, закачанным из интернета. Таких шаблонов в сети довольно много, причем велико не только количество, но и разнообразие. Найти их можно, просто вбив соответствующий запрос в любую поисковую систему. Например, можно задать следующий запрос: «календарь шаблон Excel».
Примечание: В последних версиях пакета Microsoft Office огромный выбор шаблонов (в том числе и календарей) интегрирован в состав программных продуктов. Все они отображаются непосредственно при открытии программы (не конкретного документа) и, для большего удобства пользователя, разделены на тематические категории. Именно здесь можно выбрать подходящий шаблон, а если такового не найдется, его всегда можно скачать с официального сайта Office.com.
По сути, такой шаблон — уже готовый календарь, в котором вам только останется занести праздничные даты, дни рождения или другие важные события. Например, таким календарем является шаблон, который представлен на изображении ниже. Он представляет собой полностью готовую к использованию таблицу.
Вы можете в нем с помощью кнопки заливки во вкладке «Главная» закрасить различными цветами ячейки, в которых содержатся даты, в зависимости от их важности. Собственно, на этом вся работа с подобным календарем может считаться оконченной и им можно начинать пользоваться.
Мы разобрались, что календарь в Экселе можно сделать двумя основными способами. Первый из них предполагает выполнение практически всех действий вручную. Кроме того, календарь, сделанный этим способом, придется каждый год обновлять. Второй способ основан на применении формул. Он позволяет создать календарь, который будет обновляться сам. Но, для применения данного способа на практике нужно иметь больший багаж знаний, чем при использовании первого варианта. Особенно важны будут знания в сфере применения такого инструмента, как условное форматирование. Если же ваши знания в Excel минимальны, то можно воспользоваться готовым шаблоном, скачанным из интернета.
Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 12309 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Как сделать календарь в Excel
Календари — неотъемлемая часть нашего быта, без которого современному человеку не обойтись и хотя их очень много и они есть везде — и в телефонах и в компьютерах, иногда возникает необходимость в создании своего специализированного календаря. Наверное, лучше начать с более простых способов.
Создание календаря из шаблона
В Excel есть множество встроенных шаблонов, в том числе и для календарей. Это очень удобно, поскольку эти шаблоны очень разные и скорее всего, то, что вы собираетесь сделать, уже подготовлено другими людьми. Главное преимущество заготовок — их работоспособность. Они созданы с учетом всех правил и принципов Excel, их не придется перенастраивать, а значит, не придется вникать во все тонкости и сложности этого дела.
Шаг 1. Для начала запустите программу и откройте в меню «Файл».
Шаг 2. Перейдите в раздел «Создать». Теперь воспользуйтесь поиском или нажмите на ссылку «Календари», чтобы просмотреть все доступные варианты.
Как видите, в программе много разных встроенных календарей. Они скомпонованы по категориям, что облегчит поиск. Найдите подходящий шаблон. Не обращайте внимание на стиль и цветовое решение, все это можно будет с легкостью изменить. Ориентируйтесь на формат календаря и возможности, которые он предлагает.
Шаг 3. Щелкните по миниатюре понравившегося вам шаблона. Скачайте его, нажав на кнопку «Создать».
Шаг 4. Теперь выбранный вами шаблон откроется в новом окне.
Измените его по своему усмотрению, добавьте свои данные и др. Теперь это будет лично ваш календарь с дополнительными возможностями.
Важно! Не забудьте сохранять свою таблицу каждый раз, когда вы вносите в нее какие-либо изменения.
Есть смысл загрузить этот документ на Google Docs. Это облачное хранилище файлов любого типа со встроенным пакетом программ, аналогичным Microsoft Office. Загрузив его на облако, вы сможете получить доступ к своему календарю в любое время с любого компьютера, редактировать его онлайн самостоятельно и вместе с другими людьми, но самый важный плюс — это автосохранение, любые действия с таблицей будут сохраняться системой.
Специализированный календарь для работы и дежурств
Создание нового календаря каждый месяц — пустая трата времени, но многие люди делают это, так как думают, что им придется перестраивать его, чтобы получить правильные выходные и праздничные дни. Но на самом деле, с несколькими формулами, 2 условными правилами форматирования, 1 выпадающим списком и 5 строками кода VBA, вы можете создать автоматический календарь, который не придется менять.
Шаг 1. Создания списка месяцев. Начнем с написания имени сотрудников в столбце A.
Перед тем как переходить к следующему этапу убедитесь, что на вашей панели инструментов есть раздел «Разработчика». Если нет, добавьте его:
- Перейдите в меню «Файл»>«Параметры».
Шаг 2. Теперь выберите «Разработчик»> «Вставка»> «Поле со списком».
Шаг 3. Теперь нам нужно создать список месяцев в другом месте на нашем листе.
Шаг 4. Теперь подключите, ранее созданный элемент «Поле со списком» с этим списком месяцев:
- Выберите объект «Поле со списком».
Шаг 5. Поле со списком для каждого года.
Сделайте все точно так же, как и в предыдущем шаге, но вместо месяцев введите года, которые вам нужны. В разделе «Связь с ячейкой» укажите A2.
Шаг 6. Впишите первую дату посредством функции. Здесь мы собираемся повторно использовать элементы A1 (выбранный месяц) и A2 (выбранный год) и поместить их в функцию «DATE». Эта функция выглядит следующим образом: «=ДАТА(год; месяц; день)».
Итак, в качестве года указываем A2+2017 (A2 содержит цифру 1, чтобы получить 2018, нам нужно прибавить к ней 2017), а в качестве месяца — A1. Впишите получившуюся формулу в ячейку B6 «=ДАТА (A2+2017;A1;1).
Шаг 7. Растяните дату на нужное число столбцов.
Этот шаг очень прост. Мы просто должны добавить 1 к предыдущей ячейке, чтобы увеличить день на 1. В C6, напишите следующую формулу и скопируйте ее во все остальные ячейки. Формула «= B6+1».
Примечание! Чтобы растянуть формулу, а другие ячейки, схватите B6 за зеленый квадратик и буквально растяните его на нужное число ячеек.
Шаг 8. Измените формат даты.
Теперь мы сосредоточимся на формате даты. У нас уже есть год и месяц в верхнем левом углу, поэтому нам не нужна эта информация в ячейках. Можно изменить формат даты в строке 6, чтобы отображался только день. Мы хотим отобразить короткое имя дня, а также цифру.
- Выберите все даты.
Шаг 9. Теперь вам остается только отформатировать таблицу по своему усмотрению, изменить цвет фона и шрифты.
Видео — Как сделать календарь в Excel самостоятельно
Создание и вставка календаря в Excel
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Аннотация
Эта статья содержит образец макроса Microsoft Visual Basic для приложений (подпрограммы), который запрашивает у вас месяц и год и создает календарь на месяц с помощью рабочего листа.
Решение
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты технической поддержки Майкрософт могут пояснить работу той или иной процедуры, но модификация примеров и их адаптация к задачам разработчика не предусмотрена.
Для создания календаря выполните следующие действия.
Microsoft Excel 2003
- Создайте новую книгу.
- В меню Сервис выберите Макрос, затем выберите Редактор Visual Basic.
- В меню Вставка выберите пункт Модуль.
- Вставьте сценарий Visual Basic для приложений из раздела «Образец процедуры Visual Basic» на лист модуля.
- В меню Файл нажмите Закрыть и вернуться в Microsoft Excel.
- Выберите вкладку Лист1.
- В меню Сервис выберите пункт Макрос, а затем нажмите Макросы.
- Нажмите CalendarMaker, а затем нажмите Выполнить для создания календаря.
Microsoft Excel 2007 или более поздние версии
- Создайте новую книгу.
- На ленте Разработчик выберите Visual Basic.
- В меню Вставка выберите пункт Модуль.
- Вставьте сценарий Visual Basic для приложений из раздела «Образец процедуры Visual Basic» на лист модуля.
- В меню Файл нажмите Закрыть и вернуться в Microsoft Excel.
- Выберите вкладку Лист1.
- На ленте Разработчик щелкните Макрос.
- Нажмите CalendarMaker, а затем нажмите *Выполнить для создания календаря.
Если вкладка «Разработчик» не отображается, перейдите на вкладку «Параметры Excel» и включите ее. В Excel 2007 этот пункт размещен в меню Популярное. В Excel 2010 этот пункт размещен в меню Настроить ленту.
Пример процедуры Visual Basic
Вы можете добавить другой код, чтобы настроить календарь в соответствии с вашими потребностями. Вставьте дополнительные строки для ввода на экране для каждого дня или измените размер экрана, чтобы увидеть весь календарь в соответствии с размером и разрешением экрана.