Excel разница в месяцах между датами
Расчет количества дней между датами в Эксель
Довольно часто при работе датами в таблице Эксель возникает необходимость определения временного промежутка между ними, который измеряется в днях. В Excel существуют различные способы для выполнения данной задачи. Давайте рассмотрим их.
Расчет разности дат
Для корректной работы с датами сперва нужно задать ячейкам соответствующий формат. В противном случае возможны проблемы с корректным отображением дат, что сделает невозможным их дальнейшую обработку.
На самом деле Эксель способен самостоятельно определять формат ячейки после ввода в нее информации. Но этот механизм не всегда срабатывает как надо, поэтому стоит заранее самостоятельно настроить формат ячеек или проверить, правильно ли его определила программа.
- Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
- Щелкаем по выделенной области правой кнопкой мыши и в открывшемся контекстном меню выбираем команду “Формат ячеек“. Аналогичного результата можно добиться, используя комбинацию клавиш Ctrl+1.
- Перед нами окно настроек формата ячеек:
- по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
- в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
- в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
- нажимаем OK.
- Теперь все значения, вводимые в ячейки выделенной области будут восприниматься программой как данные в формате “Дата“.
Метод 1: использование формулы вычитания
Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.
- Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
- Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.
- В нашем случае установлено значение “Дата“. Для его изменения вновь вызываем окно формата ячеек и по описанному выше алгоритму устанавливаем числовой формат “Общий“. Для сохранения изменений жмем ОК.
- Теперь можно переходить непосредственно к вычислениям:
- в итоговую ячейку вводим знак “=“;
- кликаем по ячейке с конечной датой (более поздней);
- вводим с клавиатуры символ “–” (знак минус);
- кликаем по ячейке с начальной датой.
- Для получения результата жмем клавишу Enter. В итоге получаем целое число – количество дней между двумя датами.
Метод 2: функция РАЗНДАТ
Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.
Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).
Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:
- “d” — количество дней между датами;
- “m” — количество полных месяцев между датами;
- “y” — количество полных лет между датами;
- “YM” — разница между датами в месяцах;
- “MD” — разница между датами в днях, без учета месяцев и лет;
- “YD” — разница между датами в днях, без учета лет.
В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.
Основное отличие от простого вычитания одной даты из другой – в порядке следования аргументов функции: в качестве первого аргумента выбирается начальная (более ранняя дата), а в качестве второго – конечная (более поздняя). Опишем ниже алгоритм вычислений.
- Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
- Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.
- Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.
Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.
В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).
Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.
Приступаем к вычислениям:
- Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.
- В открывшемся окне Мастера функций:
- выбираем категорию “Полный алфавитный перечень”;
- находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
- нажимаем ОК.
- Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.
- Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.
- Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.
Заключение
С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.
Источник: microexcel.ru
Разница между датами в Excel вычисляется функцией РАЗНДАТ
На рабочем листе Excel создан план задач. В одной колонке указаны сроки выполнения для каждой задачи выполнения. Чтобы выделить цветом простроченные сроки поставленных задач нам нужна точная разница между датами в Excel. Для этого будем использовать условное форматирование с формулой РАЗНДАТ.
Как посчитать разницу между датами в Excel
Необходимо выделить цветом названия задач, у которых сроки заканчиваются уже через 7 дней. Пример таблицы плана задач:
- Выделите диапазон ячеек A2:A7 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выбираем опцию: «Использовать формулу для определения форматируемых ячеек».
- Разница в днях между датами будет вычисляется функцией =РАЗНДАТ(). Для этого В поле ввода введите формулу: =РАЗНДАТ($D$2; C2;”d”) Полезный совет! В ячейке D2 можно использовать функцию для получения сегодняшней даты: =СЕГОДНЯ().
Формула разница дат в Excel
Формула возвращает разницу дат между сегодняшней и установленной планом в днях. Для решения данной задачи используется функция РАЗНДАТ в Excel: где найти эту формулу?
Данную функцию вы не найдете в мастере функций и даже на панели «ФОРМУЛЫ». Ее всегда нужно вводить вручную. Первым аргументом функции всегда должна быть новейшая дата, а вторым всегда – старшая дата. Третий аргумент функции определяет единицу измерения количества, которое возвращает функция =РАЗНДАТ(). В данном случае это символ “d” – дней. Это значит, что функция возвращает количество дней. Дальше следует оператор
Цвет форматирования для второго правила можно задать желтый. К одному и тому же диапазону должно быть применено 2 правила условного форматирования. Чтобы проверить выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами». Так как у нас сначала выполняется верхнее правило следует изменить их порядок в появившемся окне: «Диспетчер правил условного форматирования». Иначе все выделенные задачи будут иметь желтую заливку ячеек. Просто выделите первое правило и нажмите кнопку вниз (CTRL+стрелка вниз), как показано на рисунке:
В результате план предупреждает нас сначала за две недели, а потом за неделю до окончания сроков выполнения задач:
Полезный совет! Если к одному и тому же диапазону присвоено много правил – соблюдайте иерархию приоритетов порядка их выполнения в диспетчере управления правилами. Чем выше правило, тем выше его приоритет выполнения по отношению к другим расположенных ниже под ним.
Источник: exceltable.com
Вычисление разности дат в Microsoft Excel
Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.
Расчет количества дней
Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.
-
Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».
В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
- «y» — полные года;
- «m» — полные месяцы;
- «d» — дни;
- «YM» — разница в месяцах;
- «MD» — разница в днях (месяцы и годы не учитываются);
- «YD» — разница в днях (годы не учитываются).
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
-
Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
-
Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».
После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.
Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник: lumpics.ru
Как посчитать разницу между датам в MS Excel
В MS Excel есть чрезвычайно интересная функция, о которой мало кто знает. Настолько мало, что к этой функции в экселе даже не предусмотрено контекстной подсказки при вводе, хотя, как ни странно, в справке к программе она есть и описана довольно неплохо. Называется она РАЗНДАТ() или DATEDIF() и служит для автоматического расчета разницы в днях, месяцах или годах между двумя заданными датами.
Звучит не очень? На самом деле, иногда возможность быстро и точно посчитать сколько же времени прошло с какого-то события, бывает очень полезна. Сколько месяцев прошло с дня вашего рождения, сколько времени вы уже просиживаете штаны на этом месте работы, или сколько дней вы сидите на диете — да мало ли применений этой полезной функции? А самое главное, подсчет можно автоматизировать и при каждом открытии книги MS Excel получать точные данные именно для сегодняшнего дня! Звучит интересно, неправда ли?
Функция РАЗНДАТ() принимает три аргумента:
- Начальная дата — дата с которой ведется счет
- Конечная дата — до которой ведется счет
- Единица измерения — дни, месяцы, годы.
Записывается это так:
=РАЗНДАТ(начальная дата;конечная дата;единица измерения)
Единицы измерения записываются как:
- «y» — разница дат в полных годах
- «m» — разница дат в полных месяцах
- «d» — разница дат в полных днях
- «yd» — разница дат в днях с начала года без учета лет
- «md» — разница дат в днях без учета месяцев и лет
- «ym» — разница дат в полных месяцах без учета лет
Иными словами, чтобы вычислить мой полный возраст в годах на текущий момент, я записываю функцию как:
=РАЗНДАТ(14.07.1984;22.03.2016;»y»)
Применение функции РАЗНДАТ() на практике
Обратите внимание — последний аргумент всегда заключен в кавычки.
Если же я хочу получить точный возраст, то запишу усложненную формулу:
=РАЗНДАТ(F2;G2;»y»)&» год «&РАЗНДАТ(F2;G2;»ym»)&» месяцев»
Усложняем применение РАЗНДАТ()
В которой функция РАЗНДАТ() вызывается сразу два раза, с разными значения, а слова «год» и «месяцев» просто пристыковываются к результату. То есть настоящая мощь функции проявляется только тогда, когда её комбинируют с другими возможностями MS Excel.
Ещё один интересный вариант — добавить в функцию ежедневно сдвигающийся относительно сегодняшней даты счетчик. К примеру, если я решу писать формулу которая высчитывает количество дней до моего отпуска в стандартном виде, это будет выглядеть примерно так:
Простой калькулятор остатка рабочих дней
И все было бы правильно, если бы открыв через неделю этот лист, я увидел бы, что количество дней до отпуска сократилось. Однако я увижу тоже самое число — ведь исходные даты не менялись. Соответственно, мне пришлось бы изменить текущую дату, и тогда функция РАЗНДАТ() сделала бы все правильно.
Чтобы избежать это досадной мелочи, в качестве первого аргумента (сегодняшнего числа), я подставлю не ссылку на значение хранящееся в ячейке, а другую функцию. Эта функция называется СЕГОДНЯ() и её основная и единственная задача — возвращать сегодняшнюю дату.
А это уже полноценный калькулятор в MS Excel, учитывающий сегодняшнюю дату
Раз, и проблема решена — отныне, когда бы я не открыл этот лист MS Excel, функция РАЗНДАТ() всегда будет показывать мне точное значение, рассчитанное с учетом сегодняшней даты.
Источник: bussoft.ru
Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример – подсчет возраста.
Что возвращает функция
Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.
Синтаксис
=DATEDIF(start_date,end_date,unit) – английская версия
= РАЗНДАТ( нач_дата ; кон_дата ; единица) – русская версия
Аргументы функции
- start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
- end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
- unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
- “Y” – возвращает данные в количестве лет между двумя датами;
- “M” – возвращает данные в количестве месяцев между двумя датами;
- “D” – возвращает данные в количестве дней между двумя данными;
- “MD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
- “YM” – возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
- “YD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.
Дополнительная информация
- При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
- Данные даты в функции могут быть введены как:
– дата указанная в виде текста в кавычках;
– число;
– как результат вычисления, формулы, функции.
Примеры использования функции РАЗНДАТ в Excel
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Пример №2. Подсчет количества месяцев между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами – 19 июня 1989 года и 26 марта 2017 года.
Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.
Пример №3. Подсчет количества дней между двумя датами
На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами – 19 июня 1989 года и 26 марта 2017 года.
Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):
В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.
Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):
На примере выше функция возвращает значение “7” означающие количество дней между двумя днями “19” и “26” число, исключая значения лет и месяцев.
Источник: excelhack.ru
Подсчет между датами
Получить дни, месяцы и годы между датами
Чтобы рассчитать и отобразить время между датами в днях, месяцах и годах, вы можете использовать формулу, основанную на функции РАЗНДАТ.
В показанном примере формула в D5:
Где даты начала указаны в столбце B, а даты окончания — в столбце C.
Функция РАЗНДАТ предназначена для вычисления разницы между датами в годах, месяцах и днях. Доступны несколько вариантов (например, время в месяцах, время в месяцах без учета дней и лет и т. д.), И они устанавливаются аргументом «единица» в функции.
В показанном примере мы вычисляем отдельно годы, месяцы и дни, затем «склеиваем» результаты вместе с конкатенацией. Чтобы получить целые годы, мы используем:
Чтобы получить целые месяцы, мы используем:
И мы вычисляем дни с:
Остальная часть формулы — это просто необходимый текст, объединенный с оператором конкатенации (&).
Чтобы предотвратить вывод дней, месяцев или лет с нулевыми значениями, вы можете обернуть каждую функцию РАЗНДАТ внутри ЕСЛИ, как показано здесь (строки, добавленные для удобочитаемости):
=ЕСЛИ(РАЗНДАТ(B5; C5; «г»); РАЗНДАТ (B5; C5; «г») & «годы»; «»)
ЕСЛИ(РАЗНДАТ(B5; C5; «гм»); РАЗНДАТ(B5; C5; «гм») & «месяцы»; «»)
ЕСЛИ(РАЗНДАТ(B5; C5; «мд»); РАЗНДАТ(B5; C5; «мд») & «дни»; «»)
Для предотвращения появления дополнительных запятых в конечном результате запятые заменяются пробелами. Использование исходной формулы РАЗНДАТ как «логического теста» внутри ЕСЛИ работает, потому что ЕСЛИ обрабатывает любой ненулевой результат как истинный.
Подсчитайте дни недели между датами
= СУММПРОИЗВ(- (ДЕНЬНЕД(СТРОКА(ДВССЫЛ (дата1 & «:» & дата2))) = дни))
Чтобы подсчитать количество понедельников, пятниц, воскресений и т. п. между двумя датами, вы можете использовать формулу массива, которая использует несколько функций: СУММПРОИЗВ, ДЕНЬНЕД, СТРОКА и ДВССЫЛ.
В показанном примере формула в ячейке E5 имеет следующий вид:
В основном эта формула использует функцию ДЕНЬНЕД, чтобы проверить количество дат, чтобы увидеть, попадают ли они в заданный день недели и функцию СУММПРОИЗВ, чтобы подсчитать общее количество.
Когда дана дата, ДЕНЬНЕД просто возвращает число от 1 до 7, соответствующее конкретному дню недели. С настройками по умолчанию: 1 = воскресенье и 7 = суббота. Итак, 2 = понедельник, 6 = пятница и так далее.
Трюк этой формулы заключается в понимании того, что даты в Excel — это только серийные номера, которые начинаются 1 января 1900 года. Например, 1 января 2016 года — это серийный номер 42370, а 8 января — 42377. Даты в Excel выглядят только как даты, когда применяется формат числа даты.
Итак, возникает вопрос — как вы можете построить массив дат, который вы можете использовать в функции ДЕНЬНЕД, чтобы узнать соответствующие дни недели?
Ответ: использовать СТРОКА с ДВССЫЛ следующим образом:
ДВССЫЛ позволяет связанным датам «42370: 42377» интерпретироваться как номера строк. Затем функция СТРОКА возвращает массив вроде этого:
Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:
Который тестируется на заданный день недели (6 в данном случае, начиная с D6). Как только результаты теста преобразуются в 1 и 0 с двойным дефисами, этот массив обрабатывается СУММПРОИЗВ:
Который возвращает 2.
Подсчитывать праздники между двумя датами
= СУММПРОИЗВ((праздники> = начало) * (праздники
В показанном примере формула в F7:
Это возвращает массив значений ИСТИНА/ЛОЖЬ, например:
Второе выражение проверяет каждую дату отпуска, чтобы увидеть, меньше или равна конечной дате в F6:
(B5: B13 = F5) * (диап
В показанном примере формула в ячейке E5:
Функция ТЕКСТ принимает числовые значения и преобразует их в текстовые значения, используя заданный вами формат. В этом примере мы используем формат «ммм д» для обеих функций TEКСT в E5. Результаты объединяются дефисом, используя простую конкатенацию.
Примечание. Другие примеры в столбце E используют разные текстовые форматы.
Если дата окончания отсутствует, формула не будет работать правильно, потому что дефис будет добавлен к дате начала (например, «1 марта»).
Чтобы обработать этот случай, вы можете обернуть конкатенацию и вторую функцию ТЕКСТ внутри ЕСЛИ следующим образом:
Это создает полный диапазон дат, когда обе даты присутствуют, но выводит только дату начала, когда дата окончания отсутствует.
Для обработки случая, когда обе даты отсутствуют, вы можете вложить еще один ЕСЛИ следующим образом:
Эта формула просто возвращает пустую строку («»), когда дата1 недоступна.
Получать рабочие часы между датами
= ЧИСТРАБДНИ (начало; конец; праздники) * часы
Чтобы получить общее количество часов работы между двумя датами, вы можете использовать формулу, основанную на функции ЧИСТРАБДНИ, где «начало» — это дата начала, «конец» — конечная дата, «праздники» — диапазон, который включает в себя даты отпуска , А «часы» — количество рабочих часов в день.
В показанном примере формула в D5:
Эта формула использует функцию ЧИСТРАБДНИ, чтобы выполнить работу по определению общего количества рабочих дней между двумя датами с учетом выходных и (необязательно) праздников.
Праздники, если они предусмотрены, должны быть диапазоном, который включает действительные даты Excel.
Как только общие рабочие дни известны, их просто умножают на количество часов в рабочем дне.
Обратите внимание, что ЧИСТРАБДНИ по дизайну включает как дату начала, так и дату окончания в результате, и исключает как субботу, так и воскресенье.
Получать рабочие часы между датами собственного расписания
Чтобы вычислить часы работы между двумя датами с настраиваемым расписанием, вы можете использовать формулу, основанную на функциях ДЕНЬНЕД и ВЫБОР.
В показанном примере формула в F5:
Который возвращает 32 часа, основанный на пользовательском расписании, где 8 часов работают в Пн, Ср и Пт, а 4 часа — в Пт и Вт.
Примечание. Это формула массива, которая должна вводиться с помощью Control + Shift + Enter.
По сути, эта формула использует функцию ДЕНЬНЕД для определения дня недели (например, понедельник, вторник и т. д.) Для каждого дня между двумя указанными датами.
ДЕНЬНЕД возвращает число от 1 до 7, соответствующее конкретному дню недели. С настройками по умолчанию: 1 = воскресенье и 7 = суббота, поэтому, 2 = понедельник, 6 = пятница и так далее.
Хитрость этой формулы заключается в создании массива дат, которые вы можете использовать в функции ДЕНЬНЕД. Это делается с помощью СТРОКА с ДВССЫЛ следующим образом:
ДВССЫЛ позволяет связанным датам «» 42464: 42470 «» интерпретироваться как номера строк. Затем функция СТРОКА возвращает массив вроде этого:
Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:
Эти числа соответствуют дню недели каждой даты.
Этот массив затем передается функции ВЫБОР в качестве «номера индекса», который был сконфигурирован с 7 значениями:
Значение1 – рабочие дни в воскресенье
Значение 2 — рабочие часы в понедельник
Значение 3 — рабочие часы вторника
Значение 4 — Рабочие часы в среду
Значение 5 — рабочие часы в четверг
Значение 6 — рабочие часы в пятницу
Значение 7 — работа в субботу
Поскольку мы даем ВЫБОР более чем одно значение индекса, он возвращает более одного результата в массиве следующим образом:
Эти цифры соответствуют часам, которые выполнялись каждый день с даты 1 по дату2.
Наконец, чтобы получить итоговое значение, нам просто нужно обернуть ВЫБОР в СУММ и ввести формулу массива.
В этом примере итоговый результат составляет 32 часа.
Примечание: вы могли бы подумать, что вы могли бы использовать СУММПРОИЗВ вместо СУММ, чтобы избежать синтаксиса массива, но он не работает; Вам все равно придется использовать CSE. Я знаю, что причина заключается в использовании ДВССЫЛ с СТРОКА для построения массива значений индекса, но не знаю, почему это требует CSE.
Получать рабочие дни между датами
= ЧИСТРАБДНИ(нач_дата; кон_дата; праздники)
Чтобы вычислить количество рабочих дней между двумя датами, вы можете использовать функцию ЧИСТРАБДНИ. ЧИСТРАБДНИ автоматически исключает выходные и может также исключать настраиваемый список праздничных дней.
Например, если у вас есть дата 4 января 2016 года (понедельник) в ячейке B4 и 11 января 2016 года (также понедельник) в ячейке C4, эта формула вернет 6:
Обратите внимание, что ЧИСТРАБДНИ включает как начальную, так и конечную даты в расчете, если они являются рабочими днями.
ЧИСТРАБДНИ также может исключать настраиваемый список праздников. Например, если у вас есть даты отпуска в H1: H10, вы можете указать ЧИСТРАБДНИ не включать эти даты в качестве рабочих дней, добавив этот диапазон в качестве третьего аргумента в формуле:
Если вам нужно учитывать пользовательские выходные дни (например, выходные — это только суббота, воскресенье и понедельник и т. д.), Вам нужно переключиться на более надежную функцию ЧИСТРАБДНИ.МЕЖД, которая позволяет вам установить, какие дни недели считаются выходными, подавая аргумент в выходные дни в виде числового кода.
Источник: excelpedia.ru