Определим дату ближайшей субботы перед заданным днем. Т.е. если сегодня 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
Комментарии