Ближайшая суббота

history

Определим дату ближайшей субботы перед заданным днем. Т.е. если сегодня 25.11.2014 (вторник), то ближайшая прошедшая суббота - 22.11.2014. Также определим дату ближайшей субботы после заданного дня и просто дату ближайшей субботы .


Чтобы определить дату ближайшей прошедшей субботы, создадим таблицу: зададим нужные нам дни, затем определим дни недели этих дат (см. файл примера ).

День недели определим с помощью формулы =ДЕНЬНЕД(A6;2) . Второй аргумент соответствует неделе, которая начинается с понедельника (понедельник =1, вторник =2 и т.п.).

Ближайшая суббота ПЕРЕД датой определяется с помощью формулы =ЕСЛИ(B6=7;A6-1;A6-B6-1)

Ссылку на ячейку В6 можно заменить на формулу ДЕНЬНЕД(A6;2) .

Если заданная дата - суббота (см. ячейку А6 ), то берется предыдущая суббота.

Последующая суббота

Аналогичную формулу можно написать для определения следующей субботы =ЕСЛИ(B6>=6;A6-B6+13;A6-B6+6) . Если заданная дата - суббота (см. ячейку А6 ), то берется следующая суббота.

Ближайшая суббота



Ближайшую субботу (если не важно перед или после) можно определить с помощью формулы =A6+ВЫБОР(ДЕНЬНЕД(A6;2);-2;-3;3;2;1;0;-1)

Произвольный день недели

Действительно, почему именно суббота? Может ведь потребоваться найти ближайшую среду или пятницу?

В файле примера на листе Любой день сделан и такой расчет, хотя формулы усложнятся.

Особенно для ближайшего дня: =A6+ВЫБОР(ДЕНЬНЕД(A6;2);-2;-3;3;2;1;0;-1)+$F$3-6+ПРОСМОТР(ВЫБОР(ДЕНЬНЕД(A6;2);-2;-3;3;2;1;0;-1)+$F$3-6;{-9:-3:4};{7:0:-7})

Первая часть формулы =A6+ВЫБОР(ДЕНЬНЕД(A6;2);-2;-3;3;2;1;0;-1)+$F$3-6 аналогична вышеуказанной формуле для субботы с небольшой поправкой, которая зависит от заданного дня недели в ячейке F3 (для субботы эта поправка =0). Оставшаяся часть формулы корректирует полученную дату на + или - одну неделю (7 дней), чтобы дата действительно была ближайшей.


Комментарии

Только для авторизованных пользователей

(только для авторизованных пользователей)

© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved