Выбранный период в excel

Для работы с датами в Excel в разделе с функциями определена категория «Дата и время». Рассмотрим наиболее распространенные функции в этой категории.

Как Excel обрабатывает время

Программа Excel «воспринимает» дату и время как обычное число. Электронная таблица преобразует подобные данные, приравнивая сутки к единице. В результате значение времени представляет собой долю от единицы. К примеру, 12.00 – это 0,5.

Значение даты электронная таблица преобразует в число, равное количеству дней от 1 января 1900 года (так решили разработчики) до заданной даты. Например, при преобразовании даты 13.04.1987 получается число 31880. То есть от 1.01.1900 прошло 31 880 дней.

Этот принцип лежит в основе расчетов временных данных. Чтобы найти количество дней между двумя датами, достаточно от более позднего временного периода отнять более ранний.



Пример функции ДАТА

Построение значение даты, составляя его из отдельных элементов-чисел.

Синтаксис: год; месяц, день.

Все аргументы обязательные. Их можно задать числами или ссылками на ячейки с соответствующими числовыми данными: для года – от 1900 до 9999; для месяца – от 1 до 12; для дня – от 1 до 31.

Если для аргумента «День» задать большее число (чем количество дней в указанном месяце), то лишние дни перейдут на следующий месяц. Например, указав для декабря 32 дня, получим в результате 1 января.

Пример использования функции:

ДАТА.

Зададим большее количество дней для июня:

Большее количество дней.

Примеры использования в качестве аргументов ссылок на ячейки:

Ссылки в аргументах.

Функция РАЗНДАТ в Excel

Возвращает разницу между двумя датами.

Аргументы:

  • начальная дата;
  • конечная дата;
  • код, обозначающий единицы подсчета (дни, месяцы, годы и др.).

Способы измерения интервалов между заданными датами:

  • для отображения результата в днях – «d»;
  • в месяцах – «m»;
  • в годах – «y»;
  • в месяцах без учета лет – «ym»;
  • в днях без учета месяцев и лет – «md»;
  • в днях без учета лет – «yd».

В некоторых версиях Excel при использовании последних двух аргументов («md», «yd») функция может выдать ошибочное значение. Лучше применять альтернативные формулы.

Примеры действия функции РАЗНДАТ:

РАЗНДАТ.

В версии Excel 2007 данной функции нет в справочнике, но она работает. Хотя результаты лучше проверять, т.к. возможны огрехи.

Функция ГОД в Excel

Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.

Пример использования функции ГОД:

ГОД.

Функция МЕСЯЦ в Excel: пример

Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.

Примеры использования функции МЕСЯЦ:

МЕСЯЦ.

Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel

Возвращает день как целое число (от 1 до 31) для заданной в числовом формате даты. Аргумент – дата дня, который нужно найти, в числовом формате.

ДЕНЬ.

Чтобы вернуть порядковый номер дня недели для указанной даты, можно применить функцию ДЕНЬНЕД:

ДЕНЬНЕД.

По умолчанию функция считает воскресенье первым днем недели.

Для отображения порядкового номера недели для указанной даты применяется функция НОМНЕДЕЛИ:

НОМНЕДЕЛИ.

Дата 24.05.2015 приходится на 22 неделю в году. Неделя начинается с воскресенья (по умолчанию).

С понедельника.

В качестве второго аргумента указана цифра 2. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).

Скачать примеры функций для работы с датами

Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().

Создание временной шкалы сводной таблицы для фильтрации дат

Excel для Microsoft 365 Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Еще…Меньше

Вместо настройки фильтров для отображения дат вы можете воспользоваться временной шкалой сводной таблицы. Это параметр динамического фильтра, позволяющий легко фильтровать по дате или времени и переходить к нужному периоду с помощью ползунка. Чтобы добавить эту шкалу на лист, на вкладке Анализ нажмите кнопку Вставить временную шкалу

Временная шкала

 

Как и срез для фильтрации данных, временную шкалу можно добавить один раз и затем использовать в любой момент для изменения диапазона времени сводной таблицы.


Ниже описано, как это сделать.

  1. Щелкните в любом месте сводной таблицы, чтобы показать группу Работа со сводными таблицами на ленте, и на вкладке Анализ нажмите кнопку Вставить временную шкалу.

    Кнопка "Вставить временную шкалу" на вкладке "Анализ"

  2. В диалоговом окне Вставка временных шкал установите флажки рядом с нужными полями дат и нажмите кнопку ОК.

    Диалоговое окно "Вставка временных шкал"

Использование временной шкалы для фильтрации по периоду времени

Вставив временную шкалу, вы можете фильтровать данные по периоду времени на одном из четырех уровней (годы, кварталы, месяцы или дни).

  1. Нажмите на стрелку рядом с отображаемым временным уровнем и выберите нужный вариант.

    Стрелка временных уровней

  2. Перетащите полосу прокрутки временной шкалы к периоду времени, который вы хотите проанализировать.

    Полоса прокрутки временной шкалы

  3. В элементе управления отрезком времени нажмите на плитку периода времени и перетащите ее, чтобы добавить дополнительные плитки для выбора нужного диапазона дат. С помощью маркеров отрезка времени отрегулируйте диапазон дат с обеих сторон.

    Маркеры выбора отрезка времени

Использование временной шкалы с несколькими сводными таблицами

Если ваши сводные таблицы имеют один и тот же источник данных, вы можете использовать одну временную шкалу для фильтрации по нескольким сводным таблицам. Щелкните временную шкалу, а затем на вкладке Параметры нажмите кнопку Подключения к отчетам и выберите сводные таблицы, которые вы хотите добавить.

Очистка временной шкалы

Чтобы очистить временную шкалу, нажмите кнопку Очистить фильтр Кнопка "Сбросить фильтр".

Совет: Если нужно объединить срезы с временной шкалой для фильтрации одного и того же поля дат, установите флажок Разрешить несколько фильтров для поля в диалоговом окне Параметры сводной таблицы (Работа со сводными таблицами > Анализ > Параметры > вкладка Итоги и фильтры).

Настройка временной шкалы

Если временная шкала включает в себя данные сводной таблицы, вы можете переместить ее в более удобное расположение и изменить ее размер. Кроме того, вы можете изменить стиль временной шкалы — это удобно, если у вас несколько шкал.

  • Чтобы переместить временную шкалу, просто перетащите ее в нужное расположение.

  • Чтобы изменить размер временной шкалы, нажмите на нее, а затем выберите нужный размер, перетаскивая маркеры размера.

  • Для изменения стиля временной шкалы, нажмите на нее, чтобы вывести на экран меню Инструменты временной шкалы, и выберите нужный стиль на вкладкеПараметры.

Стили временной шкалы на вкладке "Параметры" меню "Инструменты временной шкалы"

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Создание сводной таблицы для анализа данных на листе

Создание сводной таблицы для анализа внешних данных

Создание сводной таблицы для анализа данных в нескольких таблицах

Упорядочение полей сводной таблицы с помощью списка полей

Фильтрация данных в сводной таблице

Группировка и отмена группировки данных в отчете сводной таблицы

Нужна дополнительная помощь?

Содержание

  • Работа с функциями даты и времени
    • ДАТА
    • РАЗНДАТ
    • ТДАТА
    • СЕГОДНЯ
    • ВРЕМЯ
    • ДАТАЗНАЧ
    • ДЕНЬНЕД
    • НОМНЕДЕЛИ
    • ДОЛЯГОДА
  • Вопросы и ответы

Функции даты и времени в Microsoft Excel

Одной из самых востребованных групп операторов при работе с таблицами Excel являются функции даты и времени. Именно с их помощью можно проводить различные манипуляции с временными данными. Дата и время зачастую проставляется при оформлении различных журналов событий в Экселе. Проводить обработку таких данных – это главная задача вышеуказанных операторов. Давайте разберемся, где можно найти эту группу функций в интерфейсе программы, и как работать с самыми востребованными формулами данного блока.

Работа с функциями даты и времени

Группа функций даты и времени отвечает за обработку данных, представленных в формате даты или времени. В настоящее время в Excel насчитывается более 20 операторов, которые входят в данный блок формул. С выходом новых версий Excel их численность постоянно увеличивается.

Любую функцию можно ввести вручную, если знать её синтаксис, но для большинства пользователей, особенно неопытных или с уровнем знаний не выше среднего, намного проще вводить команды через графическую оболочку, представленную Мастером функций с последующим перемещением в окно аргументов.

  1. Для введения формулы через Мастер функций выделите ячейку, где будет выводиться результат, а затем сделайте щелчок по кнопке «Вставить функцию». Расположена она слева от строки формул.
  2. Перемещение в Мастер функций в Microsoft Excel

  3. После этого происходит активация Мастера функций. Делаем клик по полю «Категория».
  4. Мастер функций в Microsoft Excel

  5. Из открывшегося списка выбираем пункт «Дата и время».
  6. Выбор категории функций в Microsoft Excel

  7. После этого открывается перечень операторов данной группы. Чтобы перейти к конкретному из них, выделяем нужную функцию в списке и жмем на кнопку «OK». После выполнения перечисленных действий будет запущено окно аргументов.

Переход к аргументам функции в Microsoft Excel

Кроме того, Мастер функций можно активировать, выделив ячейку на листе и нажав комбинацию клавиш Shift+F3. Существует ещё возможность перехода во вкладку «Формулы», где на ленте в группе настроек инструментов «Библиотека функций» следует щелкнуть по кнопке «Вставить функцию».

Переход к вставке функции в Microsoft Excel

Имеется возможность перемещения к окну аргументов конкретной формулы из группы «Дата и время» без активации главного окна Мастера функций. Для этого выполняем перемещение во вкладку «Формулы». Щёлкаем по кнопке «Дата и время». Она размещена на ленте в группе инструментов «Библиотека функций». Активируется список доступных операторов в данной категории. Выбираем тот, который нужен для выполнения поставленной задачи. После этого происходит перемещение в окно аргументов.

Переход к формулам в Microsoft Excel

Урок: Мастер функций в Excel

ДАТА

Одной из самых простых, но вместе с тем востребованных функций данной группы является оператор ДАТА. Он выводит заданную дату в числовом виде в ячейку, где размещается сама формула.

Его аргументами являются «Год», «Месяц» и «День». Особенностью обработки данных является то, что функция работает только с временным отрезком не ранее 1900 года. Поэтому, если в качестве аргумента в поле «Год» задать, например, 1898 год, то оператор выведет в ячейку некорректное значение. Естественно, что в качестве аргументов «Месяц» и «День» выступают числа соответственно от 1 до 12 и от 1 до 31. В качестве аргументов могут выступать и ссылки на ячейки, где содержатся соответствующие данные.

Lumpics.ru

Для ручного ввода формулы используется следующий синтаксис:

=ДАТА(Год;Месяц;День)

Функция ДАТА в Microsoft Excel

Близки к этой функции по значению операторы ГОД, МЕСЯЦ и ДЕНЬ. Они выводят в ячейку значение соответствующее своему названию и имеют единственный одноименный аргумент.

РАЗНДАТ

Своего рода уникальной функцией является оператор РАЗНДАТ. Он вычисляет разность между двумя датами. Его особенность состоит в том, что этого оператора нет в перечне формул Мастера функций, а значит, его значения всегда приходится вводить не через графический интерфейс, а вручную, придерживаясь следующего синтаксиса:

=РАЗНДАТ(нач_дата;кон_дата;единица)

Из контекста понятно, что в качестве аргументов «Начальная дата» и «Конечная дата» выступают даты, разницу между которыми нужно вычислить. А вот в качестве аргумента «Единица» выступает конкретная единица измерения этой разности:

  • Год (y);
  • Месяц (m);
  • День (d);
  • Разница в месяцах (YM);
  • Разница в днях без учета годов (YD);
  • Разница в днях без учета месяцев и годов (MD).

Функция РАЗНДАТ в Microsoft Excel

Урок: Количество дней между датами в Excel

ЧИСТРАБДНИ

В отличии от предыдущего оператора, формула ЧИСТРАБДНИ представлена в списке Мастера функций. Её задачей является подсчет количества рабочих дней между двумя датами, которые заданы как аргументы. Кроме того, имеется ещё один аргумент – «Праздники». Этот аргумент является необязательным. Он указывает количество праздничных дней за исследуемый период. Эти дни также вычитаются из общего расчета. Формула рассчитывает количество всех дней между двумя датами, кроме субботы, воскресенья и тех дней, которые указаны пользователем как праздничные. В качестве аргументов могут выступать, как непосредственно даты, так и ссылки на ячейки, в которых они содержатся.

Синтаксис выглядит таким образом:

=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])

Аргументы функции ЧИСТОРАБДНИ в Microsoft Excel

ТДАТА

Оператор ТДАТА интересен тем, что не имеет аргументов. Он в ячейку выводит текущую дату и время, установленные на компьютере. Нужно отметить, что это значение не будет обновляться автоматически. Оно останется фиксированным на момент создания функции до момента её перерасчета. Для перерасчета достаточно выделить ячейку, содержащую функцию, установить курсор в строке формул и кликнуть по кнопке Enter на клавиатуре. Кроме того, периодический пересчет документа можно включить в его настройках. Синтаксис ТДАТА такой:

=ТДАТА()

Функция ТДАТА в Microsoft Excel

СЕГОДНЯ

Очень похож на предыдущую функцию по своим возможностям оператор СЕГОДНЯ. Он также не имеет аргументов. Но в ячейку выводит не снимок даты и времени, а только одну текущую дату. Синтаксис тоже очень простой:

=СЕГОДНЯ()

Функция СЕГОДНЯ в Microsoft Excel

Эта функция, так же, как и предыдущая, для актуализации требует пересчета. Перерасчет выполняется точно таким же образом.

ВРЕМЯ

Основной задачей функции ВРЕМЯ является вывод в заданную ячейку указанного посредством аргументов времени. Аргументами этой функции являются часы, минуты и секунды. Они могут быть заданы, как в виде числовых значений, так и в виде ссылок, указывающих на ячейки, в которых хранятся эти значения. Эта функция очень похожа на оператор ДАТА, только в отличии от него выводит заданные показатели времени. Величина аргумента «Часы» может задаваться в диапазоне от 0 до 23, а аргументов минуты и секунды – от 0 до 59. Синтаксис такой:

=ВРЕМЯ(Часы;Минуты;Секунды)

Функция ВРЕМЯ в Microsoft Excel

Кроме того, близкими к этому оператору можно назвать отдельные функции ЧАС, МИНУТЫ и СЕКУНДЫ. Они выводят на экран величину соответствующего названию показателя времени, который задается единственным одноименным аргументом.

ДАТАЗНАЧ

Функция ДАТАЗНАЧ очень специфическая. Она предназначена не для людей, а для программы. Её задачей является преобразование записи даты в обычном виде в единое числовое выражение, доступное для вычислений в Excel. Единственным аргументом данной функции выступает дата как текст. Причем, как и в случае с аргументом ДАТА, корректно обрабатываются только значения после 1900 года. Синтаксис имеет такой вид:

=ДАТАЗНАЧ (дата_как_текст)

Функция ДАТАЗНАЧ в Microsoft Excel

ДЕНЬНЕД

Задача оператора ДЕНЬНЕД – выводить в указанную ячейку значение дня недели для заданной даты. Но формула выводит не текстовое название дня, а его порядковый номер. Причем точка отсчета первого дня недели задается в поле «Тип». Так, если задать в этом поле значение «1», то первым днем недели будет считаться воскресенье, если «2» — понедельник и т.д. Но это не обязательный аргумент, в случае, если поле не заполнено, то считается, что отсчет идет от воскресенья. Вторым аргументом является собственно дата в числовом формате, порядковый номер дня которой нужно установить. Синтаксис выглядит так:

=ДЕНЬНЕД(Дата_в_числовом_формате;[Тип])

Функция ДЕНЬНЕД в Microsoft Excel

НОМНЕДЕЛИ

Предназначением оператора НОМНЕДЕЛИ является указание в заданной ячейке номера недели по вводной дате. Аргументами является собственно дата и тип возвращаемого значения. Если с первым аргументом все понятно, то второй требует дополнительного пояснения. Дело в том, что во многих странах Европы по стандартам ISO 8601 первой неделей года считается та неделя, на которую приходится первый четверг. Если вы хотите применить данную систему отсчета, то в поле типа нужно поставить цифру «2». Если же вам более по душе привычная система отсчета, где первой неделей года считается та, на которую приходится 1 января, то нужно поставить цифру «1» либо оставить поле незаполненным. Синтаксис у функции такой:

=НОМНЕДЕЛИ(дата;[тип])

Функция НОМНЕДЕЛИ в Microsoft Excel

ДОЛЯГОДА

Оператор ДОЛЯГОДА производит долевой расчет отрезка года, заключенного между двумя датами ко всему году. Аргументами данной функции являются эти две даты, являющиеся границами периода. Кроме того, у данной функции имеется необязательный аргумент «Базис». В нем указывается способ вычисления дня. По умолчанию, если никакое значение не задано, берется американский способ расчета. В большинстве случаев он как раз и подходит, так что чаще всего этот аргумент заполнять вообще не нужно. Синтаксис принимает такой вид:

=ДОЛЯГОДА(нач_дата;кон_дата;[базис])

Функция ДОЛЯГОДА в Microsoft Excel

Мы прошлись только по основным операторам, составляющим группу функций «Дата и время» в Экселе. Кроме того, существует ещё более десятка других операторов этой же группы. Как видим, даже описанные нами функции способны в значительной мере облегчить пользователям работу со значениями таких форматов, как дата и время. Данные элементы позволяют автоматизировать некоторые расчеты. Например, по введению текущей даты или времени в указанную ячейку. Без овладения управлением данными функциями нельзя говорить о хорошем знании программы Excel.

Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.

Предыдущая глава                             Оглавление                                Следующая глава

При создании формул массива, операторы массива могут значительно увеличить время расчета. В этой короткой главе рассматриваются два примера, в которых обычная формула справляется с задачей значительно быстрее формулы массива.

Подсчет дат, когда критерий сформулирован в виде текста. На рис. 12.1 показан набор данных с датами в стандартном формате Excel, то есть в виде порядковых чисел. В тоже время, критерии заданы как число (год) и текст (месяц). Цель – подсчитать, сколько дат соответствуют критерию. Проблема в том, что у нас несоответствие формата данных: в столбце A даты как порядковые номера, а критерий – смесь чисел и текста. На рис. 12.1 приведено пять различных формул, которые можно использовать для достижения цели.

Рис. 12.1. Подсчет количества дат

Рис. 12.1. Подсчет количества дат (заданных порядковыми номерами) по двум критериям: году (число) и месяцу (текст)

Скачать заметку в формате Word или pdf, примеры в формате Excel2013

Давайте подробнее изучим работу этих пяти формул.

Формула [1]:

  • Если вы можете позволить себе вспомогательный столбец, функция СЧЁТЕСЛИ будет самым простым решением.
  • Функция МЕСЯЦ возвращает число между 1 и 12, а функция ГОД – число (год).
  • Хотя Excel требует, чтобы аргумент функции МЕСЯЦ был представлен датой в числовом формате, этот аргумент может распознать и текст. Однако МЕСЯЦ(Окт) вернет ощибку, а вот если добавить к названию месяца любое число, например, 1, то Excel справится. Используйте, как в формуле выражение Окт1, заданное фрагментом F8&1, или 1Окт, заданное фрагментом 1&F8.
  • Формулы с вспомогательными столбцами как правило работают быстрее.

Формула [2]:

  • Если у вас Excel 2007 или более поздний, вы можете использовать функции СЧЁТЕСЛИМН и КОНМЕСЯЦА.
  • Вам даны год (в виде числа) и месяц (как текст). Это означает, что вы можете вычислить дату начала и конца месяца, а затем определить даты, попажающие между ними.
  • Месяц всегда начинается с первого числа, так что вы можете создать нижнюю границу диапазона конкатенацией: ">=1"&F8&E8. Операции конкатенации возвращают текст, но это не страшно, т.к. функция СУММЕСЛИМН понимает даты в виде текста.
  • Вы используете функцию КОНМЕСЯЦА с аргументом число_месяцев равным нулю; это позволяет получить последнюю дату текущего месяца. Функция КОНМЕСЯЦА является динамической: она возвращает 28 или 29 для февраля и 30 или 31 для любого другого месяца.
  • Эта формула является самой быстрой, если вам нужно получить решение в одной ячейке.

Формула [3]:

  • Если у вас Excel версии младше 2007 г., вы можете использовать две функции СЧЁТЕСЛИ, одну – для верхнего диапазона, вторую – для нижнего. Фокус в том, чтобы сначала сосчитать все значения, которые равны или меньше верхней границы, а затем вычесть все значения, которые меньше нижней границы.
  • В Excel 2003 или более ранней, чтобы добавить функцию КОНМЕСЯЦА, вам нужно выбрать ИнструментыНадстройкиАнализ Данных.
  • Эта формула работает быстрее, чем формулы [4] и [5].

Формула [4]:

  • Функции МЕСЯЦ и ГОД возвращают числа, извлекая их из порядкового номера даты.
  • Далее сравниваются два фрагмента, каждый полкченный конкатенацией.

Формула [5]:

  • Функция ТЕКСТ используется для представления чисел в виде текста. Второй аргумент этой функции – формат – определяет, как будет представлено число. Вы может конвертировать весь столбец А в текст, состоящий из 7 символов: 3 буквы месяца и  4 цифры года.

Нахождение объема продаж за год. На рис. 12.4 показан пример несоответствие формата года в критерии Е6 (число) и формата дат в диапазоне А2:А6 (порядковый номер). Цель – найти сумму продаж за год. На рисунке представлены шесть вариантов формул, которые могут решить задачу. Обратите внимание, что в формулах [1] и [2] критерии начала и конца года жестко зашиты в коде, т.к. они не могут изменяться. Это 1/1 и 31/12). Формулы размещены на рисунке в порядка увеличения скорости работы.

Рис. 12.4. Формата года в критерии не соответствует формату дат

Рис. 12.4. Формата года в критерии Е6 (число) не соответствует формату дат в диапазоне А2:А6 (порядковый номер)

Видео

Как обычно, кому надо быстро — смотрим видео. Подробности и нюансы — в тексте ниже:

Как вводить даты и время в Excel

Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами — и понимает их все:

   «Классическая» форма

  3.10.2006

   Сокращенная форма

3.10.06

   С использованием дефисов

3-10-6

   С использованием дроби

   3/10/6

Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню — правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):

date1.png

Время вводится в ячейки с использованием двоеточия. Например

16:45

По желанию можно дополнительно уточнить количество секунд — вводя их также через двоеточие:

16:45:30

И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть 

27.10.2012 16:45

Быстрый ввод дат и времени

Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).

Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать — как именно копировать выделенную дату:

date2.png

Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:

datepicker.jpg

Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата — лучше воспользоваться функцией СЕГОДНЯ (TODAY):

date3.png

Как Excel на самом деле хранит и обрабатывает даты и время

Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек — вкладка ЧислоОбщий), то можно увидеть интересную картинку:

date4.png

То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417

На самом деле любую дату Excel хранит и обрабатывает именно так — как число с целой и дробной частью. Целая часть числа (41209) — это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)

Из всех этих фактов следуют два чисто практических вывода:

  • Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем!  ;)
  • Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они — числа! А вот это уже раскрывает перед пользователем массу возможностей.

Количество дней между двумя датами

Считается простым вычитанием — из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:

date5.png

Количество рабочих дней между двумя датами

Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):

date6.png

Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).

Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж.

Про то, как это правильно вычислять, лучше почитать тут.

Сдвиг даты на заданное количество дней

Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.

Сдвиг даты на заданное количество рабочих дней

Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.

Вычисление дня недели

Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.

date7.png

Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).  

Вычисление временных интервалов

Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.

Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:

date8.png

Ссылки по теме

  • Как вычислять возраст (стаж) в полных годах-месяцах-днях
  • Как сделать выпадающий календарь для быстрого ввода любой даты в любую ячейку.
  • Автоматическое добавление текущей даты в ячейку при вводе данных.
  • Как вычислить дату второго воскресенья февраля 2007 года и т.п.

Интервалы дат в Excel – функции обработки

Дорогие друзья, в предыдущих постах мы рассмотрели, что такое дата и время в Эксель, как разложить дату на составляющие и собрать её обратно из дня, месяца и года. То есть, мы работали с одной датой. Пора нам теперь поработать и с интервалами дат. В этом посте – распространенные функции обработки временных отрезков. Разберитесь в работе этих функций, и вы уже почти на коне!

Как прибавить несколько месяцев к дате Эксель

В посте о сборе данных из компонент, мы рассматривали пример получения даты, отстоящей от заданной на определенное количество месяцев.

Например, чтобы прибавить к дате в ячейке А1 пять месяцев, мы использовали формулу: =ДАТА(ГОД(А1);МЕСЯЦ(А1)+5;ДЕНЬ(А1)) . На самом деле, есть более простой и наглядный способ выполнить эту операцию – используем функцию ДАТАМЕС(Дата ; Количество_месяцев) .

У функции два обязательных аргумента :

  • Дата – исходная дата, к которой будем прибавлять заданное количество месяцев
  • Количество месяцев – число месяцев, которое нужно прибавить к дате. Если нужно вычесть месяца – укажите отрицательное число

Приведенный выше пример можно решить с помощью простой формулы: =ДАТАМЕС(А1;5) . Согласитесь, такая запись короче и легче для восприятия.

Как определить день недели в Excel

Часто нужно знать – какой день недели был (будет) в определенную дату. Как бы вы решали такую задачу? Вручную сложно, если нужно обработать несколько десятков, сотен, тысяч дат.

Воспользуйтесь функцией ДЕНЬНЕД(Дата ; Тип) . Она возвращает порядковый номер дня недели и имеет два аргумента :

  1. Дата, для которой нужно определить день недели – обязательный аргумент
  2. Тип – необязательный параметр, который указывает какой день недели считать первым. Например, в странах восточной Европы первый день недели – понедельник, в США – воскресенье. В любом случае, формула может считать первым днем любой день недели. Если аргумент не указан – первым днем считается воскресенье. При записи формулы – Excel выведет подсказку с перечнем возможных параметров

Функция ДЕНЬНЕД в Эксель

Когда вы получили порядковый номер дня недели, можно использовать, например, функцию условия ЕСЛИ для присвоения ему текстового имени, или обработать как-то иначе.

Как определить количество дней между датами в Эксель

Нет ничего проще, чем определить количество дней между датами. Просто вычтите более позднюю дату из ранней. Например, в ячейке А1 – дата начала работы над проектом, а в А2 – дата сдачи проекта. Тогда количество дней между ними можно посчитать так: =А2-А1 .

Эту же процедуру можно выполнить с помощью функции ДНИ(Конечная дата ; Начальная дата) . Видимой разницы между первым и вторым способами нет, они возвращают одинаковые результаты. Пользуйтесь этими способами ими по ситуации.

Как посчитать долю от года в Microsoft Excel

Если вам известен некий период, и нужно знать, какую часть календарного года он занимает, используйте функцию ДОЛЯГОДА(Начальная_дата ; Конечная_дата; Базис) . Как видите, у функции 3 агрумента :

  1. Начальная дата – дата старта изучаемого периода – обязательный аргумент
  2. Конечная дата – дата окончания период – обязательный аргумент
  3. Базис – базовые значения длительности года. При введении параметра программа выведет подсказку по выбору этого аргумента.

Например, проект начался 10.08.2015 и закончился 08.05.2016. Чтобы определить долю периода от календарного года, запишем формулу: =ДОЛЯГОДА(«10.08.2015″;»08.05.2016»;1) . Получим результат 0,7432. Отформатируем его в процентном формате и получим 74% года.

Как получить последний день месяца

Чтобы получить дату последнего дня месяца – используйте функцию КОНМЕСЯЦА(Дата ; Количество_месяцев) . Эта функция возвращает последний день заданной даты, или отстоящей от нее на определенное количество месяцев. Она использует 2 обязательных аргумента :

  • Дата – базовый день месяца, к которому нужно прибавить месяца и вывести последний итогового месяца
  • Количество месяцев – сколько месяцев нужно прибавить к дате. Укажите этот параметр равным нулю, если хотите получить последний день месяца, заданного в аргументом «Дата».

Как узнать номер недели в году

Если у вас есть дата, и вам нужно узнать порядковый номер этой недели в году, используйте функцию НОМНЕДЕЛИ(Дата;Базис):

  • Аргумент «Дата» — это ваша дата, которая принадлежит к искомой неделе (обязательный аргумент)
  • Базис – необязательный аргумент, указывающий какой день недели считается первым. По умолчанию для функции – это воскресенье.

Этими функциями вы будете широко пользоваться при работе с датами. Важно знать все их, ведь желанный результат часто достигается комбинированием нескольких функций. Так что, не останавливайтесь и читайте дальше о функциях работы с датами. Тем более, следующий пост будет посвящен функциям подсчета рабочих дней. Вы должны изучить их обязательно, ведь в Excel нет других способов считать рабочие дни, кроме этих функций. Возвращайтесь!

Вам так же может быть интересно:

Вычисление разности двух дат

В этом курсе:

Используйте функцию РАЗНДАТ, если требуется вычислить разницу между двумя датами. Сначала введите дату начала в ячейку и дату окончания в другой. Затем введите формулу, например одну из указанных ниже.

Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!

Разница в днях

В этом примере Дата начала находится в ячейке D9, а Дата окончания — в E9. Формула будет показана на F9. «D» возвращает число полных дней между двумя датами.

Разница в неделях

В этом примере Дата начала находится в ячейке D13, а Дата окончания — в E13. «D» возвращает число дней. Но обратите внимание на то, что в конце есть /7 . Это делит количество дней на 7, так как в неделю есть 7 дней. Обратите внимание, что этот результат также необходимо отформатировать как число. Нажмите клавиши CTRL + 1. Затем щелкните число ,> десятичных разрядов: 2.

Разница в месяцах

В этом примере Дата начала находится в ячейке D5, а Дата окончания — в ячейку «вниз». В формуле «м» возвращает число полных месяцев между двумя днями.

Разница в годах

В этом примере Дата начала находится в ячейке D2, а Дата окончания — в E2. «Y» возвращает число полных лет между двумя днями.

Вычисление возраста в накопленных годах, месяцах и днях

Вы также можете рассчитать возраст или время обслуживания других пользователей. Результат может быть похож на «2 года», «4 месяца», «5 дней» «.

1. Используйте РАЗНДАТ для поиска общего числа лет.

В этом примере Дата начала находится в ячейке D17, а Дата окончания — в E17. В формуле «y» возвращает число полных лет между двумя днями.

2. для поиска месяцев используйте РАЗНДАТ еще раз, указав «ГМ».

В другой ячейке используйте формулу РАЗНДАТ с параметром «ГМ» . «ГМ» возвращает число оставшихся месяцев после последнего полного года.

3. Используйте другую формулу для поиска дней.

Теперь нужно найти количество оставшихся дней. Это можно сделать, написав формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Предупреждение: Мы не рекомендуем использовать аргумент РАЗНДАТ «MD», так как он может вычислять неверные результаты.

4. необязательно: Объедините три формулы в одну.

Вы можете разместить все три вычисления в одной ячейке, как показано в этом примере. Использование амперсандов, кавычек и текста. Это более длинная формула для ввода, но по крайней мере все это в одной из них. Совет. Нажмите клавиши ALT + ВВОД, чтобы разместить разрывы строк в формуле. Это упрощает чтение. Кроме того, если вы не видите формулу целиком, нажмите клавиши CTRL + SHIFT + U.

Скачивание примеров

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

Другие расчеты даты и времени

Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и конечной датой. Однако вместо ввода определенных дат можно также использовать функцию Today () в формуле. При использовании функции TODAY () Excel использует текущую дату на компьютере. Имейте в виду, что при повторном открытии файла в будущем этот файл изменится.

Обратите внимание на то, что на момент написания статьи день – 6 октября 2016 г.

Используйте ЧИСТРАБДНИ. INTL, если требуется вычислить количество рабочих дней между двумя датами. Кроме того, вы можете также исключить выходные и праздничные дни.

Прежде чем начать, выполните указанные ниже действия.Решите, нужно ли исключить даты праздников. Если это так, введите список дат праздников в отдельную область или на лист. Каждый день праздников помещается в отдельную ячейку. Затем выделите эти ячейки, а затем выберите формулы > задать имя. Назовите диапазон михолидайси нажмите кнопку ОК. Затем создайте формулу, выполнив указанные ниже действия.

1. Введите дату начала и дату окончания.

В этом примере Дата начала находится в ячейке D53, а Дата окончания — в ячейке E53.

2. в другой ячейке введите формулу, например:

Введите формулу, например приведенный выше пример. 1 в формуле определяет «Суббота» и «воскресенье» в качестве выходных дней и исключает их из итогового значения.

Примечание. в Excel 2007 нет ЧИСТРАБДНИ. МЕЖД. Однако у него есть ЧИСТРАБДНИ. Приведенный выше пример будет выглядеть следующим образом в Excel 2007: = ЧИСТРАБДНИ (D53, E53). Вы не укажете 1, так как ЧИСТРАБДНИ предполагает, что выходные дни — суббота и воскресенье.

3. при необходимости измените значение 1.

Если Суббота и воскресенье не являются выходными днями, измените значение 1 на другой в списке IntelliSense. Например, 2 устанавливает воскресенье и понедельник в выходные дни.

Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходные дни — суббота и воскресенье.

4. Введите имя диапазона праздников.

Если вы создали имя диапазона праздников в приведенном выше разделе «Начало работы», введите его в конце, как показано ниже. Если у тебя нет праздников, вы можете покинуть запятую и Михолидайс. Если вы используете Excel 2007, вышеприведенный пример будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, михолидайс).

ПероЕсли вы не хотите ссылаться на имя диапазона праздников, вы также можете ввести диапазон, например D35: E:39. Кроме того, вы можете ввести каждый праздник в формуле. Например, если праздничные дни – 1 января и 2 из 2016, введите их следующим образом: = ЧИСТРАБДНИ. Межд (D53, E53, 1, <«1/1/2016», «1/2/2016»>). В Excel 2007 оно будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, <«1/1/2016», «1/2. 2016″>)

Чтобы вычислить затраченное время, можно вычесть один раз из другого. Сначала введите время начала в ячейке и время окончания в другой. Убедитесь в том, что все время, в том числе часы, минуты и пробелы, заполните до полудня или PM. Вот что нужно для этого сделать:

1. Введите время начала и время окончания.

В этом примере время начала находится в ячейке D80, а время окончания — в E80. Убедитесь, что вводите часы, минуты и пробелы перед символами AM и PM.

2. Установите формат ч/PM.

Выберите обе даты и нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Убедитесь, что выбрано значение » настраиваемый > ч. д., если оно еще не задано.

3. вычитание двух значений.

В другой ячейке вычитаете начальную ячейку из ячейки «время окончания».

4. Задайте формат ч.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите «пользовательские >», чтобы исключить из него результаты «AM» и «PM».

Чтобы вычислить время между двумя датами и временем, вы можете просто вычесть один из них. Однако вы должны применить форматирование к каждой ячейке, чтобы убедиться, что Excel возвращает нужный результат.

1. Введите два полных значения даты и времени.

В одной ячейке введите дату и время начала. В другой ячейке введите дату и время полного окончания. Каждая ячейка должна иметь месяц, день, год, час, минуту и пробел до полудня или PM.

2. Задайте формат 3/14/12 1:30 PM.

Выберите обе ячейки, а затем нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Затем выберите дата > 3/14/12 1:30 PM. Это не Дата, которую вы настроили, а вот только пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может иметь другой образец даты, например 3/14/ 01 1:30 PM.

3. вычитание двух значений.

В другой ячейке вычитаете дату и время начала из даты и времени окончания. Результат, скорее всего, будет выглядеть как число и десятичное значение. Это будет исправлено на следующем этапе.

4. Задайте формат [h]: мм.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле тип введите [h]: мм.

Статьи по теме

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Вычисление разности дат в Microsoft Excel

Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.

Расчет количества дней

Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.

    Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.

Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.

Способ 1: простое вычисление

Проще всего вычислить разность дней между датами с помощью обычной формулы.

  1. Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.

Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.

Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».

В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).

Способ 2: функция РАЗНДАТ

Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:

«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:

  • «y» — полные года;
  • «m» — полные месяцы;
  • «d» — дни;
  • «YM» — разница в месяцах;
  • «MD» — разница в днях (месяцы и годы не учитываются);
  • «YD» — разница в днях (годы не учитываются).

Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.

Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.

    Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.

  • Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.
  • Способ 3: вычисление количеств рабочих дней

    В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:

    В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».

    Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».

      Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».

    Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».

  • Открывается окно аргументов функции. Вводим в соответствующие поля дату начала и конца периода, а также даты праздничных дней, если таковые имеются. Жмем на кнопку «OK».
  • После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.

    Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Функции для работы с датами в Excel: примеры использования

    Для работы с датами в Excel в разделе с функциями определена категория «Дата и время». Рассмотрим наиболее распространенные функции в этой категории.

    Как Excel обрабатывает время

    Программа Excel «воспринимает» дату и время как обычное число. Электронная таблица преобразует подобные данные, приравнивая сутки к единице. В результате значение времени представляет собой долю от единицы. К примеру, 12.00 – это 0,5.

    Значение даты электронная таблица преобразует в число, равное количеству дней от 1 января 1900 года (так решили разработчики) до заданной даты. Например, при преобразовании даты 13.04.1987 получается число 31880. То есть от 1.01.1900 прошло 31 880 дней.

    Этот принцип лежит в основе расчетов временных данных. Чтобы найти количество дней между двумя датами, достаточно от более позднего временного периода отнять более ранний.

    Пример функции ДАТА

    Построение значение даты, составляя его из отдельных элементов-чисел.

    Синтаксис: год; месяц, день.

    Все аргументы обязательные. Их можно задать числами или ссылками на ячейки с соответствующими числовыми данными: для года – от 1900 до 9999; для месяца – от 1 до 12; для дня – от 1 до 31.

    Если для аргумента «День» задать большее число (чем количество дней в указанном месяце), то лишние дни перейдут на следующий месяц. Например, указав для декабря 32 дня, получим в результате 1 января.

    Пример использования функции:

    Зададим большее количество дней для июня:

    Примеры использования в качестве аргументов ссылок на ячейки:

    Функция РАЗНДАТ в Excel

    Возвращает разницу между двумя датами.

    • начальная дата;
    • конечная дата;
    • код, обозначающий единицы подсчета (дни, месяцы, годы и др.).

    Способы измерения интервалов между заданными датами:

    • для отображения результата в днях – «d»;
    • в месяцах – «m»;
    • в годах – «y»;
    • в месяцах без учета лет – «ym»;
    • в днях без учета месяцев и лет – «md»;
    • в днях без учета лет – «yd».

    В некоторых версиях Excel при использовании последних двух аргументов («md», «yd») функция может выдать ошибочное значение. Лучше применять альтернативные формулы.

    Примеры действия функции РАЗНДАТ:

    В версии Excel 2007 данной функции нет в справочнике, но она работает. Хотя результаты лучше проверять, т.к. возможны огрехи.

    Функция ГОД в Excel

    Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.

    Пример использования функции ГОД:

    Функция МЕСЯЦ в Excel: пример

    Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.

    Примеры использования функции МЕСЯЦ:

    Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel

    Возвращает день как целое число (от 1 до 31) для заданной в числовом формате даты. Аргумент – дата дня, который нужно найти, в числовом формате.

    Чтобы вернуть порядковый номер дня недели для указанной даты, можно применить функцию ДЕНЬНЕД:

    По умолчанию функция считает воскресенье первым днем недели.

    Для отображения порядкового номера недели для указанной даты применяется функция НОМНЕДЕЛИ:

    Дата 24.05.2015 приходится на 22 неделю в году. Неделя начинается с воскресенья (по умолчанию).

    В качестве второго аргумента указана цифра 2. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).

    Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().

    Хитрости »

    18 Октябрь 2021              6832 просмотров


    Создать список дат(месяцев, кварталов, лет) на основании даты начала и окончания периода

    Скачать файл, используемый в видеоуроке:

      Список дат при помощи Power Query.xlsx (72,7 KiB, 405 скачиваний)


    Представим ситуацию, что у нас есть таблица следующего вида:
    Исходная таблица
    В ней перечислены клиенты, которые подписались на наш продукт(условно клиент А и клиент В). В качестве дат указаны дата начала подписки и дата окончания. И нам необходимо построить что-то вроде диаграммы Ганта, на которой будет видно в хронологическом порядке активность клиентов
    Результат - Диаграмма Ганта по каждому клиенту
    Т.е. по сути нам нужно создать даты из двух таким образом, чтобы на каждый день подписки была одна дата. Например, для клиента «А» с подпиской на журнал «За рулем» у нас должно получиться 115 строк дат, т.к. подписка длилась 115 дней(от 05.10.2020 до 27.01.2021). Проблема в том, что встроенных средств создания списка дат между двумя заданными датами в Power Query нет. Поэтому придется что-то изобретать.
    Загружаем данные нашей таблицы в редактор Power Query: выделяем таблицу -вкладка Данные(Data)(или Power Query) —Получить и преобразовать данные(Get & Transform Data)Из таблицы(From Table/Range).
    После того как загрузили таблицу в Power Query следует убедиться, что тип данных в столбцах «Дата подписки» и «Дата отказа» именно дата, а не дата и время или тем более не тип любой или текст. Для этого на каждом столбце щелкаем левой кнопкой мыши по значку слева от заголовка и выбираем «Дата»

    (Date)

    Сменить тип на дату
    Или выделяем сразу оба столбца с датами -вкладка Главная(Home) -группа Преобразование(Transform) -раскрываем список Тип данных(Data type) и выбираем Дата(Data).
    Далее, чтобы получить список дат для каждого клиента от одной даты до другой, необходимо использоваться функцию List. Идем на вкладку Добавление столбца(Add Column)Настраиваемый столбец(Custom column). В качестве имени запишем «Даты», а в качестве формулы следующее:

    List.Dates([Дата подписки], Duration.Days(Duration.From([Дата отказа]-[Дата подписки])) +1, #duration(1, 0, 0, 0))

    Формирование списка дат
    Подробнее про создание вычисляемых столбцов и просмотр функций в PowerQuery можно ознакомиться в этой статье: Вычисления в PowerQuery
    List.Dates – функция языка M, которая берет начальную дату и прибавляет к ней указанное кол-во дней, и все это выводит в виде списка(тип List). Для определения кол-ва дней мы используем обычное вычитание дат([Дата отказа]-[Дата продажи]), преобразуя при этом полученную разность в тип Длительность при помощи функции Duration.From, а далее в количество дней при помощи Duration.Days. Если этого не сделать, то можем получить ошибку несовпадения типов. После этого задаем шаг в днях, который нужно использовать для создания списка — #duration(1, 0, 0, 0). #duration(кол-во дней, кол-во часов, кол-во минут, кол-во секунд)
    Будет добавлен новый столбец, в котором для каждого товара каждого клиента будет создан список дат использования продукта. Остается лишь щелкнуть левой кнопкой мыши на значке разнонаправленных стрелок в заголовке созданного столбца и выбрать Развернуть в новые строки(Expand to New Rows):
    Развернуть в новые строки
    Полученный столбец со всеми датами преобразуем в тип Дата(вкладка Главная(Home) -группа Преобразование(Transform) -раскрываем список Тип данных(Data type) и выбираем Дата(Data).
    Если в дальнейшем мы планируем работать с результатом запроса в Excel через выгрузку в сводную таблицу(Главная(Home)Закрыть и загрузить(Close & Load)Отчет сводной таблицы(Pivot table report)), то на этом шаге можно сохранить и загрузить запрос и уже в сводной таблице просто поместить созданный столбец «Даты» в область Столбцов.
    Но если мы хотим развернуть эти даты в столбцы непосредственно через PowerQuery, то для начала необходимо отсортировать столбец с датами по возрастанию: жмем на значок стрелки в правом верхнем углу столбца и из раскрывающегося списка выбираем Сортировка по возрастанию(Sort Ascending):
    Сортировка дат по возрастанию
    После чего используем столбец сведения: выделяем созданный столбец дат -вкладка Преобразование(Transform)Столбец сведения(Pivot Column). В качестве Столбца значений(Values column) указываем столбец Дата подписки. Нажимаем кнопку Расширенные параметры(Advanced options) и в качестве Функции агрегированного значения(Aggregate Value Function) указываем Количество(все)(Count (All))
    Столбец сведения
    После этого можно удалить лишние столбцы (например, столбец «Дата отказа») и останется выгрузить данные на лист: Главная(Home)Закрыть и загрузить(Close & Load)Таблица(Table). Созданная таблица выгрузится на лист.
    В загруженном листе нам останется сделать форматирование, чтобы отметить только те ячейки, в которых у клиентов были активные подписки. Выделяем ячейки со значениями 0 и 1(те, что под датами) —Главная(Home)Условное форматирование(Conditional formatting)Правила выделения ячеек(Highlight Cells Rules)Равно(Equal To). Вписываем значение 1 и выбираем формат(если предустановленные форматы не подходят, то в раскрывающемся списке выбираем «Пользовательский формат»).
    А чтобы нам единички и нули не портили картину, мы опять выделим все ячейки с нулями и единичками -Правая кнопка мыши —Формат ячеек(Format cells) -вкладка Число(Number). Идем в самый низ –(все форматы)(Custom). Выставляем в поле тип такой формат: ;;;
    Теперь нули и единички видны не будут, а формат будет работать. В итоге добьемся нужного результата.


    Но что делать, когда надо отследить подписку не по дням, а по месяцам? Самый большой тип длительности, который поддерживает функция duration – это дни. Поэтому придется хитрить. Здесь функция

    List.Dates

    нам уже не поможет, т.к. построена именно на возможностях функции duration. Но мы можем использовать более гибкую функцию:

    List.Generate

    . Она способна создавать практически любые списки.
    Добавляем новый столбец(вкладка Добавление столбца(Add Column)Настраиваемый столбец(Custom column)). В качестве формулы запишем:

    let 
            start = [Дата продажи],
            end = [Дата отказа]
    in
            List.Generate(
                    ()=>[day=start],
                    each [day]<=end,
                    each [day=Date.AddMonths([day], 1)],
                    each [day]
                )

    А дальше все так же: щелкнуть левой кнопкой мыши на значке разнонаправленных стрелок —Развернуть в новые строки(Expand to New Rows). И при необходимости все это «перевернуть» в столбцы(алгоритм точно такой же, как описан выше для списка дат).
    Чуть подробнее про то, что мы записали в нашем созданном столбце:
    Let – здесь мы задаем дату начала и окончания для каждой строки списка. Можно сказать просто запоминаем их для дальнейшего использования.
    List.Generate – специальная функция, которой мы задаем начальное значение даты ( ()=>[day=start],); далее указываем условие по которому необходимо завершить цикл(each [day]<=end ) – т.е. на какой дате закончить создавать список; после этого указываем что именно делать внутри каждого шага цикла(each [day=Date.AddMonths([day], 1)]) – добавить один месяц и указываем, что проделывать это надо для каждого нового значения(each [day]).
    Т.е. функция берет дату начала как точку отсчета([day=start]), прибавляет к ней указанный интервал(Date.AddMonths([day], 1)]) и так до тех пор, пока новая дата не станет меньше или равна конечной([day]<=end). И на каждом шаге новая дата добавляется в итоговый список.
    На самом деле, для того, чтобы это использовать не надо особо вдумываться в процесс. Копи-паст никто не отменял 😊 Самое главное, на что здесь стоит обратить внимание, это функция Date.AddMonths. Она при каждом шаге цикла прибавляет к переменному значению day(которое начинается у нас с Даты продажи) по одному месяцу. Если нужен другой период(дни, недели, годы), то нужно просто подставить вместо AddMonths другую функцию. Вот возможные варианты:

    1. Date.AddDays – добавляет дни
    2. Date.AddWeeks – добавляет недели
    3. Date.AddMonths – добавляет месяцы(что мы и делали)
    4. Date.AddQuarters – добавляет кварталы
    5. Date.AddYears – добавляет годы

    ВАЖНО: Что надо помнить, если используем создание списка не под дням, а, например, по месяцам. Даты для месяцев у нас могут быть разные (например, в примере выше дата начала для клиента «А» 10.09.2020, а дата окончания — 07.02.2021). Это может привести к тому, что в каких-то строках могут пропасть последние месяцы. Решается это довольно просто: сразу после того, как загрузили данные и изменили тип столбцов на тип Дата(второй шаг запроса — перед добавлением пользовательского столбца), необходимо щелкнуть правой кнопкой мыши по столбцу дат -выбрать пункт Преобразование(Transform)Месяц(Month)Начало месяца(Start of Month). Это заставит нашу функцию вычислять интервалы по месяцам корректно. Точно такой же алгоритм и для других периодов: лет, недель, кварталов.

    Скачать файл:

      Список дат при помощи Power Query.xlsx (72,7 KiB, 405 скачиваний)

    Так же см.:
    Получить данные из файлов XML при помощи Power Query
    Как перейти к определенной строке таблицы в Power Query
    Относительный путь к данным PowerQuery
    Курс валют при помощи Power Query


    Статья помогла? Поделись ссылкой с друзьями!

      Плейлист   Видеоуроки


    Поиск по меткам

    

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    Skip to content

    3 примера, как функция ЕСЛИ работает с датами.

    На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно применять так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это не так.

    Примеры работы функции ЕСЛИ с датами.

    Дата в качестве условия, с которым работает функция ЕСЛИ, может быть записана в какую-то ячейку Excel, либо же прямо вставлена в формулу. Вот тут-то и возникают некоторые особенности и сложности работы функции ЕСЛИ с датами.

    Пример 1. Формула условия для дат с
    функцией ДАТАЗНАЧ (DATEVALUE)

    Иногда случается, что записать дату непосредственно в функцию ЕСЛИ, не ссылаясь ни на какую ячейку. В этом случае возникают некоторые сложности.

    В отличие от многих
    других функций Excel, ЕСЛИ не может распознавать даты и интерпретирует их как текст,
    как простые текстовые строки.

    Поэтому вы не можете выразить свое логическое условие просто как  >«15.07.2019» или же >15.07.2019. Увы, ни один из приведенных вариантов не верен.

    Чтобы функция ЕСЛИ распознала дату в вашем логическом условии именно как дату, вы должны обернуть ее в функцию ДАТАЗНАЧ (в английском варианте – DATEVALUE).

    Например, ДАТАЗНАЧ(«15.07.2019»).

    Полная формула ЕСЛИ может
    иметь следующую форму:

    =ЕСЛИ(B2<ДАТАЗНАЧ(«10.09.2019″),»Поступил»,»Ожидается»)

    Как показано на скриншоте,
    эта формула ЕСЛИ оценивает даты в столбце В и возвращает «Послупил», если дата
    поступления до 10 сентября. В противном случае формула возвращает «Ожидается».

    Пример 2. Формула условия для дат с
    функцией СЕГОДНЯ()

    В случае, когда даты записаны в ячейки таблицы Excel, применять ДАТАЗНАЧ нет необходимости.

    Если вы основываете свое условие на текущей дате, то можете взять функцию СЕГОДНЯ (в английском варианте — TODAY) в качестве аргумента функции ЕСЛИ.

    К примеру, сегодня — 9 сентября 2019 года.

    В столбце C отметим товар, который уже поступил. В ячейке C2 запишем:

    =ЕСЛИ(B2<СЕГОДНЯ(),»Поступил»,»»)

    В столбце D отметим товар, который еще не поступил. В ячейке D2 запишем:

    =ЕСЛИ(B2<СЕГОДНЯ(),»»,»Ожидается»)

    Пример 3. Расширенные
    формулы ЕСЛИ для будущих и прошлых дат

    Предположим, вы хотите
    отметить только те даты, которые отстоят от текущей более чем на 30 дней.

    Выделим даты, отстоящие более чем на месяц от текущей, в прошлом. Укажем для них «Более месяца назад». Запишем это условие:

    =ЕСЛИ(СЕГОДНЯ()-B2>30,»Более
    месяца назад»,»»)

    Если условие не выполнено, то в ячейку запишем пустую строку «».

    А для будущих дат, также отстоящих более чем на месяц, укажем «Ожидается».

    =ЕСЛИ(B2-СЕГОДНЯ()>30,»Ожидается»,»»)

    Если все результаты попробовать объединить в одном столбце, то придется составить выражение с несколькими вложенными функциями ЕСЛИ:

    =ЕСЛИ(СЕГОДНЯ()-B2>30,»Более месяца назад», ЕСЛИ(B2-СЕГОДНЯ()>30,»Ожидается»,»»))

    ЕСЛИ с датами

    Примеры работы функции ЕСЛИ:

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Выбранную ячейку в excel выделять цветом
  • Выборка значений в excel по максимальному значению
  • Выбранная ячейка формула excel
  • Выбрали наибольшее число в excel
  • Выборочные коэффициенты корреляции excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии