Формула WEEKDAY в Excel для отримання дня тижня, вихідних та робочих днів

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

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

Для роботи з датами в Excel існує безліч функцій. Функція день тижня (WEEKDAY) особливо корисна для планування і складання розкладу, наприклад, для визначення часових рамок проекту і автоматичного видалення вихідних із загальної кількості. Отже, давайте розглянемо приклади по черзі і подивимося, як вони можуть допомогти вам впоратися з різними завданнями, пов'язаними з датами в Excel.

    WEEKDAY - функція Excel для дня тижня

    Функція ДЕНЬ ТИЖНЯ Excel використовується для повернення дня тижня від заданої дати.

    Результатом є ціле число, за замовчуванням від 1 (неділя) до 7 (субота). Якщо ваша бізнес-логіка вимагає іншого перерахування, ви можете налаштувати формулу так, щоб вона починала відлік з будь-якого іншого дня тижня.

    Функція WEEKDAY доступна у всіх версіях Excel 365 до 2000.

    Синтаксис функції WEEKDAY наступний:

    WEEKDAY(серійний_номер, [тип_повернення])

    Де:

    Серійний_номер (обов'язково) - дата, яку потрібно перетворити на номер дня тижня. Вона може бути представлена у вигляді порядкового номера, що представляє дату, у вигляді текстового рядка у форматі, який розуміє Excel, у вигляді посилання на комірку, що містить дату, або за допомогою функції ДАТА.

    Тип_повернення (необов'язково) - визначає, який день тижня використовувати як перший день. Якщо не вказано, за замовчуванням використовується тиждень з суботи по неділю.

    Ось список всіх підтримуваних тип_повернення цінності:

    Тип_повернення Повернутий номер
    1 або пропущено З 1 (неділя) до 7 (субота)
    2 З 1 (понеділок) до 7 (неділя)
    3 З 0 (понеділок) до 6 (неділя)
    11 З 1 (понеділок) до 7 (неділя)
    12 З 1 (вівторок) по 7 (понеділок)
    13 З 1 (середа) по 7 (вівторок)
    14 З 1 (четвер) по 7 (середа)
    15 З 1 (п'ятниця) до 7 (четвер)
    16 З 1 (субота) до 7 (п'ятниця)
    17 З 1 (неділя) до 7 (субота)

    Зауважте. тип_повернення значення з 11 по 17 були введені в Excel 2010 і тому не можуть бути використані в більш ранніх версіях.

    Базова формула WEEKDAY в Excel

    Для початку давайте подивимося, як використовувати формулу WEEKDAY в її найпростішому вигляді, щоб отримати номер дня з дати.

    Наприклад, для отримання дня тижня з дати в С4 при тижні за замовчуванням неділя - субота, формула має вигляд:

    =WEEKDAY(C4)

    Якщо у вас є серійний номер, що представляє дату (наприклад, отриманий за допомогою функції DATEVALUE), ви можете ввести цей номер безпосередньо у формулу:

    =WEEKDAY(45658)

    Також ви можете ввести дату у вигляді текстового рядка, укладеного в лапки безпосередньо у формулі. Тільки обов'язково використовуйте формат дати, який очікує і може інтерпретувати Excel:

    =WEEKDAY("1/1/2025")

    Або вкажіть вихідну дату 100% надійним способом, використовуючи функцію ДАТА:

    =WEEKDAY(DATE(2025, 1,1))

    Щоб використовувати відображення днів, відмінне від стандартного Sun-Sat, введіть відповідне число в другому аргументі. Наприклад, щоб почати відлік днів з понеділка, формула буде мати вигляд:

    =WEEKDAY(C4, 2)

    На зображенні нижче всі формули повертають день тижня, що відповідає 1 січня 2025 року, який зберігається у вигляді числа 45658 всередині Excel. Залежно від значення, заданого в другому аргументі, формули видають різні результати.

    На перший погляд може здатися, що числа, які повертає функція ТИЖДЕНЬ, мають дуже мало практичного сенсу. Але давайте подивимося на це під іншим кутом і розглянемо деякі формули, які вирішують реальні життєві завдання.

    Як перетворити дату Excel на назву дня тижня

    За задумом, функція ТИЖДЕНЬ Excel повертає день тижня у вигляді числа. Щоб перетворити номер дня тижня в назву дня, скористайтеся функцією ТЕКСТ.

    Щоб отримати П.І.Б. використовуйте код формату "dddd":

    TEXT(WEEKDAY( дата ), "dddd")

    Повернутися скорочені назви днів код формату - "ddd":

    TEXT(WEEKDAY( дата ), "ddd")

    Наприклад, для перетворення дати в форматі А3 в назву дня тижня використовується формула:

    =TEXT(WEEKDAY(A3), "dddd")

    Або

    =TEXT(WEEKDAY(A3), "ddd")

    Іншим можливим рішенням є використання функції WEEKDAY разом з функцією CHOOSE.

    Наприклад, щоб отримати скорочену назву дня тижня з дати в А3, формула виглядає наступним чином:

    =CHOOSE(WEEKDAY(A3), "Sun", "Mon", "Tus", "Wed", "Thu", "Fri", "Sat")

    Тут WEEKDAY повертає порядковий номер від 1 (Sun) до 7 (Sat), а CHOOSE вибирає відповідне значення зі списку. Оскільки дата в A3 (Wednesday) відповідає 4, CHOOSE виводить "Wed", що є 4-м значенням у списку.

    Хоча формула ВИБІР трохи складніша у налаштуванні, вона забезпечує більшу гнучкість, дозволяючи виводити назви днів у будь-якому форматі. У наведеному вище прикладі ми показуємо скорочені назви днів. Натомість ви можете виводити повні назви, користувацькі абревіатури або навіть назви днів іншою мовою.

    Порада. Ще один простий спосіб перетворення дати в назву дня тижня - це застосування спеціального формату дати. Наприклад, у форматі коду "дддд, ммммм дд, рррр" дата буде відображатися у вигляді " П'ятниця, 3 січня 2025 року ", в той час як "dddd" покаже просто " П'ятниця ".

    Формула Excel WEEKDAY для пошуку та фільтрації робочих та вихідних днів

    Коли ви маєте справу з довгим списком дат, ви можете захотіти дізнатися, які з них є робочими днями, а які - вихідними.

    До визначати вихідні та робочі дні в Excel побудувати оператор ЕСЛИ з вкладеною функцією ТИЖДЕНЬ. Наприклад:

    =IF(WEEKDAY(A3, 2)<6, "Робочий день", "Вихідний")

    Ця формула переноситься в комірку А3 і копіюється вниз у необхідну кількість комірок.

    У формулі WEEKDAY ви задаєте тип_повернення до 2, що відповідає тижню з понеділка по неділю, де понеділок є днем 1. Таким чином, якщо номер робочого дня менше 6 (з понеділка по п'ятницю), формула повертає "Робочий день", в іншому випадку - "Вихідний".

    До фільтрувати вихідні або робочі дні застосуйте фільтр Excel до вашого набору даних ( Дані вкладка> Фільтр ) та оберіть "Вихідний" або "Робочий день".

    На скріншоті нижче ми відфільтрували будні дні, тому видно лише вихідні:

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

    Наприклад, для лікування Субота і Понеділок як вихідні, встановлюються тип_повернення до 12, таким чином, ви отримаєте тип тижня "вівторок (1) - понеділок (7)":

    =IF(WEEKDAY(A2, 12)<6, "Робочий день", "Вихідний")

    Як виділити вихідні робочі дні і в Excel

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

    До виділити вихідні дні (субота та неділя):

    =WEEKDAY($A2, 2)<6

    До виділити робочі дні (понеділок - п'ятниця):

    =WEEKDAY($A2, 2)>5

    Де A2 - верхня ліва комірка виділеного діапазону.

    Для налаштування правила умовного форматування необхідно виконати такі дії:

    1. Виберіть список дат (у нашому випадку А2:А15).
    2. Про це йдеться на Головна сторінка у вкладці Стилі групу, натисніть Умовне форматування > Нове правило .
    3. В рамках проекту Нове правило форматування виберіть у діалоговому вікні Використовуйте формулу, щоб визначити, які клітинки форматувати .
    4. В рамках проекту Значення формату, де ця формула значення true, введіть вищезазначену формулу для вихідних або робочих днів.
    5. Натисніть на кнопку Формат та оберіть потрібний формат.
    6. Натисніть ГАРАЗД. двічі, щоб зберегти зміни та закрити діалогові вікна.

    Детальну інформацію про кожен крок див. у розділі Як налаштувати умовне форматування за допомогою формули.

    Результат виглядає досить непогано, чи не так?

    Як порахувати робочі та вихідні дні в Excel

    Щоб отримати кількість робочих або вихідних днів у списку дат, можна використовувати функцію НЕДЕЛЯ в поєднанні з СУММ. Наприклад:

    До рахувати вихідні дні формула в D3 має вигляд:

    =SUM(--(WEEKDAY(A3:A20, 2)>5))

    До рахувати робочі дні формула в D4 набуває такого вигляду:

    =SUM(--(WEEKDAY(A3:A20, 2)<6))

    В Excel 365 і Excel 2021, які обробляють масиви, це працює як звичайна формула, як показано на скріншоті нижче. В Excel 2019 і більш ранніх версіях натисніть Ctrl + Shift + Enter, щоб перетворити її на формулу масиву.

    Як працюють ці формули:

    Функція WEEKDAY з тип_повернення встановлена в 2, повертає номер дня від 1 (пн) до 7 (сб) для кожної дати в діапазоні А3:А20. Логічний вираз перевіряє, чи повернуті числа більше 5 (для вихідних) або менше 6 (для буднів). Результатом цієї операції є масив значень TRUE та FALSE.

    Подвійне заперечення (--) примушує логічні значення до 1 та 0, а функція SUM підсумовує їх. Враховуючи, що 1 (ІСТИНА) означає дні, які потрібно рахувати, а 0 (БРЕХНЯ) - дні, які потрібно проігнорувати, ви отримуєте бажаний результат.

    Порада. Щоб розрахувати будні дні між двома датами використовуйте функцію NETWORKDAYS або NETWORKDAYS.INTL.

    Якщо будній день, то так, якщо субота або неділя, то так

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

    IF(WEEKDAY( клітина 2)>5, якщо_вихідні_тоді , якщо_день_тижня_то )

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

    • В рамках проекту логічний_тест аргумент, вкладена функція WEEKDAY, яка перевіряє, чи є заданий день робочим або вихідним.
    • В рамках проекту value_if_true аргумент, помножте кількість робочих годин на коефіцієнт вихідних (G4).
    • В рамках проекту value_if_false аргумент, помножити кількість робочих годин на норму робочого дня (G3).

    Повна формула в D3 має такий вигляд:

    =IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)

    Щоб формула коректно скопіювалася в наступні комірки, обов'язково закривайте адреси комірок зі ставками знаком $ (наприклад, $G$4).

    Функція WEEKEND не працює

    Як правило, існує дві поширені помилки, які може повернути формула WEEKDAY:

    #VALUE! виникає помилка, якщо або те, або інше:

    • Серійний_номер або тип_повернення не є числовим.
    • Серійний_номер знаходиться поза діапазоном підтримуваних дат (1900 - 9999).

    Помилка #NUM! виникає, коли тип_повернення виходить за межі допустимого діапазону (1-3 або 11-17).

    Це те, як використовувати функцію ТИЖДЕНЬ в Excel для маніпулювання днями тижня. У наступній статті ми розглянемо функції Excel для роботи з більшими одиницями часу, такими як тижні, місяці та роки. Будь ласка, слідкуйте за оновленнями та дякуємо за читання!

    Практичний посібник для завантаження

    Формула WEEKDAY в Excel - приклади (файл .xlsx)

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