Загальна формула
=WORKDAY.INTL(A1,1,"1111100")
Резюме
Щоб створити динамічну серію дат, які є лише вихідними (субота та неділя), ви можете використовувати функцію WORKDAY.INTL. У наведеному прикладі дата в B5 - це дата початку, введена в жорсткий код. Формула в B6 така:
=WORKDAY.INTL(B5,1,"1111100")
Це повертає лише суботу або неділю, оскільки формула копіюється. Список динамічний - при зміні дати початку створюються нові дати.
Пояснення
Функція WORKDAY.INTL зазвичай використовується для створення дат, які є робочими днями. Наприклад, за допомогою WORKDAY.INTL можна знайти наступний робочий день, який не є вихідним чи святковим, або перший робочий день через 10 днів.
Один з аргументів, наданих WORKDAY.INTL, називається "вихідними" і вказує, які дні вважаються неробочими. Аргумент вихідних може бути представлений як число, пов'язане з попередньо налаштованим списком, або як 7-символьний код, який охоплює всі сім днів тижня, з понеділка по суботу. У цьому прикладі використовується параметр коду.
У коді одиниці представляють дні вихідних (неробочі дні), а нулі - робочі дні, як показано в таблиці в D4: K5. Ми хочемо бачити у вихідних даних лише суботу та неділю, тому використовуйте 1 для всіх днів з понеділка по п’ятницю та нуль для суботи та неділі:
=WORKDAY.INTL(B5,1,"1111100")
Аргумент days вводиться як 1. Під час копіювання формули функція WEEKDAY.INTL повертає наступну дату - суботу чи неділю.
Інший спосіб
Якщо у вас є старіша версія Excel без функції WEEKDAY.INTL, ви можете отримати альтернативну формулу на основі функції WEEKDAY:
=IF(WEEKDAY(B5)=7,B5+1,B5+(7-WEEKDAY(B5)))
За замовчуванням WEEKDAY поверне 1 за неділю та 7 за суботу. Якщо результат 7, результат B5 + 1 (неділя). Якщо ні, то результат є
B5+(7-WEEKDAY(B5))
Що вирішується так, залежно від дня тижня:
B5 + (7-2) = B5 + 5 <- пн
B5 + (7-3) = B5 + 4 <- вт
B5 + (7-4) = B5 + 3 <- ср
B5 + (7-5) = B5 +2 <- чт
B5 + (7-6) = B5 + 1 <- пт
Примітка. Вам потрібно буде вказати дату принаймні за один день до першої суботи, яку потрібно створити.