Умовне форматування в Excel для дат і часу: формули і правила

  • Поділитися Цим
Michael Brown

Якщо ви є постійним відвідувачем цього блогу, то, напевно, помітили кілька статей, присвячених різним аспектам умовного форматування в Excel. І зараз ми скористаємося цими знаннями і створимо електронні таблиці, які розмежовують будні і вихідні дні, виділяють державні свята і відображають наближення дедлайну або затримку. Іншими словами, застосуємо умовне форматування в Excel до дат.

Якщо у вас є деякі базові знання формул Excel, то ви, швидше за все, знайомі з деякими функціями дати і часу, такими як NOW, TODAY, DATE, WEEKDAY і т.д. У цьому підручнику ми збираємося зробити цей функціонал на крок далі, щоб умовно форматувати дати Excel так, як ти хочеш.

    Умовне форматування дат в Excel (вбудовані правила)

    Microsoft Excel надає 10 варіантів форматування виділених комірок на основі поточної дати.

    1. Для того, щоб застосувати форматування, достатньо зайти в розділ Головна сторінка вкладка> Умовне форматування> Правила виділення комірок та оберіть Дата настання .

    2. Виберіть один з варіантів параметри дати з випадаючого списку в лівій частині вікна, починаючи з минулого місяця і закінчуючи наступним.
    3. Нарешті, виберіть один з попередньо визначених форматів або налаштуйте свій власний формат, вибравши різні опції на сторінці Шрифт , Кордон і Заповнити Якщо стандартної палітри Excel недостатньо, завжди можна натиснути кнопку Більше кольорів... кнопку.

    4. Натисніть ГАРАЗД. і насолоджуйтесь результатом : )

    Однак цей швидкий і простий спосіб має два суттєвих обмеження - 1) він працює тільки для виділених комірок і 2) умовний формат завжди застосовується на основі поточної дати.

    Формули умовного форматування дат в Excel

    Якщо потрібно виділити клітинки або цілі рядки на основі дати в іншій комірці або створити правила для більші часові інтервали (тобто більше місяця від поточної дати), вам доведеться створити власне правило умовного форматування на основі формули. Нижче ви знайдете кілька прикладів моїх улюблених умовних форматів Excel для дат.

    Як виділити вихідні дні в Excel

    На жаль, Microsoft Excel не має вбудованого календаря, подібного до календаря Outlook. Що ж, давайте подивимося, як можна створити власний автоматизований календар, доклавши зовсім небагато зусиль.

    При створенні календаря в Excel ви можете використовувати функцію =ДАТА(рік,місяць,дата) для відображення днів тижня. Просто введіть рік і номер місяця десь у вашій електронній таблиці і посилайтеся на ці комірки у формулі. Звичайно, ви можете ввести числа безпосередньо у формулі, але це не дуже ефективний підхід, оскільки вам доведеться коригувати формулу для кожного місяця.

    Скріншот нижче демонструє функцію DATE в дії. Я використовував формулу =DATE($B$2,$B$1,B$4) який копіюється через рядок 5.

    Порада. Якщо ви хочете відобразити тільки дні тижня, як на зображенні вище, виділіть комірки з формулою (в нашому випадку це рядок 5), натисніть правою кнопкою миші і виберіть Формат комірок.> Кількість> Користувацький У випадаючому списку під Тип виберіть або dddd або ddd показувати повні назви днів або скорочені назви відповідно.

    Ваш календар Excel майже готовий, і вам залишилося тільки змінити колір вихідних. Природно, ви не збираєтеся розфарбовувати комірки вручну. Ми змусимо Excel відформатувати вихідні автоматично, створивши умовне правило форматування на основі ТИЖДЕНЬ формула.

    1. Ви починаєте з вибору календаря Excel, де ви хочете затінити вихідні дні. У нашому випадку це діапазон $B$4:$AE$10. Обов'язково починайте вибір з 1-й стовпчик дати - Колонка В у цьому прикладі.
    2. Про це йдеться на Головна сторінка вкладка, натисніть Меню Умовне форматування; Нове правило .
    3. Створіть нове правило умовного форматування на основі формули, як описано у вищевказаному посібнику.
    4. В рамках проекту " Значення формату, для яких ця формула є істинною" введіть наступну формулу WEEKDAY, яка визначить, які комірки є суботами та неділями: =WEEKDAY(B$5,2)>5
    5. Натисніть на кнопку Формат... і налаштуйте свій власний формат, перемикаючись між кнопками Шрифт , Кордон і Заповнити та відтворення різних варіантів форматування. Після завершення натисніть кнопку ГАРАЗД. для попереднього перегляду правила.

    Дозвольте мені коротко пояснити, що таке WEEKDAY(серійний_номер,[тип_повернення]) формулу, щоб ви могли швидко адаптувати її для власних електронних таблиць.

    • На сьогоднішній день, на жаль, це не так. серійний_номер Параметр являє собою дату, яку ви намагаєтесь знайти. Ви вводите посилання на першу комірку з датою, в нашому випадку B$5.
    • На сьогоднішній день, на жаль, це не так. [return_type] (тип повернення) визначає тип тижня (квадратні дужки означають, що він не є обов'язковим). Ви вводите 2 як тип повернення для тижня з понеділка (1) по неділю (7). З повним переліком доступних типів повернення ви можете ознайомитися тут.
    • Нарешті, Ви пишете>5, щоб виділити тільки суботи (6) та неділі (7).

    На скріншоті нижче демонструється результат в Excel 2013 - вихідні дні виділені червонуватим кольором.

    Чайові:

    • Якщо у вашій компанії є нестандартні вихідні дні, наприклад, п'ятниця і субота, то вам потрібно буде налаштувати формулу так, щоб вона починала відлік з неділі (1) і виділяла дні 6 (п'ятниця) і 7 (субота) - ТИЖДЕНЬ(B$5,1)>5 .
    • Якщо ви створюєте горизонтальний (альбомний) календар, використовуйте відносний стовпець (без $) і абсолютний рядок (з $) у посиланні на комірку, оскільки ви повинні зафіксувати посилання на рядок - у наведеному вище прикладі це рядок 5, тому ми ввели B$5. Але якщо ви створюєте календар у вертикальній орієнтації, ви повинні зробити навпаки, тобто використовувати абсолютний стовпець і відносний рядок, наприклад, $B5, як ви можете бачити вскріншот нижче:

    Як виділити свята в Excel

    Для подальшого вдосконалення календаря Excel ви можете затінити і державні свята. Для цього вам потрібно перерахувати свята, які ви хочете виділити, в тій же або іншій таблиці.

    Наприклад, я додав наступні свята в колонку A ($A$14:$A$17). Звичайно, не всі вони є справжніми державними святами, але для демонстрації зійдуть : )

    І знову ви відкриваєте Умовне форматування > Нове правило У випадку святкових днів, ви збираєтесь використовувати або МАТЧ або COUNTIF функцію:

    • =COUNTIF($A$14:$A$17,B$5)>0
    • =MATCH(B$5,$A$14:$A$17,0)

    Примітка. Якщо ви вибрали інший колір для святкових днів, вам необхідно перемістити правило святкових днів в початок списку правил через Умовне форматування> Керування правилами...

    На наступному зображенні показано результат у форматі Excel 2013:

    Умовне форматування комірки при зміні значення на дату

    Не є великою проблемою умовне форматування клітинки, коли дата додається до цієї клітинки або будь-якої іншої клітинки в тому ж рядку, якщо не допускається інший тип значення. У цьому випадку ви можете просто використовувати формулу для виділення непустих клітинок, як описано в розділі Умовні формули Excel для пропусків і непустих клітинок. Але що робити, якщо ці клітинки вже містять деякі значення, наприклад, текст, і ви хочете змінити їх.колір фону при зміні тексту на дату?

    Завдання може здатися дещо складним, але рішення дуже просте.

    1. Перш за все, необхідно визначити код формату вашої дати. Наведемо лише кілька прикладів:
      • D1: dd-mmm-yy або d-mmm-yy
      • D2: dd-mmm або d-mmm
      • D3: mmm-yy
      • D4: мм/дд/рр або м/д/рр або м/д/рр год:мм

      З повним переліком кодів дат можна ознайомитися у цій статті.

    2. Виберіть стовпець, в якому ви хочете змінити колір комірок або всю таблицю, якщо ви хочете виділити рядки.
    3. А тепер створіть правило умовного форматування за формулою, подібною до цієї: =CELL("format",$A2)="D1" У формулі A - це стовпець з датами, а D1 - формат дати.

      Якщо ваша таблиця містить дати в 2 і більше форматах, то використовуйте оператор OR, наприклад =OR(cell("format", $A2)="D1", cell("format",$A2)="D2", cell("format", $A2)="D3")

      Скріншот нижче демонструє результат застосування такого правила умовного форматування для дат.

    Як виділити рядки на основі певної дати в певному стовпці

    Припустимо, у вас є велика таблиця Excel, яка містить два стовпчики з датами (B і C). Ви хочете виділити кожен рядок, який має певну дату, скажімо, 13-травня-14, у стовпчику C.

    Щоб застосувати умовне форматування Excel до певної дати, потрібно знайти її числове значення По-перше, як ви, напевно, знаєте, Microsoft Excel зберігає дати у вигляді послідовних порядкових номерів, починаючи з 1 січня 1900 р. Так, 1 січня 1900 р. зберігається як 1, 2 січня 1900 р. - як 2..., а 13 травня 2014 р. - як 41772.

    Щоб знайти номер дати, клацніть правою кнопкою миші по комірці, виберіть Формат Клітинки> Кількість та обирайте Генеральний Запишіть число, яке ви бачите, і натисніть Скасувати тому що не дуже хочеться змінювати формат дати.

    Це, власне, і була основна частина роботи, і тепер потрібно лише створити умовне правило форматування для всієї таблиці за допомогою цієї дуже простої формули: =$C2=41772 Формула передбачає, що ваша таблиця має заголовки, а рядок 2 є першим рядком з даними.

    Альтернативним способом є використання ДАТА НАБОРУ формула, яка переводить дату в числовий формат, в якому вона зберігається, наприклад =$C2=DATEVALUE("5/13/2014")

    Яку б формулу ви не використовували, вона матиме однаковий ефект:

    Умовне форматування дат в Excel на основі поточної дати

    Як ви, напевно, знаєте, Microsoft Excel надає СЬОГОДНІ() функції для різних обчислень на основі поточної дати. Ось лише кілька прикладів того, як можна використовувати її для умовного форматування дат в Excel.

    Приклад 1. виділити дати, що дорівнюють, більші або менші за сьогоднішню

    Для умовного форматування комірок або цілих рядків на основі сьогоднішньої дати використовується функція СЬОГОДНІ наступним чином:

    Як і сьогодні: =$B2=TODAY()

    Більше, ніж сьогодні: =$B2>TODAY()

    Менше, ніж сьогодні: =$B2

    Скріншот нижче демонструє вищезазначені правила в дії. Зверніть увагу, на момент написання статті СЬОГОДНІ було 12 червня 2014 року.

    Приклад 2. Умовне форматування дат в Excel на основі декількох умов

    Подібним чином ви можете використовувати функцію СЬОГОДНІ в поєднанні з іншими функціями Excel для обробки складніших сценаріїв. Наприклад, ви можете захотіти, щоб ваша формула дати умовного форматування Excel забарвлювала Рахунок-фактура стовпчик, коли в колонці Дата поставки дорівнює або перевищує сьогоднішній день, АЛЕ ви хочете, щоб форматування зникало при введенні номера рахунку-фактури.

    Для цього завдання вам знадобиться додатковий стовпчик з наступною формулою (де E - ваш Доставка стовпчик F та стовпчик Рахунок-фактура колонка):

    =IF(E2>=СЬОГОДНІ(),IF(F2="", 1, 0), 0)

    Якщо дата поставки більша або дорівнює поточній даті і в колонці Інвойс відсутній номер, формула повертає 1, в іншому випадку - 0.

    Після цього створюється просте правило умовного форматування для Рахунок-фактура стовпчик з формулою =$G2=1 де G - ваш додатковий стовпчик. Звичайно, ви зможете приховати цей стовпчик пізніше.

    Приклад 3: Виділіть найближчі дати та затримки

    Припустимо, у вас є графік проекту в Excel, в якому перераховані завдання, дати їх початку і тривалості. Ви хочете, щоб дата закінчення для кожного завдання була розрахована автоматично. Додаткова проблема полягає в тому, що формула повинна також враховувати вихідні дні. Наприклад, якщо дата початку 13 червня 2014 року і кількість днів роботи (Тривалість) дорівнює 2, то дата закінчення повинна бути 17 червня 2014 року,оскільки 14 червня та 15 червня припадають на суботу та неділю.

    Для цього ми будемо використовувати WORKDAY.INTL(дата_початку,дні,[вихідні],[свята]) функцію, а точніше = WORKDAY.INTL(B2,C2,1) .

    У формулі ми вводимо 1 як 3-й параметр, оскільки він вказує на суботу та неділю як вихідні дні. Ви можете використовувати інше значення, якщо у вас інші вихідні дні, наприклад, п'ятниця та субота. Повний список значень вихідних днів доступний тут. За бажанням ви також можете використовувати 4-й параметр [holidays], який являє собою набір дат (діапазон комірок), які слід виключити з календаря робочих днів.

    І, нарешті, ви можете виділити рядки в залежності від того, наскільки далеко до кінцевого терміну. Наприклад, правила умовного форматування, засновані на наступних 2 формулах, виділяють найближчі і недавні дати закінчення відповідно:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - виділити всі рядки, в яких Дата закінчення (колонка D) знаходиться в межах наступні 7 днів Ця формула дійсно зручна, коли йдеться про відстеження майбутніх термінів придатності або платежів.
    • =AND(TODAY()-$D2>=0,TODAY()-$D2<=7) - виділити всі рядки, в яких Дата закінчення (колонка D) знаходиться в межах останні 7 днів Ви можете використовувати цю формулу для відстеження останніх прострочених платежів та інших затримок.

    Наведемо ще кілька прикладів формул, які можна застосувати до наведеної вище таблиці:

    =$D2 - виділяє всі минулі дати (тобто дати, менші за поточну). Може використовуватися для форматування прострочених підписок, прострочених платежів тощо.

    =$D2>TODAY() - виділяє всі майбутні дати (тобто дати, більші за поточну дату). Ви можете використовувати її для виділення майбутніх подій.

    Звичайно, варіацій наведених формул може бути нескінченна кількість, в залежності від вашого конкретного завдання. Наприклад:

    =$D2-TODAY()>=6 - виділяє дати, які відбуваються через 6 і більше днів.

    =$D2=TODAY()-14 - виділені дати, що відбулися рівно 2 тижні тому.

    Як виділити дати в діапазоні дат

    Якщо на робочому аркуші є довгий список дат, ви також можете виділити клітинки або рядки, які потрапляють у певний діапазон дат, тобто виділити всі дати, які знаходяться між двома заданими датами.

    Ви можете виконати це завдання знову ж таки за допомогою функції СЬОГОДНІ(), тільки доведеться побудувати трохи більш складні формули, як показано в прикладах нижче.

    Формули для виділення минулих дат

    • Понад 30 днів тому: =TODAY()-$A2>30
    • Від 30 до 15 днів тому включно: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
    • Менше 15 днів тому: =AND(TODAY()-$A2>=1, TODAY()-$A2<15)

    Поточна дата та будь-які майбутні дати не зафарбовані.

    Формули для виділення майбутніх дат

    • Відбудеться більш ніж через 30 днів: =$A2-TODAY()>30
    • Від 30 до 15 днів включно: =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
    • Менш ніж за 15 днів: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

    Поточна дата та будь-які минулі дати не зафарбовуються.

    Як заштрихувати проміжки та часові інтервали

    У цьому останньому прикладі ми будемо використовувати ще одну функцію дати Excel - DATEDIF(дата_початку, дата_кінця, інтервал) Ця функція обчислює різницю між двома датами на основі заданого інтервалу. Вона відрізняється від усіх інших функцій, розглянутих у цьому підручнику, тим, що дозволяє ігнорувати місяці або роки і обчислювати різницю тільки між днями або місяцями, залежно від того, що ви вибрали.

    Не розумієте, як це може бути корисно для Вас? Подумайте про це по-іншому... Уявіть, що у Вас є список днів народження членів Вашої родини та друзів. Ви хотіли б знати, скільки днів залишилося до наступного дня народження? Більше того, скільки точно днів залишилося до річниці Вашого весілля та інших подій, які Ви не хотіли б пропустити? Легко!

    Формула, яка вам потрібна, виглядає наступним чином (де A - ваш Дата колонка):

    =DATEDIF(TODAY(), DATE((YEAR(TODAY())+1), MONTH($A2), DAY($A2)), "yd")

    Тип інтервалу "yd" в кінці формули використовується для ігнорування років і розрахунку різниці тільки між днями. Повний список доступних типів інтервалів дивіться тут.

    Порада: якщо ви забули або загубили цю складну формулу, ви можете використовувати цю просту формулу: =365-DATEDIF($A2,TODAY(), "yd") Це дає точно такі ж результати, тільки не забудьте замінити 365 на 366 у високосні роки :)

    А тепер створимо правило умовного форматування Excel для зафарбовування різних проміжків різними кольорами. В даному випадку доцільніше використовувати колірні шкали Excel, а не створювати окреме правило для кожного періоду.

    Скріншот нижче демонструє результат в Excel - градієнтну 3-кольорову шкалу з відтінками від зеленого до червоного через жовтий.

    Веб-додаток Excel "Дні до наступного дня народження"

    Ми створили цей веб-додаток Excel, щоб показати вам наведену вище формулу в дії. Просто введіть свої події в 1-й стовпчик і змініть відповідні дати в 2-му стовпчику, щоб поекспериментувати з результатом.

    Примітка: Для перегляду вбудованого робочого зошита, будь ласка, дозвольте використання маркетингових файлів cookie.

    Якщо вам цікаво дізнатися, як створювати такі інтерактивні таблиці Excel, ознайомтеся з цією статтею про те, як створювати веб-таблиці Excel.

    Сподіваємося, хоча б один з розглянутих у цій статті умовних форматів дат в Excel виявився для вас корисним. Якщо ви шукаєте рішення якоїсь іншої задачі, ласкаво просимо залишати коментарі. Дякуємо за увагу!

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.