Очень полезной операцией в Excel вырезание отдельной определенной части даты. Благодаря этому мы можем фильтровать списки данных о заказах начиная с определенного месяца. Или фильтровать данные о сотрудниках магазина, которые торгуют в воскресенье. Для таких решений необходимо вырезать из даты месяц или номер дня недели.
Как вырезать отдельную часть даты в Excel и получить ГОД, МЕСЯЦ и ДЕНЬ?
Для вырезания частей из которых состоит дата Excel нам предлагает несколько простых, но полезных функций:
- ГОД – возвращает год из указанной даты.
- МЕСЯЦ – выбирает месяц из исходной даты.
- ДЕНЬ – позволяет получить число дня в месяце.
- ДЕНЬНЕД – функция возвращает номер дня недели по дате.
- НОМНЕДЕЛИ – позволяет получить номер недели в году для указанной даты.
Ниже на рисунке наглядно проиллюстрировано принцип работы всех выше описанных функций. Мы можем наблюдать как разделяется исходная дата, указанная в ячейке A2, на отдельные части:
Выше описанные функции абсолютно просты в использовании и применении.
Функция ГОД возвращает четырехзначное число определяющее год.
МЕСЯЦ – возвращает число от 1-го и до 12-ти, которое является номером месяца в году.
ДЕНЬ — так же возвращает число, только на этот раз от 1-го и до 31-го. Так определяется номер дня в месяце.
ДЕНЬНЕД – недели аналогично вернет нам номер дня в неделе от 1-го и до 7-ми. Важно отметить, что по умолчанию данная функция возвращает номера дней недели начиная с воскресенья и до субботы. То есть если это число 1 – это воскресенье, а если 2 – понедельник и т.д. Данная функция имеет еще опциональный аргумент для заполнения – «Тип_возвр:». С помощью него можно указать функции который день должен считаться первым днем недели. Поэтому во втором аргументе примера была использована цифра 2. Потому как по умолчанию для функции считается первым днем недели – воскресенье, так как в английском языке считаются дни: Sunday, Monday, Tuesday… В момент заполнения второго аргумента для функции ДЕНЬНЕД вручную, автоматически высвечивается подсказка с кодами возможных вариаций возможных значений для заполнения:
Примечание. Обратите внимание на рисунок и на значение числа 3 для второго аргумента. Можно указать чтобы дни недели считались от 0 – понедельник и до 6 – воскресенье. Такой метод возвращения чисел часто используется в программировании, где в 90% случаев нумерация начинается с нуля, а не с единицы.
Для некоторых специфических задач в Excel – это тоже может быть полезно, следует помнить о такой возможности функции ДЕНЬНЕД.
И наконец функция НОМНЕДЕЛИ возвращает номер недели для исходной даты. Например, високосный год где 366 дней (одни раз в четыре года) и невисокосный, обычный год (где 365) имеют одинаковое количество полных недель в году – 52.
Так как номер считается и для неполных недель следует отнимать единицу в формуле. Начало января чаще всего является последней неделей предыдущего года.
В некоторых високосных годах начало года припадает на субботу, а конец года припадает на воскресенье (1 раз в 28 или 1 раз в 40 лет), например, как в 2028-мом году.
Поэтому могут следует воспользоваться такой формулой:
НОМНЕДЕЛИ так же имеет второй необязательны для затопления аргумент со своим списком годов:
Во втором опциональном аргументе следует указать с какого дня начинается неделя в году для исходной даты.
Интересный факт. Каждый невисокосный год начинается и заканчивается в один и тот же день. Например: 01.01.2018 и 31.12.2018 это понедельники. А каждый високосный год начинается в один, а заканчивается в следующий. Например: 01.01.2020 – среда, а 31.12.2020 – четверг.
dalasxz Пользователь Сообщений: 4 |
Добрый день! Задача: посчитать количество часов в каждом месяце, но так как период «конец» выходит за рамки одного месяца, то вижу решение написать макрос, который разобьет строчку, на две с разбивкой месяца и времени (столбец «Время» это общая сумма данного периода «начало»-«конец») и текущую строчку удалит. По сути мне надо обработать таблицу, чтобы потом спокойно сделать «сводную таблицу по количеству времени по месяцам» Заранее благодарен!
|
|||||||||||||||||||||||||||||||||||
vikttur Пользователь Сообщений: 47199 |
#2 17.06.2018 20:04:09
У Вас есть… |
||
skais675 Пользователь Сообщений: 2178 |
Вам какое время? Просто или рабочее, или с учётом выходных? Вы там посчитали по 8 часов в сутки. |
dalasxz Пользователь Сообщений: 4 |
Да, там по 8 часов, учет дней нужен фактический. Прикрепленные файлы
Изменено: dalasxz — 17.06.2018 22:05:21 |
skais675 Пользователь Сообщений: 2178 |
#5 17.06.2018 20:56:19 Так что ли?
Прикрепленные файлы
Изменено: skais675 — 17.06.2018 20:57:56 Мой канал |
||
dalasxz Пользователь Сообщений: 4 |
Да, для примера верно: Было:
Стало:
Потом начало можно превратить в месяц без дат и сделать сводную таблицу. |
|||||||||||||||||||||||||
skais675 Пользователь Сообщений: 2178 |
#7 17.06.2018 21:17:04 пример(10)2.xlsm (20.99 КБ) Тогда так, разбивает по дням.
Мой канал |
||
dalasxz Пользователь Сообщений: 4 |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#9 17.06.2018 21:31:01 dalasxz, запомните: кнопка цитирования не для ответа! |
разбить сумму по месяцам на заданный период |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Вы когда-нибудь пытались разбить ячейку даты на три столбца с отдельными днем, месяцем и годом, как показано ниже? Вы можете ввести день, месяц и год вручную, но если нужно разбить сотни дат, вы можете выбрать один из быстрых трюков, чтобы решить эту проблему в Excel из приведенного ниже руководства.
Разделить дату на три столбца — день, месяц и год с формулами
Разделить дату на три столбца — день, месяц и год с текстом в столбец
Быстро разделить дату на день месяц год с Kutools for Excel
Преобразование даты только в месяц и год или только в месяц и день с Kutools for Excel
В Excel вы можете использовать приведенные ниже простые формулы для извлечения дня, месяца или года только из ячейки даты.
1. Выберите ячейку, например, C2, введите эту формулу = ДЕНЬ (A2), нажмите Enter, В день опорной ячейки извлекается.
2. И перейдите к следующей ячейке, например D2, введите эту формулу = МЕСЯЦ (A2), нажмите Enter чтобы извлечь месяц только из ссылочной ячейки.
3. Щелкните следующую ячейку, E2, введите эту формулу = ГОД (A2), и нажмите Enter key извлекается год ссылочной ячейки.
4. Затем выберите ячейки дня, месяца и года, в данном случае C2: E2, и перетащите маркер автозаполнения вниз, чтобы заполнить формулы в нужные ячейки. Смотрите скриншот:
Наконечник: В приведенных выше формулах A2 — это ячейка даты, которую вы хотите разделить на день, месяц и год.
В Excel вы также можете использовать функцию Text to Column, чтобы разделить дату столбца на три столбца с днем, месяцем и годом.
1. Выберите столбец даты, исключая заголовок, если он не имеет заголовка, и щелкните Данные > Текст в столбцы. Смотрите скриншот:
2. Проверьте разграниченный вариант в Мастер преобразования текста в столбцы — шаг 1 из 3, см. снимок экрана:
3. Нажмите Далее> идти на Шаг 2 из 3, и проверьте Другое вариант только в Разделители раздел и введите разделитель / в следующее текстовое поле. Смотрите скриншот:
4. Продолжайте нажимать Далее> , чтобы перейти к Шаг 3 из 3, и щелкните, чтобы выбрать ячейку для вывода разделенных данных.
5. Нажмите Завершить, а столбец даты разделен на три столбца с днем, месяцем и годом.
Быстро разделить дату на день месяц год с Kutools for Excel
Если у вас есть Kutools for Excel, всего за 3 шага, вы можете быстро разделить ячейки даты на день, месяц и год в отдельной ячейке с его Разделить клетки утилита.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите даты, которые хотите разделить, нажмите Кутулс > Текст > Разделить клетки.
2. в Разделить клетки диалог, проверьте Разделить на столбцы флажок, затем установите флажок Другое in Разделить на раздел, тип / в следующее текстовое поле.
3. Нажмите Ok и выберите ячейку для размещения разделенных данных, затем щелкните OK.
Теперь даты разделены на день, месяц и год.
Функции: Если вы хотите разделить дату в порядке дня, месяца, года, вы можете сначала отформатировать ячейки как дд / мм / гггг, а затем применить утилиту «Разделить ячейки».
В другом случае, если вы хотите преобразовать дату только в месяц и год или в месяц и год, как показано на скриншотах ниже, вы можете использовать Kutools for ExcelАвтора Применить Дата Fорматинг утилита для быстрого выполнения этой работы.
Преобразование даты только в месяц и день
Преобразование даты только в год и месяц
.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите дату, необходимую для преобразования, и нажмите Кутулс > Формат > Применить форматирование даты. Смотрите скриншот:
2. Затем в Применить форматирование даты диалоговое окно, выберите 03/2001 чтобы преобразовать дату только в месяц и год, и выберите 3/14 чтобы преобразовать дату только в месяц и день, и вы можете просмотреть результаты в предварительный просмотр панель. Смотрите скриншот:
3. Нажмите Ok or Применить, и все даты преобразуются в нужный вам формат.
Вы можете быть заинтересованы в
- Как создать календарь на месяц / год в Excel?
- Как быстро добавить часы / минуты / секунды к дате и времени в Excel?
- Как сгенерировать случайную дату буднего или выходного дня в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
0 / 0 / 0 Регистрация: 06.04.2015 Сообщений: 51 |
|
1 |
|
Разбиение периода дат на составляющие13.09.2019, 05:12. Показов 2159. Ответов 3
Всем привет. Не могу понять, как можно растянуть диапазон дат на составляющие… Есть, например, данные в ячейке «2000-2005». Нужно в результате получить «2000,2001,2002,2003,2004,2005». Понимаю, что это работа с символами, но вот как реализовать без ошибок…
0 |
370 / 268 / 93 Регистрация: 18.11.2015 Сообщений: 990 |
|
13.09.2019, 08:58 |
2 |
В первой строке формулой, во второй по нажатию кнопки макросом
0 |
2632 / 1637 / 745 Регистрация: 23.03.2015 Сообщений: 5,149 |
|
13.09.2019, 10:59 |
3 |
ArtNord,
Нужно в результате получить «2000,2001,2002,2003,2004,2005». Добавьте ему еще и этот вариант
0 |
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
13.09.2019, 16:45 |
4 |
|||
При желании, можно сделать так, чтобы UDF возвращала результат и при обработке «2019 — 2005»
0 |
При обработке данных даты в Excel вам часто нужно будет сделать запрос на разделение даты, месяца, года на три разных столбца или перенести дату, месяц, год рождения с числа на букву. Чтобы заняться любовью Этот мост очень прост, мы будем использовать основные функции Excel, такие как функция ГОД, функция ДЕНЬ и объединение функций времени для преобразования времени в текст. В следующей статье показано, как разделить день, месяц и год на 3 отдельных столбца и преобразовать время в буквы.
- Как преобразовать последовательность чисел в даты в Excel
- Как посчитать количество дней в Excel
- Как разделить тысячи запятыми в Excel
1. Разделите день, месяц и год в Excel на 3 отдельных столбца.
Вводим даты в таблицу Excel. Чтобы выделить дату в отдельный столбец в столбце «Дата», в ячейке C2 введите формулу = ДЕНЬ (B2) и нажмите Enter.
Тогда мы получим результат в виде отдельной даты. Перетащите результаты первой ячейки в оставшиеся ячейки в столбце «Дата», чтобы отобразить результаты.
В столбце Месяц введите формулу = МЕСЯЦ (B2) и также нажмите Enter, чтобы выполнить формулу.
Результат в первой ячейке также вытягивает остальные ячейки, чтобы отобразить полный столбец «Месяц».
Затем в первой ячейке столбца введите формулу = ГОД (B2) и нажмите Enter, чтобы продолжить.
И результаты также будут разделены в столбце Год, как показано.
Обратите внимание на читателя, если вы используете функцию ДЕНЬ, которая сообщает, что ошибка # ЗНАЧЕН связана с отклонением формата даты на компьютере от даты в Excel. Прочтите следующую статью, чтобы исправить ошибки.
- Как исправить ошибку даты # ЗНАЧЕНИЕ в Excel
2. Преобразуйте дату, месяц и год из числа в Excel.
В поле, которое вы хотите изменить дату, месяц, год с числа на букву, вы вводите формулу = ‘date’ & DAY (B2) & ‘month’ & MONTH (B2) & ‘year’ & YEAR (B2) как показано ниже, затем нажмите Enter.
В результате мы получим количество дней прописью, как показано ниже.
Операция разделения времени в Excel на отдельные столбцы не представляет сложности для пользователей. Вам просто нужно ввести формулу ДЕНЬ, МЕСЯЦ и ГОД для каждого столбца времени отдельно.
Как в Excel разбить ячейку на две или несколько? Как разделить слова по ячейкам?
Электронные таблицы – незаменимый инструментарий для четкого преподнесения информации. При работе с.
Как разъединить ячейки в Excel
- открывает книгу с рабочим листом;
- выделяет соседние объекты;
- переходит на вкладку «Главная»;
- в инструментарии приложения находит «Выравнивание»;
- при щелчке на кнопку выбирает «Объединить и поместить в центре».
- выделяет 2 соседних колонки;
- выбирает «Объединить по строкам» в меню кнопки;
- выделяет ячейку для разбиения;
- активирует «Отменить объединение».
- Вызывает меню «Формат ячеек» (одним из способов): посредством правой кнопкой мыши; находит кнопку «Граница» и щелкает на указатель, выбирая «Другие границы «; кликает на стрелку в области «Шрифт», переходит на вкладку «Граница»; пользуется «горячим» сочетанием CTRL+1.
- При появлении диалогового окна на вкладке «Граница» кликает на диагональные линии у блока «Надпись».
- Подтверждает действие через нажатие на «ОК».
- Переходит на вкладку «Вставка».
- В области «Иллюстрации» кликает на кнопку «Фигуры».
- Выбирает инструмент «Линия».
- Проводит линию по намеченному образцу.
- Выделяет секцию с большим объемом информации.
- Открывает диалоговое окно по переносу строки по одному из способов: находит на панели инструментов вкладки «Главная» в блоке «Выравнивание» стрелку в нижнем правом углу и нажимает на нее; нажимает CTRL+1 и переходит на вкладку «Выравнивание»; находит на панели инструментов вкладки «Главная» в блоке «Выравнивание» кнопку «Перенос текста»; кликает на стрелку у кнопки «Выравнивание»;
- В блоке «Отображение» ставит галочку «Переносить по словам».
- Подтверждает действие посредством «ОК».
- выделения диапазона ячеек, которые нужно разделить;
- Замечание: разбиение секции приводит к стиранию информации в соседних клетках, поэтому для проведения операции нужно очистить пространство;
- перехода на вкладку «Данные» в блок «Работа с данными»;
- нажатия на кнопку «Текст по столбцам»;
- при появлении диалогового окна «Мастер распределения текста по столбцам» идентификации и проставления переключателя;
- в блоке «Образец разбора данных» просмотра предполагаемого результата;
- переопределения формата для новых колонок в окне «Формат данных столбца».
Как разделить дату по столбцам в Excel?
Выделите ячейку или столбец с текстом, который вы хотите разделить. На вкладке Данные нажмите кнопку Текст по столбцам . В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее . Выберите разделители для своих данных.
Как убрать время из даты в Эксель?
- 1, Выберите ячейки, для которых нужно удалить время, и щелкните правой кнопкой мыши, чтобы отобразить контекстное меню, и выберите Формат ячеек. .
- в Формат ячеек диалоговое окно, выберите Время из Категория список и выберите один тип даты, как вам нужно, из правого раздела.
Как выделить время из даты в Excel?
Извлечь время только из даты и времени с помощью формулы
= ВРЕМЯ (ЧАС (A1); МИНУТА (A1); СЕКУНДА (A1)) (A1 — первая ячейка списка, из которого вы хотите извлечь время), нажмите Enter и перетащите маркер заполнения, чтобы заполнить диапазон.
Как разбить ячейку на две?
- В таблице щелкните ячейку, которую нужно разделить.
- Перейдите на вкладку макет.
- В группе Объединение нажмите кнопку Разделить ячейки.
- В диалоговом окке Разделенные ячейки выберите нужное количество столбцов и строк и нажмите кнопку ОК.
Как разделить текст в Excel с помощью формулы?
Если необходимо разделить текст по столбцам с использованием формулы, воспользуйтесь функциями =ПСТР() и =НАЙТИ(). Где функция Найти будет находить кол-во символов до пробела, а функция =ПСТР() возвращать это кол-во символов.
Как написать несколько строк в одной ячейке?
При необходимости ввода в одну ячейку двух или более строк текста, начните ввод текста и в конце строки нажмите сочетание клавиш [Alt] + [Enter]. После этого в этой же ячейке можно начинать вторую строку текста.
Как извлечь месяц и год из даты в Excel?
- Введите формулу: = ТЕКСТ (A2; «ммм-гггг») в пустую ячейку помимо ваших данных, например, C2, см. .
- Затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и из столбца даты были извлечены только месяц и год, см. .
- Ноты:
Как Эксель работает с датами?
Функция ДАТА() в MS EXCEL. Функция ДАТА(), английский вариант DATE(), возвращает целое число, представляющее определенную дату. Формула =ДАТА(2011;02;28) вернет число 40602. Если до ввода этой формулы формат ячейки был задан как Общий, то результат будет отформатирован как дата, т.
Как разделить дату по столбцам?
- Выделите ячейку или столбец с текстом, который вы хотите разделить.
- На вкладке Данные нажмите кнопку Текст по столбцам.
- В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
- Выберите разделители для своих данных. .
- Нажмите кнопку Далее.
Как в таблице разделить столбцы?
- Выделите одну или несколько ячеек, которые требуется разделить.
- В группе Работа с таблицами на вкладке Макет в группе Слияние выберите команду Разделить ячейки.
- Введите число столбцов и строк, на которое следует разбить выделенные ячейки.
Как в Excel разделить текст в одной ячейке на две строки?
Чтобы разбить текст на строки в одной ячейке Excel нужно нажать комбинацию клавиш Alt+Enter.
Как делить числа в столбце в Excel?
Предположим, вам нужно разделить каждую ячейку в столбце из семи чисел на число, которое содержится в другой ячейке. В этом примере число, на которые нужно разделить, составляет 3, содержалось в ячейке C2. В ячейке B2 введите =A2/$C$2. Не забудьте в формуле включить символ $ перед символами C и 2.
17 авг. 2022 г.
читать 2 мин
Вы можете использовать следующую формулу в Excel для преобразования дней в месяцы:
=( B1 - A1 )/(365/12)
Эта формула вычисляет количество месяцев между ячейкой B1 (дата окончания) и ячейкой A1 (дата начала).
В следующем примере показано, как использовать эту формулу на практике.
Пример: преобразование дней в месяцы в Excel
Предположим, у нас есть следующий список дат начала и окончания в Excel:
Мы могли бы использовать следующую формулу для расчета количества дней между каждой датой начала и окончания:
B2 - A2
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:
Столбец C показывает разницу (в днях) между каждой датой начала и окончания.
Однако вместо этого мы могли бы использовать следующую формулу для расчета разницы между каждой датой начала и окончания в месяцах:
=( B2 - A2 )/(365/12)
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:
Столбец C показывает количество месяцев (включая десятичные разряды) между каждой датой начала и окончания.
Например:
- Между 01.01.2020 и 18.01.2020 0,5589 месяца.
- Между 01.02.2020 и 05.04.2020 2,1041 месяца.
- Между 01.03.2020 и 06.03.2020 0,1644 месяца.
И так далее.
Обратите внимание, что вместо этого вы можете использовать эту формулу для расчета количества месяцев между двумя датами, если вы хотите предположить, что 30 дней представляют собой средний месяц:
=( B2 - A2 )/30
Однако это не так точно, как использование (365/12) в качестве знаменателя в формуле.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как рассчитать разницу между двумя датами в Excel
Как фильтровать даты по месяцам в Excel
Как сгруппировать данные по месяцам в Excel
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
Хитрости »
18 Октябрь 2021 6876 просмотров
Создать список дат(месяцев, кварталов, лет) на основании даты начала и окончания периода
Скачать файл, используемый в видеоуроке:
Список дат при помощи Power Query.xlsx (72,7 KiB, 407 скачиваний)
Представим ситуацию, что у нас есть таблица следующего вида:
В ней перечислены клиенты, которые подписались на наш продукт(условно клиент А и клиент В). В качестве дат указаны дата начала подписки и дата окончания. И нам необходимо построить что-то вроде диаграммы Ганта, на которой будет видно в хронологическом порядке активность клиентов
Т.е. по сути нам нужно создать даты из двух таким образом, чтобы на каждый день подписки была одна дата. Например, для клиента «А» с подпиской на журнал «За рулем» у нас должно получиться 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 другую функцию. Вот возможные варианты:
- Date.AddDays – добавляет дни
- Date.AddWeeks – добавляет недели
- Date.AddMonths – добавляет месяцы(что мы и делали)
- Date.AddQuarters – добавляет кварталы
- Date.AddYears – добавляет годы
ВАЖНО: Что надо помнить, если используем создание списка не под дням, а, например, по месяцам. Даты для месяцев у нас могут быть разные (например, в примере выше дата начала для клиента «А» 10.09.2020, а дата окончания — 07.02.2021). Это может привести к тому, что в каких-то строках могут пропасть последние месяцы. Решается это довольно просто: сразу после того, как загрузили данные и изменили тип столбцов на тип Дата(второй шаг запроса — перед добавлением пользовательского столбца), необходимо щелкнуть правой кнопкой мыши по столбцу дат -выбрать пункт Преобразование(Transform) —Месяц(Month) —Начало месяца(Start of Month). Это заставит нашу функцию вычислять интервалы по месяцам корректно. Точно такой же алгоритм и для других периодов: лет, недель, кварталов.
Скачать файл:
Список дат при помощи Power Query.xlsx (72,7 KiB, 407 скачиваний)
Так же см.:
Получить данные из файлов XML при помощи Power Query
Как перейти к определенной строке таблицы в Power Query
Относительный путь к данным PowerQuery
Курс валют при помощи Power Query
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Интервалы дат в Excel – функции обработки
Дорогие друзья, в предыдущих постах мы рассмотрели, что такое дата и время в Эксель, как разложить дату на составляющие и собрать её обратно из дня, месяца и года. То есть, мы работали с одной датой. Пора нам теперь поработать и с интервалами дат. В этом посте – распространенные функции обработки временных отрезков. Разберитесь в работе этих функций, и вы уже почти на коне!
Как прибавить несколько месяцев к дате Эксель
В посте о сборе данных из компонент, мы рассматривали пример получения даты, отстоящей от заданной на определенное количество месяцев.
Например, чтобы прибавить к дате в ячейке А1 пять месяцев, мы использовали формулу: =ДАТА(ГОД(А1);МЕСЯЦ(А1)+5;ДЕНЬ(А1)) . На самом деле, есть более простой и наглядный способ выполнить эту операцию – используем функцию ДАТАМЕС(Дата ; Количество_месяцев) .
У функции два обязательных аргумента :
- Дата – исходная дата, к которой будем прибавлять заданное количество месяцев
- Количество месяцев – число месяцев, которое нужно прибавить к дате. Если нужно вычесть месяца – укажите отрицательное число
Приведенный выше пример можно решить с помощью простой формулы: =ДАТАМЕС(А1;5) . Согласитесь, такая запись короче и легче для восприятия.
Как определить день недели в Excel
Часто нужно знать – какой день недели был (будет) в определенную дату. Как бы вы решали такую задачу? Вручную сложно, если нужно обработать несколько десятков, сотен, тысяч дат.
Воспользуйтесь функцией ДЕНЬНЕД(Дата ; Тип) . Она возвращает порядковый номер дня недели и имеет два аргумента :
- Дата, для которой нужно определить день недели – обязательный аргумент
- Тип – необязательный параметр, который указывает какой день недели считать первым. Например, в странах восточной Европы первый день недели – понедельник, в США – воскресенье. В любом случае, формула может считать первым днем любой день недели. Если аргумент не указан – первым днем считается воскресенье. При записи формулы – Excel выведет подсказку с перечнем возможных параметров
Функция ДЕНЬНЕД в Эксель
Когда вы получили порядковый номер дня недели, можно использовать, например, функцию условия ЕСЛИ для присвоения ему текстового имени, или обработать как-то иначе.
Как определить количество дней между датами в Эксель
Нет ничего проще, чем определить количество дней между датами. Просто вычтите более позднюю дату из ранней. Например, в ячейке А1 – дата начала работы над проектом, а в А2 – дата сдачи проекта. Тогда количество дней между ними можно посчитать так: =А2-А1 .
Эту же процедуру можно выполнить с помощью функции ДНИ(Конечная дата ; Начальная дата) . Видимой разницы между первым и вторым способами нет, они возвращают одинаковые результаты. Пользуйтесь этими способами ими по ситуации.
Как посчитать долю от года в Microsoft Excel
Если вам известен некий период, и нужно знать, какую часть календарного года он занимает, используйте функцию ДОЛЯГОДА(Начальная_дата ; Конечная_дата; Базис) . Как видите, у функции 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: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».
В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
- «y» — полные года;
- «m» — полные месяцы;
- «d» — дни;
- «YM» — разница в месяцах;
- «MD» — разница в днях (месяцы и годы не учитываются);
- «YD» — разница в днях (годы не учитываются).
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
- Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «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. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).
Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().