В столбце дат нелегко быстро узнать самую раннюю и самую позднюю дату, если вы не можете отсортировать даты. На самом деле, есть несколько хитрых способов узнать самые ранние и самые поздние даты в Excel легко и удобно.
- Найдите самые ранние и самые свежие даты с функциями
- Найти самые ранние и самые поздние даты с Kutools for Excel
- Найдите самую раннюю и самую позднюю даты в каждой строке / столбце Excel
- Найдите самые ранние или самые поздние даты на основе критериев в другом столбце (по группе)
Найдите самые ранние и самые свежие даты с функциями
Предположим, вы хотите узнать самую раннюю дату и последнюю дату в диапазоне A1: D7, см. Следующий снимок экрана:
1. Функция Min для поиска самой ранней даты
В пустой ячейке введите формулу = МИН (A1: D7), и нажмите Enter ключ. Он вернет самые ранние даты в активной ячейке как можно скорее.
2. Небольшая функция для поиска самой ранней даты
Вы также можете применить формулу = МАЛЕНЬКИЙ (A1: D7,1) чтобы быстро получить самые ранние даты.
3. Максимальная функция для поиска последней даты
Если вы хотите узнать последние даты в диапазоне, вы можете ввести формулу = МАКС (A1: D7), и нажмите Enter .
4. Большая функция для поиска последней даты
Эта формула = НАИБОЛЬШИЙ (A1: D7,1) поможет вам быстро узнать самые свежие даты.
Найти самые ранние и самые поздние даты с Kutools for Excel
Если у вас есть Kutools for Excel установлен, его Sвыбрать ячейки с максимальным или минимальным значением Инструмент может помочь вам быстро узнать самую раннюю дату и последние даты, не запоминая функции.
1. Выберите диапазон, в котором вы выберете самую последнюю или самую раннюю форму даты. В этом случае выберите диапазон A1: D7 и нажмите Кутулс > Выберите > Выберите ячейки с максимальным или минимальным значением.
2. Задайте настройки, как показано на следующем снимке экрана:
(1) Если вы хотите узнать последнюю дату, пожалуйста, проверьте Максимальное значение вариант; или проверьте Минимальное значение вариант на самую раннюю дату;
(2) Проверьте Ячейка вариант и Только первая ячейка опцию.
3. Нажмите OK. Тогда сразу будет выделена ячейка с самой поздней или самой ранней датой в выделении.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Найдите самую раннюю или самую позднюю дату в каждой строке / столбце Excel
Этот Sвыбрать ячейки с максимальным или минимальным значением полезности Kutools for Excel также поддерживает простой выбор максимального или минимального значения в каждом столбце или в каждой строке.:
Выберите диапазон, из которого вы возьмете самую последнюю или самую раннюю дату, и нажмите Кутулс > Выберите > Выберите ячейки с максимальным или минимальным значением, а затем укажите параметры, как показано на скриншоте ниже:
Проверьте Весь ряд возможность найти последнюю дату в каждой строке:
Проверьте Вся колонка возможность найти последнюю дату в каждой строке:
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Демо: поиск самых ранних и последних дат в диапазоне или в каждой строке / столбце диапазона
Легко найти максимальное / минимальное значение на основе критериев в другом столбце (по группе) в Excel
Kutools for Excel’s Расширенные ряды комбинирования Утилита может помочь пользователям Excel быстро и легко определить максимальное значение минимального значения каждого элемента в другом столбце.
Эта утилита Advanced Combine Rows также может объединять строки и разделять значения по указанным меткам или объединять строки и вычислять их суммы, количество вхождений, максимальные / минимальные значения, средние значения и т. Д.
Статьи по теме:
- Выберите максимальные данные с максимальной функцией
- Выберите наивысшее значение и наименьшее значение
- Выберите минимальные данные с помощью функции min
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
В этой статье объясняется, как использовать запросы на набор значений для поиска самых последних или самых давних дат в наборе записей. Данные, возвращаемые такими запросами, позволяют получать ответы на различные деловые вопросы, например о том, когда клиент делал заказ в последний раз.
Выберите нужное действие
-
Сведения о работе запросов на набор значений с датами
-
Поиск самой последней или самой давней даты
-
Поиск самых последних или самых давних дат для записей в категории или группе
-
Одновременный поиск самых последних и самых давних дат
Сведения о работе запросов на набор значений с датами
Запросы на набор значений используются, когда возникает необходимость найти в таблице или группе записи, содержащие самую последнюю или самую давнюю дату. Полученные данные позволят отвечать на различные деловые вопросы, например следующие:
-
Когда сотрудник в последний раз продавал товар? Ответ поможет определить наиболее и наименее продуктивных сотрудников.
-
Когда клиент делал заказ в последний раз? Если в течение определенного периода заказов не было, его можно перенести в список неактивных клиентов.
-
У кого ближайшие дни рождения?
Правила создания и использования запросов на набор значений
Для создания запроса на набор значений следует сначала создать запрос на выборку. В зависимости от требуемых результатов вы можете установить для запроса порядок сортировки или преобразовать его в итоговый запрос. При преобразовании используются агрегатные функции, например Max или Min для возврата наибольшего или наименьшего значения и First или Last для получения самой последней или самой давней даты. Итоговые запросы и агрегатные функции используются только для поиска данных, которые попадают в набор групп или категорий. Предположим, что нужно найти объем продаж за указанную дату для каждого города, в котором работает компания. В этом случае города становятся категориями (необходимо собрать данные по городам), поэтому можно использовать итоговый запрос.
В процессе работы помните, что в запросе (независимо от его типа) должны использоваться поля, содержащие описательные данные, например имена клиентов, и поля со значениями даты, среди которых будет производиться поиск. Кроме того, значения даты должны находиться в полях с типом данных «Дата/время». Запросы, описанные в этой статье, не будут правильно работать со значениями дат в текстовых полях. Кроме того, при использовании итогового запроса поля данных должны содержать информацию о категории, например о городе или стране.
Выбор между запросом на набор значений и фильтром
Чтобы определить, стоит ли создавать запрос на набор значений или же следует применить фильтр, примите во внимание следующее:
-
Если вы хотите получить записи, в полях которых содержатся самые последние или самые давние даты, а точные значения дат неизвестны или не имеют значения, следует создать запрос на набор значений.
-
Если вы хотите получить все записи, в которых даты совпадают с определенной датой, предшествуют ей или следуют за ней, используйте фильтр. Например, для просмотра дат продаж между апрелем и июлем нужно применить фильтр. Подробное обсуждение фильтров выходит за пределы данной темы.
Дополнительные сведения о создании и использовании фильтров см. в статье «Применение фильтра для просмотра отдельных записей в базе данных Access».
К началу страницы
Поиск самой последней или самой давней даты
В этом разделе приведены инструкции по созданию простого запроса на набор значений, использующего порядок сортировки, а также более сложного запроса с выражениями и другими условиями. Сначала описаны основные шаги создания запроса на набор значений, а затем показывается, как найти ближайшие дни рождения сотрудников путем добавления условий. Используются данные из следующей таблицы.
Фамилия |
Имя |
Адрес |
Город |
Страна или регион |
Дата рождения |
Дата приема на работу |
Авдеев |
Григорий |
Загородное шоссе, д. 150 |
Москва |
РФ |
05-фев-1968 |
10-июн-1994 |
Кузнецов |
Артем |
ул. Гарибальди, д. 170 |
Пермь |
РФ |
22-май-1957 |
22-ноя-1996 |
Дегтярев |
Дмитрий |
ул. Кедрова, д. 54 |
Красноярск |
РФ |
11-ноя-1960 |
11-мар-2000 |
Зуева |
Ольга |
ул. Губкина, д. 233 |
Тверь |
РФ |
22-мар-1964 |
22-июн-1998 |
Белых |
Николай |
пл. Хо Ши Мина, д. 15, кв. 5 |
Москва |
РФ |
05-июн-1972 |
05-янв-2002 |
Комарова |
Лина |
ул. Ляпунова, д. 70, кв. 16 |
Красноярск |
РФ |
23-янв-1970 |
23-апр-1999 |
Зайцев |
Сергей |
ул. Строителей, д. 150, кв. 78 |
Омск |
РФ |
14-апр-1964 |
14-окт-2004 |
Ермолаева |
Анна |
ул. Вавилова, д. 151, кв. 8 |
Иркутск |
РФ |
29-окт-1959 |
29-мар-1997 |
При этом вы можете ввести образец данных в новую таблицу вручную или скопировать этот пример таблицы в программу для работы с электронными таблицами, например Microsoft Excel, а затем импортировать полученный листа в таблицу с помощью Access.
Создание простого запроса на набор значений
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
В диалоговом окне щелкните таблицу, которую вы хотите использовать в запросе, нажмите Добавить, чтобы поместить ее в верхний раздел конструктора запросов, и нажмите кнопку Закрыть.
-или-
Дважды щелкните таблицу, а затем нажмите кнопку Закрыть.
Если вы используете пример данных из предыдущего раздела, добавьте в запрос таблицу Employees.
-
Добавьте на бланк поля, которые вы хотите использовать в запросе. Вы можете дважды щелкнуть каждое поле или перетащить его в пустую ячейку в строке Поле.
Если вы работаете с примером таблицы, то добавьте поля «Фамилия», «Имя» и «Дата рождения».
-
В поле, которое содержит искомые наибольшие или наименьшие значения (при использовании примера таблицы — поле «Дата рождения), в строке Сортировка выберите порядок сортировки По возрастанию или По убыванию.
При сортировке по убыванию будут возвращены самые последние даты, при сортировке по возрастанию — самые давние.
Важно: В строке Сортировка следует установить значение только для полей, содержащих даты. Если порядок сортировки задан по другому полю, запрос не вернет ожидаемых результатов.
-
На вкладке «Конструктор» в группе «Настройка запроса» щелкните стрелку вниз рядом со списком «Все» (список «Главные значения») и введите нужное количество записей или выберите нужный вариант из списка.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
-
Сохраните запрос и оставьте его открытым, чтобы использовать на следующих шагах.
Как вы видите, этот тип запросов на набор значений дает ответы на основные вопросы, например «Кто из сотрудников самый старший или самый молодой?». Ниже описано, как с помощью выражений и других условий создавать более точные и гибкие запросы. Запрос по описанным ниже условиям выдает ближайшие дни рождения у трех сотрудников.
Добавление условий в запрос
Примечание: В этих инструкциях предполагается, что вы используете запрос, описанный в предыдущем разделе.
-
Откройте запрос, созданный на предыдущих шагах, в Конструкторе.
-
В бланке запроса в столбце справа от столбца «Дата рождения» скопируйте и вставьте или введите следующее выражение: Expr1: DatePart(«m»; [Дата рождения]). Затем нажмите кнопку Выполнить.
Функция DatePart извлекает месяц из значения в поле «Дата рождения».
-
Переключитесь в Конструктор.
-
Справа от первого выражение вставьте или введите следующее выражение: Expr2: DatePart(«d»; [Дата рождения]). Затем нажмите кнопку Выполнить.
В этом случае функция DatePart извлекает день из значения в поле «Дата рождения».
-
Переключитесь в Конструктор.
-
Для обоих введенных выражений снимите флажки в строке Показать, щелкните строку Сортировка и выберите пункт По возрастанию.
-
Нажмите кнопку Запустить.
-
При необходимости вы можете указать условия для ограничения области запроса. После этого запрос будет сортировать только записи, удовлетворяющие им, и определять первые или последние значения полей из отсортированного списка.
Для продолжения работы с примером данных откройте Конструктор. Затем в строке Условия отбора столбца Дата рождения введите следующее выражение:
Month([Дата рождения]) > Month(Date()) Or Month([Дата рождения])= Month(Date()) And Day([Дата рождения])>Day(Date())
Это выражение делает следующее: Месяц([Дата рождения]) > Month(Date()) проверяет дату рождения каждого сотрудника, чтобы узнать, приходится ли она на следующий месяц, и, если это так, включает эти записи в запрос. Месяц([Дата рождения])= Month(Date()) And Day([Дата рождения])>Day(Date()) в выражении проверяет даты рождения, которые происходят в текущем месяце, чтобы узнать, приходится ли на день рождения или после текущего дня. Если это условие истинно, функция включает эти записи в запрос. Краткое выражение игнорирует все записи, в которых день рождения приходится на период с 1 января до даты выполнения запроса.
Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса.
-
На вкладке «Конструктор» в группе «Настройка запроса» щелкните стрелку вниз рядом со списком «Все» (список «Главные значения») и введите нужное количество записей или выберите нужный вариант из списка.
Чтобы просмотреть следующие три дня рождения, введите 3.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
Если отображается больше записей, чем требовалось
Если в данных есть записи с одинаковым значением даты, запрос может возвращать больше записей, чем вы указали. Например, вы можете создать запрос на набор значений для получения записей о трех сотрудниках, н запрос вернет четыре, поскольку у Измайлова и Быкова дни рождения совпадают, как указано в следующей таблице.
Фамилия |
ДатаРождения |
Белых |
26.09.1968 |
Бутусов |
02.10.1970 |
Измайлов |
15.10.1965 |
Быков |
15.10.1969 |
Если отображается меньше записей, чем требовалось
Предположим, что вы создали запрос, возвращающий наибольшие или наименьшие пять записей в поле, но он возвращает только три. Как правило, чтобы решить эту проблему, нужно открыть запрос в Конструкторе и проверить строку Условия отбора для столбцов в бланке запроса.
Дополнительные сведения об условиях см. в статье Примеры условий запроса.
Если выводятся повторяющиеся записи
Если запрос на набор значений возвращает повторяющиеся значения, то либо базовые таблицы содержат повторяющиеся записи, либо записи отображаются как одинаковые, потому что запрос не включает поля, значения которых позволяют их различить. Например, в следующей таблице показан результат запроса, отображающего пять последних отгруженных заказов вместе с именем продавца, который проводил транзакцию.
Дата поставки |
Продавец |
12.11.2004 |
Ковалев |
12.11.2004 |
Маслов |
12.10.2004 |
Попов |
12.10.2004 |
Попов |
12.10.2004 |
Ковалев |
Третья и четвертая записи кажутся одинаковыми, но это может объясняться тем, что Попов обработал два различных заказа, отгруженных в один день.
Чтобы избежать отображения повторяющихся записей, можно выполнить одно из двух действий в зависимости от требуемого результата. Вы можете изменить структуру запроса, добавив поля, которые позволят различить записи, например поля «КодЗаказа» и «КодКлиента». Или, если достаточно показать только одну из повторяющихся записей, вы можете выбрать отображение только уникальных записей, задав значение Да для свойства запроса Уникальные значения. Чтобы задать значение этого свойства, в Конструктор щелкните правой кнопкой мыши в любом свободном месте в верхней половине окна конструктора запросов и выберите в контекстном меню команду Свойства. В окне свойств найдите свойство Уникальные значения и задайте для него значение Да.
Дополнительные сведения о работе с повторяющимися записями см. в статье Поиск, скрытие или удаление повторяющихся данных.
К началу страницы
Поиск самых последних или самых давних дат для записей в категории или группе
Для поиска самых последних или самых давних дат для записей, входящих в группы или категории, используются итоговые запросы. Итоговый запрос представляет собой запрос на выборку, в котором для вычисления значений определенного поля используются агрегатные функции, например Min, Max, Sum, First, и Last
В этом разделе предполагается, что вы управляете мероприятием — проводите промежуточное мероприятие, освещение, питание и другие аспекты крупных функций. Кроме того, управляемые вами события могут попадать в несколько категорий, например мероприятий по запуску продукции, уличных ярлам и концертам. В этом разделе объясняется, как ответить на распространенный вопрос: когда будет следующее событие по категориям? Другими словами, когда будет следующий выпуск продукта, следующий концерт и так далее.
В процессе работы помните следующее: по умолчанию итоговые запросы, которые будут здесь созданы, могут включать только поля, содержащие данные группы или категории, и поля с датами. В запросы не должны включаться другие поля, которые описывают элементы в составе категории, например имена клиентов или поставщиков. Однако вы можете создать второй запрос, в котором будут содержаться итоговые запросы и поля с описательными данными. Ниже в этом разделе будет показано, как выполнить эту задачу.
Инструкции в данном разделе предполагают использование следующих трех таблиц:
Таблица «Типы мероприятий»
КодТипа |
Тип мероприятия |
1 |
Презентация товара |
2 |
Корпоративное мероприятие |
3 |
Частное мероприятие |
4 |
Мероприятие по сбору средств |
5 |
Выставка-продажа |
6 |
Лекция |
7 |
Концерт |
8 |
Выставка |
9 |
Уличная ярмарка |
Таблица «Клиенты»
КодКлиента |
Компания |
Контакт |
1 |
Contoso, Ltd. НИИ |
Николай Белых |
2 |
Лесопитомник |
Регина Покровская |
3 |
Fabrikam |
Елена Матвеева |
4 |
Лесопитомник |
Афанасий Быков |
5 |
А. Datum |
Лилия Медведева |
6 |
Adventure Works |
Максим Измайлов |
7 |
железа |
Арина Иванова |
8 |
Художественная школа |
Полина Кольцова |
Таблица «Мероприятия»
КодМероприятия |
Тип мероприятия |
Клиент |
Дата мероприятия |
Цена |
1 |
Презентация товара |
Contoso, Ltd. |
14.04.2003 |
10 000 ₽ |
2 |
Корпоративное мероприятие |
Лесопитомник |
21.04.2003 |
8000 ₽ |
3 |
Выставка-продажа |
Лесопитомник |
01.05.2003 |
25000 ₽ |
4 |
Выставка |
НИИ железа |
13.05.2003 |
4 500 ₽ |
5 |
Выставка-продажа |
Contoso, Ltd. |
14.05.2003 |
55 000 ₽ |
6 |
Концерт |
Художественная школа |
23.05.2003 |
12 000 ₽ |
7 |
Презентация товара |
А. Datum |
01.06.2003 |
15 000 ₽ |
8 |
Презентация товара |
Лесопитомник |
18.06.2003 |
21 000 ₽ |
9 |
Мероприятие по сбору средств |
Adventure Works |
22.06.2003 |
1300 ₽ |
10 |
Лекция |
НИИ железа |
25.06.2003 |
2450 ₽ |
11 |
Лекция |
Contoso, Ltd. |
04.07.2003 |
3800 ₽ |
12 |
Уличная ярмарка |
НИИ железа |
04.07.2003 |
5500 ₽ |
Примечание: Действия, описываемые в данном разделе, предполагают, что таблицы «Клиенты» и «Типы мероприятий» находятся на стороне «один» отношения «один-ко-многим» с таблицей «Мероприятия». В данном случае таблица «Мероприятия» имеет с этими таблицами общие поля «КодКлиента» и «КодТипа». Итоговые запросы, описанные в следующих разделах, не будут работать, если эти связи отсутствуют.
Как добавить эти данные в базу данных?
Чтобы добавить эти примеры таблиц в базу данных, можно скопировать данные в Excel и импортировать их, за исключением нескольких исключений.
-
При копировании таблиц «Типы мероприятий» и «Клиенты» в Excel не копируйте столбцы «КодТипа» и «КодКлиента». Access добавит значения первичных ключей при импорте листов — это поможет сэкономить время.
-
После импорта таблиц необходимо открыть таблицу «Мероприятия» в Конструкторе и преобразовать столбцы «Тип мероприятия» и «Клиент» в поля подстановки. Для этого щелкните столбец Тип данных для каждого поля и выберите пункт Мастер подстановок.
В ходе создания полей подстановки Access заменяет текстовые значения столбцов «Тип мероприятия» и «Клиент» числовыми значениями из исходных таблиц.
Дополнительные сведения о создании и использовании полей подпапок см. в статьях «Создание и удаление многофаентного поля» и «Руководство по полям, которые могут быть многоценными». В них описывается создание поля подстановки, позволяющего выбирать для поля несколько значений, а также создание списков подстановки.
Создание итогового запроса
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицы, которые вы хотите использовать. Таблицы появятся в верхней части конструктора запросов.
При использовании приведенных выше примеров добавьте таблицы «Мероприятия» и «Типы мероприятий».
-
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе. На данном этапе к запросу следует добавить только поля категорий или групп и поле значений.
При использовании данных из трех приведенных выше таблиц следует добавить либо поле «Тип мероприятия» из таблицы «Типы мероприятий», либо поле «Дата мероприятия» из таблицы «Мероприятия».
-
При необходимости вы можете указать условие для ограничения области запроса. Сортироваться будут только записи, удовлетворяющие этому условию, и в отсортированном списке будут определены первые и последние значения полей.
Например, если вы хотите просмотреть мероприятия с категорией «Частное мероприятие», в строку Условия отбора в столбце Тип мероприятия следует ввести выражение <>»Частное мероприятие».
Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса.
-
Преобразуйте этот запрос в итоговый запрос следующим образом:
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке запроса появится строка Итоги.
-
Убедитесь, что в строке Итоги поля каждой группы или категории выбран пункт Группировка по, и выберите для строки Итоги поля значения (поля с наибольшими или наименьшими значениями) функцию Max или Min.
Функция Max возвращает наибольшее значение числового поля и самое последнее значение даты или времени в поле с типом данных «Дата/время». Функция Min возвращает наименьшее значение в числовом поле и самую раннюю дату или время в поле «Дата/время».
-
На вкладке «Конструктор» в группе «Настройка запроса» щелкните стрелку вниз рядом со списком «Все» (список «Главные значения») и введите нужное количество записей или выберите нужный вариант из списка.
В этом случае для просмотра результатов в режиме таблицы выберите параметр Все и нажмите кнопку Выполнить.
Примечание: В зависимости от функции, выбранной на шаге 6, Access изменяет имя поля значения в запросе на Максимум_ИмяПоля или Минимум_ИмяПоля. В нашем примере поле будут переименовано в Максимум_Дата мероприятия или Минимум_Дата мероприятия.
-
Сохраните запрос и переходите к следующим шагам.
Запрос не возвращает названия продуктов и другую информацию о них. Чтобы просмотреть дополнительные данные, необходимо создать второй запрос, который включает в себя запрос, который вы только что создали. Далее описано, как это сделать.
Создание второго запроса для отображения более подробных данных
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Перейдите на вкладку «Запросы», а затем дважды щелкните итоговую таблицу, созданную в предыдущем разделе.
-
Откройте вкладку Таблицы и добавьте таблицы, которые вы использовали в итоговом запросе, а также таблицы, в которых содержатся дополнительные данные. Если вы использовали три таблицы из примера, добавьте в новый запрос таблицы «Типы мероприятий», «Мероприятия» и «Клиенты».
-
Свяжите поля в итоговом запросе с соответствующими полями в родительских таблицах. Для этого перетащите каждое поле из итогового запроса на соответствующее поле в таблице.
При использовании примеров данных из трех таблиц перетащите столбец «Тип мероприятия» из итогового запроса на поле «Тип мероприятия» в таблице «Типы мероприятий». Затем перетащите столбец Максимум_Дата мероприятия в итоговом запросе на поле «Дата мероприятия» в таблице «Мероприятия». Благодаря объединению новый запрос на выборку связывает данные из итогового запроса с данными из других таблиц.
-
Добавьте в запрос поля с дополнительной информацией из других таблиц.
При использовании примеров данных из трех таблиц можно добавить поля «Компания» и «Контакт» из таблицы «Клиенты».
-
При желании вы можете задать порядок сортировки по одному или нескольким столбцам. Например, для вывода категорий в алфавитном порядке задайте в строке Сортировка столбца Тип мероприятия значение По возрастанию.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
Совет: Если вам не нравится, что заголовок столбца Цена называется Максимум_Цена или Минимум_Цена, то откройте запрос в Конструкторе и в столбце «Цена» в бланке запроса введите Цена: Максимум_Цена или Цена: Минимум_Цена. После этого в заголовке столбца в режиме таблицы будет выводиться название Цена.
К началу страницы
Одновременный поиск самых последних и самых давних дат
Запросы, созданные ранее в этой статье, возвращают либо наибольшие, либо наименьшие значения, но не оба набора сразу. Если вы хотите отобразить оба набора значений в одном представлении, следует создать два запроса (один для получения наибольших значений и другой для получения наименьших значений), а затем объединить и сохранить результаты в одной таблице.
Поиск наибольших и наименьших значений и отображение этих данных в таблице состоит из следующих основных этапов:
-
Создание запроса на поиск наибольших значений и запроса на поиск наименьших значений или, при необходимости группировки данных, создание итоговых запросов, использующих функции Min и Max.
-
Преобразование запроса на поиск наибольших значений (или итогового запроса на поиск максимальных значений) в запрос на создание таблицы и выполнение этого запроса.
-
Преобразование запроса на поиск наименьших значений (или итогового запроса на поиск минимальных значений) в запрос на добавление для добавления записей в таблицу наибольших значений.
Ниже описано, как это сделать.
Создание запросов
-
Создайте запросы на поиск наибольших и наименьших значений.
Шаги, необходимые для создания запроса на поиск наибольших или наименьших значения, описаны выше в разделе Поиск самой последней или самой давней даты. Если нужно сгруппировать записи по категориям, обратитесь к разделу Поиск самых последних или самых давних дат для записей в категории или группе.
Если используются таблицы примеров из предыдущего раздела, используйте только данные из таблицы «Мероприятия». Используйте в обоих запросах поля «Тип мероприятия», «Клиент» и «Дата мероприятия» из таблицы «Мероприятия».
-
Сохраните оба запроса, присвоив им описательные имена, например «Наибольшее значение» и «Наименьшее значение», и оставьте их открытыми для использования на следующих этапах.
-
Создание запроса на создание таблицы
-
В запросе на поиск наибольших значений, открытом в Конструкторе:
На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.
Откроется диалоговое окно Создание таблицы.
-
В поле Имя таблицы введите имя таблицы, которая будет хранить записи с наибольшими и наименьшими значениями. Например, введите Наименьшие и наибольшие значения, а затем нажмите кнопку ОК.
Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы запрос будет создавать таблицу и замещать значения текущими данными.
-
Сохраните и закройте запрос.
Создание запроса на добавление
-
Откройте запрос на поиск наименьших значений в Конструкторе.
На вкладке Разработка в группе Тип запроса выберите команду Добавить.
-
Откроется диалоговое окно Добавление.
-
Введите то же имя, которое вы указали в диалоговом окне Создание таблицы.
Например, введите Наименьшие и наибольшие значения, а затем нажмите кнопку ОК. Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы он будет добавлять записи в таблицу «Наибольшие и наименьшие значения».
-
Сохраните и закройте запрос.
Выполнение запросов
-
Теперь вы готовы запустить оба запроса. В области навигации дважды щелкните запрос на поиск наибольших значений и нажмите кнопку Да при появлении подтверждения. Затем дважды щелкните запрос на поиск наименьших значений и нажмите кнопку Да при появлении подтверждения.
-
Откройте таблицу с набором записей в режиме таблицы.
Важно: Если при попытке выполнения запроса на создание или добавление ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:
Данное действие или событие заблокировано в режиме отключения.
Если выводится это сообщение, сделайте следующее:
-
Откройте панель сообщений, если она скрыта. Для этого на вкладке Работа с базами данных в группе Показать или скрыть нажмите кнопку Панель сообщений.
-
На панели сообщений нажмите Параметры.
Откроется диалоговое окно Параметры безопасности Microsoft Office.
-
Выберите Включить это содержимое, а затем кнопку ОК.
-
Выполните запрос еще раз.
К началу страницы
На чтение 6 мин. Просмотров 2.6k. Опубликовано 20.05.2021
В столбце дат нелегко быстро определить самую раннюю и самую позднюю дату, если вы не можете отсортировать даты. На самом деле, есть несколько хитрых способов легко и удобно узнать самые ранние и последние даты в Excel.
- Находите самые ранние и самые последние даты с помощью функций
- Найдите самые ранние и самые свежие даты с помощью Kutools for Excel
- Найдите самую раннюю и самую позднюю даты в каждой строке/столбце Excel.
- Найдите самую раннюю или самую позднюю даты на основе критериев в другом столбце (по группе)
Содержание
- Легко находите максимальные/минимальные даты в диапазоне или в каждой строке/столбце диапазона в Excel
- Поиск самых ранних и последних дат с помощью функций
- Найдите самые ранние и последние даты с помощью Kutools for Excel
- Найдите самые ранние или самые поздние даты в каждой строке/столбце в Excel
- Демо: поиск самых ранних и последних дат в диапазоне или каждой строке/столбце диапазона
- Легко найти максимальное/минимальное значение на основе критериев в других столбец (по группам) в Excel
- Статьи по теме:
Легко находите максимальные/минимальные даты в диапазоне или в каждой строке/столбце диапазона в Excel
Kutools for Excel ‘ Функция выбора ячеек с максимальным и минимальным значением может помочь вам быстро найти все максимальные/минимальные значения в указанном диапазоне или выбрать максимальные/минимальные даты в каждом строка/столбец диапазона в Excel. 30-дневная бесплатная пробная версия полнофункциональной версии!
Вкладка Office Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …
Подробнее … Скачать бесплатно …
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Повторное использование чего угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Подробнее … Бесплатная загрузка …
->
Поиск самых ранних и последних дат с помощью функций
Предположим, вы хотите узнать самую раннюю дату и самую позднюю дату в диапазоне A1: D7, см. Следующий снимок экрана:
1. Функция Min для поиска самой ранней даты
В пустой ячейке введите формулу = MIN (A1: D7) и нажмите клавишу Enter .. Он вернет самые ранние даты в активной ячейке как можно скорее.
2. Небольшая функция для поиска самой ранней даты
Вы также можете применить формулу = МАЛЕНЬКИЙ (A1: D7,1), чтобы быстро получить самые ранние даты.
3. Функция Max для поиска последней даты
Если вы хотите узнать последние даты в диапазоне, вы можете ввести формулу = MAX (A1: D7) и нажать Enter .
4. Большая функция для поиска последней даты
Эта формула = LARGE (A1: D7,1) поможет вам быстро получить последние даты.
Найдите самые ранние и последние даты с помощью Kutools for Excel
Если у вас есть Kutools для Если установлен Excel , его инструмент S elect Cells with Max или Min Value может помочь вам быстро узнать самую раннюю дату и самые последние даты, не запоминая функции.
Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
1. Выберите диапазон, в котором вы выберете самую последнюю или самую раннюю форму даты. В этом случае выберите диапазон A1: D7 и нажмите Kutools > Выбрать > Выбрать ячейки с максимальными или минимальными значениями.
2. Задайте настройки, как показано на следующем снимке экрана:
(1) Если вы хотите узнать последнюю дату, установите флажок Максимальное значение ; или установите флажок Минимальное значение для самой ранней даты;
(2) Установите флажок Ячейка и Только первая ячейка вариант.
3. Нажмите ОК . Тогда ячейка с последней датой или самой ранней датой в выделении будет выбрана сразу.
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас
Найдите самые ранние или самые поздние даты в каждой строке/столбце в Excel
Этот S выбирает ячейки с максимальным или минимальным значением утилиты Kutools for Excel также поддерживает простой выбор максимального или минимального значения в каждом столбце или в каждой строке. :
– включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
Выберите диапазон, который вы получите самая последняя или самая ранняя дата от и нажмите Kutools > Выбрать > Выбрать ячейки с максимальным или минимальным значением , а затем укажите параметры, как показано на скриншоте ниже:
Установите флажок Вся строка , чтобы найти последнюю дату в каждой строке:
Установите флажок Весь столбец , чтобы найти последнюю дату в каждом строка:
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас
Демо: поиск самых ранних и последних дат в диапазоне или каждой строке/столбце диапазона
Kutools for Excel включает более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию !
Легко найти максимальное/минимальное значение на основе критериев в других столбец (по группам) в Excel
Kutools for Excel Утилита Advanced Combine Rows может помочь пользователям Excel быстро определить максимальное значение минимального значения каждого элемента в другом колонка с легкостью. 30-дневная бесплатная пробная версия полнофункциональной версии!
Эта расширенная Утилита Combine Rows также может объединять строки и разделять значения по указанным меткам или объединять строки и вычислять их суммы, количество вхождений, максимальные/минимальные значения, средние значения и т. Д.
Статьи по теме:
- Выберите максимальное количество данных с помощью функции max
- Выберите максимальное значение и наименьшее значение
- Выбрать минимум данных с помощью функции min
Содержание
- Найти последнюю дату с помощью функции MAXIFS
- Поиск самых ранних дат с помощью функции MINIFS
- Блокировка ссылок на ячейки
- Альтернативный метод с использованием функций MAX и IF
- Найдите самую раннюю или самую позднюю дату на основе критериев в Google Таблицах
Скачать пример рабочей книги
Загрузите образец книги
В этом руководстве будет показано, как использовать функции MAXIFS и MINIFS для определения самых ранних и поздних дат, соответствующих определенным условиям в Excel и Google Sheets.
Найти последнюю дату с помощью функции MAXIFS
Сначала мы покажем, как использовать функцию MAXIFS для определения последней актуальной даты из диапазона ячеек.
Функция MAXIFS выводит наибольшее значение в диапазоне, удовлетворяющем заданным критериям.
В этом примере будет показан последний Дата продажи для каждого типа Продукт:
1 | = МАКСЕСЛИМН (B3: B8; C3: C8; E3) |
Функция MAXIFS следует тому же стилю синтаксиса, что и функции SUMIFS и AVERAGEIFS, что означает, что можно добавить несколько критериев для дальнейшего уточнения результата.
Например, чтобы найти последнюю Дата продажи для каждого Продукт то есть до даты 31.12.2020, мы можем добавить второй критерий, используя функцию DATE для определения критерия даты:
1 | = МАКСЕСЛИМН (B3: B8, C3: C8, E3, B3: B8, «<» & ДАТА (2020,12,31)) |
Поиск самых ранних дат с помощью функции MINIFS
Аналогично приведенному выше примеру мы можем использовать функцию MINIFS для определения самой ранней релевантной даты из диапазона ячеек.
Функция MINIFS выводит наименьшее значение в диапазоне, удовлетворяющем заданным критериям.
Этот пример покажет самый ранний Дата продажи для каждого типа Продукт:
1 | = МИНИМНЕС (B3: B8; C3: C8; E3) |
Блокировка ссылок на ячейки
Чтобы наши формулы было легче читать, мы показали формулы без заблокированных ссылок на ячейки:
1 | = МИНИМНЕС (B3: B8; C3: C8; E3) |
Но эти формулы не будут работать должным образом при копировании и вставке в другое место в файле. Вместо этого вы должны использовать ссылки на заблокированные ячейки следующим образом:
1 | = MINIFS ($ B $ 3: $ B $ 8, $ C $ 3: $ C $ 8, E3) |
Прочтите нашу статью о блокировке ссылок на ячейки, чтобы узнать больше.
Альтернативный метод с использованием функций MAX и IF
Функции MAXIFS и MINIFS были добавлены в Excel с 2007 года. До этой даты этот пример требовал вложенного использования функций MAX (или MIN) и IF для получения того же результата.
Чтобы показать, как это можно сделать, мы можем воспроизвести пример, чтобы показать последние Дата продажи для каждого типа Продукт с использованием функций MAX и IF в формуле массива:
1 | {= МАКС (ЕСЛИ (C3: C8 = E3, B3: B8))} |
Поскольку в этом примере используется формула массива, ее необходимо ввести, нажав CTRL + SHIFT + ENTER. Это автоматически показывает {} скобки массива вокруг формулы. Их не нужно вводить вручную.
Эти формулы работают в Google Таблицах точно так же, как и в Excel.
Однако при вводе функций массива в Google Таблицах, таких как пример вложенной формулы MAX и IF, необходимо добавить оператор ArrayFormula. Это можно ввести автоматически, нажав CTRL + SHIFT + ENTER после того, как формула будет написана:
1 | = ArrayFormula (МАКС (ЕСЛИ (C3: C8 = E3, B3: B8))) |
Оператор ArrayFormula не требуется для использования функций MAXIFS или MINIFS в Google Таблицах.
Вы поможете развитию сайта, поделившись страницей с друзьями
На чтение 29 мин. Просмотров 40.7k.
Содержание
- Получить день
- Получить день недели
- Получить месяц
- Получить год с даты
- Извлечение даты с даты и времени
- Извлечение времени с даты и времени
- Получить возраст от дня рождения
- Получайте дни, часы и минуты между датами
- Получить финансовый квартал с даты
- Получить процент завершения года
- Получить квартал от даты
- Получить ту же дату в следующем месяце
- Получить ту же дату в следующем году
- Получить дату начала в соответствии с установленной датой
- Получить номер недели с даты
Получить день
Получить дату с номера дня
= ДАТА(год; 1; день)
Чтобы получить реальную дату из числа дня или «n-го числа года», вы можете использовать функцию ДАТА.
В показанном примере формула в C5:
= ДАТА(2015;1; B5)
Функция построения даты берется из отдельных значений года, месяца и дня. Один из его трюков — это способность выполнять сверку с целью исправления дат, когда дни и месяцы находятся вне диапазона.
Например, ДАТА возвращает 9 апреля 2016 года со следующими аргументами:
= ДАТА(2016;1;100)
В январе нет 100-го дня, поэтому ДАТА просто продвигается на 100 дней вперед с 1 января, а цифры возвращают правильную дату.
Формула на этой странице использует эту механику. В этом случае предполагается, что в этом году 2015 год, поэтому 2015 год жестко закодирован в течение года, а 1 используется в течение месяца. Значение дня выводится из столбца B, а функция ДАТА рассчитывает дату, как объяснено выше.
Если у вас есть дата в формате Юлиан, например 10015, где используется формат «дддгг», вы можете изменить формулу следующим образом:
= ДАТА(ПРАВСИМВ(A1;2); 1; ЛЕВСИМВ(A1;3))
Здесь мы используем ПРАВСИМВ, чтобы извлечь 2 символа справа за год, и ЛЕВСИМВ, чтобы извлечь 3 символа слева в течение дня. Месяц представлен как 1, как в первом примере.
Получить день с даты
= ДЕНЬ(дата)
Если вам необходимо извлечь день из даты, вы можете использовать функцию ДЕНЬ. В общей форме приведенной выше формула дата должна быть в форме, которую Excel распознает как действительную дату.
Функция ДЕНЬ принимает только один аргумент — дату, из которой вы хотите извлечь день. В этом примере формула:
= ДЕНЬ (B3)
B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 5, представляющее компонент дня даты.
Обратите внимание: вы можете использовать ДЕНЬ для извлечения дня из дня, введенного как текст:
= ДЕНЬ(«1/5/2016»)
Но это может привести к непредсказуемым результатам на компьютерах, использующих разные региональные настройки даты. В общем, лучше (и более гибко) указать адрес ячейки, в которой уже есть действительное значение даты в качестве аргумента для ДЕНЬ.
Получить имя дня с даты
ТЕКСТ (B4; «дддд»)
Если вам необходимо получить имя дня (например, понедельник, вторник и т. д.) С даты, есть несколько вариантов в зависимости от ваших потребностей.
Если вы хотите отображать имя дня, вам не нужна формула — вы можете использовать формат персонализированного номера. Выберите дату, затем перейдите к Форматирование ячеек (Ctrl + 1 или Cmd + 1)> Custom и введите один из этих настраиваемых форматов:
«ддд» // «сред»
«дддд» // «среда»
Excel отобразит только имя дня, но оно оставит неизменным значение даты.
Если вы хотите преобразовать значение даты в текстовое значение, вы можете использовать функцию ТЕКСТ с настраиваемым числовым форматом, например, «ддд». Формула выглядит так:
= ТЕКСТ (B4; «ддд»)
Функция ТЕКСТ преобразует значения в текст с использованием формата чисел, который вы предоставляете. Обратите внимание, что в преобразовании теряется дата, остается только текст названия дня.
Если вы не хотите использовать вспомогательную таблицу, вы также можете отобразить номер дня недели в название месяца непосредственно в функции ВЫБОР следующим образом:
= ВЫБОР (ДЕНЬНЕД(B4); «Вс»; «Пн»; «Вт»; «Ср»; «Чт»; «Пт»; «Сб»)
В этом случае введите имена дней недели, которые вы хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента. ДЕНЬНЕД будет извлекать номер буднего дня, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что ДЕНЬНЕД возвращает число 1-7, соответствующее заданному дню недели. С настройками по умолчанию, воскресенье = 1 и суббота = 7. Смотрите ДЕНЬНЕД для получения дополнительной информации.
ВЫБОР — это больше работы по настройке, но она также более гибкая, так как позволяет привязать дату к любым требуемым значениям (т. е. Вы можете использовать значения, которые являются пользовательскими, сокращенными, не сокращенными, разными языками и т. д.).
Получить дни до даты
= дата-СЕГОДНЯ ()
Чтобы вычислить дни до определенной даты, вы можете использовать вычитание и функцию СЕГОДНЯ. В обобщенной версии вышеприведенной формулы дата — это более поздняя дата — день, на который вы рассчитываете, — а функция СЕГОДНЯ используется для создания текущей даты.
В примере D5 содержит эту формулу:
= B4-СЕГОДНЯ()
В Excel даты — это просто серийные номера. В стандартной системе дат для окон, основанной на 1900 году, где 1 января 1900 года является номером 1. Даты действительны до 9999, что является серийным номером 2 958 465. Это означает, что 1 января 2050 года серийный номер 54789.
В примере датой является 9 марта 2016 года, который является серийным номером 42 438. Так:
= B4-СЕГОДНЯ()
= 1 января 2050 — 27 апреля 2014 г.
= 54;789 — 42;438
= 12;351
Это означает, что до 1 января 2050 года, когда отсчитывается с 9 марта 2016 года, существует 13 033 дня.
Примечание: вам не нужно использовать функцию СЕГОДНЯ. Во втором примере формула в D6:
= B6-C6
В третьем примере одна и та же базовая формула используется вместе с оператором конкатенации (&) для встраивания вычисленных дней в простое текстовое сообщение:
= «Осталось всего» & B6-C6 & «дней!»
Поскольку между 10 декабря 2014 года и 25 декабря 2014 года существует 15 дней, результатом является следующее сообщение:
Осталось всего 15 дней!
Получить дни между датами
= Поздняя дата-Ранняя дата
Если вы хотите вычислить количество дней между двумя датами, вы можете просто вычесть старшую дату из более новой даты. Результатом будет целое число, представляющее дни между датами.
В примере формула в ячейке D6 возвращает 365, поскольку между 1/1/1999 и 1/1/2000 есть 365 дней.
Даты в Excel — это просто серийные номера, которые начинаются 1 января 1900 года.
В примере формула в ячейке D6 просто вычитает числовое значение 1/1/1999 (36161) из числового значения 1/1/2000 (36526), чтобы получить результат 365. Шаги выглядят так:
= C5-B5
= 1/1 / 1999-1 / 1/2000
= 36161-36526
= 365
Если вам необходимо вычислить количество дней между более ранней датой и сегодняшним днем, используйте:
= СЕГОДНЯ() – ранняя дата
Если вам необходимо вычислить количество дней между более поздней датой и сегодняшним днем, используйте:
= Поздняя дата-СЕГОДНЯ()
Обратите внимание, что СЕГОДНЯ будет пересчитываться на постоянной основе. Если вы откроете книгу позднее, значение, используемое для СЕГОДНЯ, обновится, и вы получите новый результат.
Функция ДНИ, введенная в Excel 2013, также вычисляет дни между двумя датами.
Получайте дни между датами, игнорируя годы
= РАЗНДАТ (нач_дата; кон_дата; «гд»)
Для вычисления дней между двумя датами, игнорируя значения года, используйте функцию РАЗНДАТ. В показанном примере формула в D5:
= РАЗНДАТ(B5; C5; «yd»)
Функция РАЗНДАТ может обрабатывать различные расчеты «разницы дат» для вычисления разницы между двумя датами в годах, месяцах и днях. РАЗНДАТ принимает 3 аргумента: начальную дату, конечную дату и единицу измерения, которая контролирует, какой результат будет возвращен.
В этом случае мы хотим, чтобы дни игнорировались годами, поэтому мы поставляем «yd» для единицы.
После настройки функция полностью автоматическая и возвращает результат в запрошенном модуле.
Получить первый день месяца
= Дата-ДЕНЬ(дата) +1
Чтобы получить первый день месяца для определенной даты, вы можете использовать простую формулу, основанную на функции ДЕНЬ.
В показанном примере формула в ячейке B5:
= B5-ДЕНЬ(B5) +1
Функция ДЕНЬ возвращает значение дня для даты. В примере показано, что значение дня для даты в B5 (5 июня 2016 года) равно 5. Поскольку даты — это только порядковые номера в Excel, мы можем вычесть 5, а затем добавить 1, чтобы получить значение даты на 1 июня 2016 года.
Получить первый день предыдущего месяца
= КОНМЕСЯЦА(дата; -2) +1
Чтобы получить первый день предыдущего месяца для данной даты, вы можете использовать простую формулу, основанную на функции КОНМЕСЯЦА.
В показанном примере формула в ячейке B5:
= КОНМЕСЯЦА(B5; -2) +1
Функция КОНМЕСЯЦА возвращает последний день месяца, основанный на заданной дате. Второй аргумент — это месяцы, в которых указывается, сколько месяцев в будущем или в прошлом нужно переместить перед возвратом последнего дня. Возвращаясь на 2 месяца, затем добавляя один день, мы можем рассчитать первый день предыдущего месяца с любой заданной даты.
В показанном примере месяцев указываются как -2, что заставляет КОНМЕСЯЦА возвращаться 4/30/2015. Затем добавляется 1 день для получения 5/1/2015.
Получить последний день месяца
= КОНМЕСЯЦА(дата; 0)
Самый простой способ подсчитать последний день месяца — использовать функцию КОНМЕСЯЦА, которая предназначена для этой цели.
В показанном примере формула в ячейке B5:
= КОНМЕСЯЦА(B5;0)
Второй аргумент (месяцы) функции КОНМЕСЯЦА позволяет вам получить последний день месяца в будущем или в прошлом месяце. Когда вы используете ноль в течение месяцев, КОНМЕСЯЦА вернет последний день месяца в том же месяце.
Чтобы получить последний день предыдущего месяца, используйте:
= КОНМЕСЯЦА(дата; -1)
Чтобы получить последний день следующего месяца, используйте:
= КОНМЕСЯЦА(дата; 1)
Если вы предпочитаете создавать умные формулы, которые озадачивают других, вы также можете использовать функцию ДАТА, чтобы получить последний день месяца:
= ДАТА(ГОД (дата); МЕСЯЦ(дата) +1;0)
Трюк с этой формулой дает ноль в течение дня. Когда вы указываете нуль в качестве аргумента дня для ДАТА, функция даты откатывается один день в предыдущий месяц до последнего дня этого месяца. Таким образом, добавляя 1 к месяцу и используя ноль в день, ДАТА возвращается к последнему дню «оригинального» месяца.
Получить последний рабочий день в месяц
=РАБДЕНЬ (КОНМЕСЯЦА(дата) + 1; -1)
Чтобы получить последний рабочий день в месяце, вы можете использовать функцию РАБДЕНЬ вместе с функцией КОНМЕСЯЦА.
В примере формула в C5:
= РАБДЕНЬ (КОНМЕСЯЦА (B5;0) + 1; -1)
Работая изнутри, функция КОНМЕСЯЦА получает последний день месяца любой даты. К этому результату мы добавляем 1, что приводит к первому дню следующего месяца.
Эта дата переходит в функцию РАБДЕНЬ как «дата начала», а также -1 для «дней». Функция РАБДЕНЬ автоматически отступает на 1 день, принимая во внимание любые выходные. В результате будет последний рабочий день месяца.
Чтобы получить последний рабочий день месяца, принимая во внимание праздники, просто добавьте диапазон, содержащий даты отпуска, в формулу, подобную этой:
= РАБДЕНЬ(КОНМЕСЯЦА(B5;0) + 1; -1; праздничные дни)
Функция РАБДЕНЬ предполагает, что выходные — это суббота и воскресенье. Если вам необходимо настроить выходные дни, вы можете использовать функцию РАБДЕНЬ.МЕЖД.
Получить n-ый день года
= Дата-ДАТА (ГОД (дата); 1;0)
Если вы хотите получить день года с даты (например, n-го числа года), вы можете использовать формулу, которая использует функции ДАТА и ГОД вместе.
Например, с датой «1 июня 2016 года» в ячейке B4 следующая формула вернет 153:
= B4-ДАТА(ГОД (B4); 1;0)
То есть 1 июня 2016 года — 153-й день этого года.
Эта формула использует тот факт, что даты — это просто порядковые номера в Excel. Он определяет последний день предыдущего года и вычитает его, начиная с исходной даты B4. Результат — n-й день года.
Обратите внимание, что аргумент день в ДАТА предоставляется как ноль. Хорошей особенностью функции ДАТА является то, что она может обрабатывать значения ДЕНЬ, которые находятся «вне диапазона», и соответствующим образом корректировать результат. Когда мы даем ДАТА год, 1 месяц и 0 дней, функция ДАТА возвращает последний день предыдущего года.
Чтобы настроить формулу для возврата n-го дня года для текущей даты, просто используйте функцию СЕГОДНЯ для даты:
= СЕГОДНЯ () — ДАТА (ГОД (СЕГОДНЯ ()); 1;0)
Получить день недели
Получить последний день недели
= Дата-ОСТАТ(дата-день; 7)
Если вы хотите найти самую последнюю среду, субботу или понедельник, указав определенную дату начала, вы можете использовать формулу, которая использует функцию ОСТАТ.
Формулы, в которых используется понятие «день недели», основаны на идее, что каждый день недели имеет определенное число. По умолчанию Excel назначает 1 на воскресенье и 7 на субботу.
В примере формула B6 является датой 1/16/2015, а формула в C6:
= B6-ОСТАТ(B6-7;7)
Число 7 (числовой аргумент в функции ОСТАТ) представляет день недели (день), который вы хотите. Только помните, что 1 — это воскресенье, а 7 — суббота. Так принято в США.
Чтобы решить эту формулу, Excel сначала вычитает день (7 в данном случае) из даты, а затем передает результат в функцию ОСТАТ в качестве числа. ОСТАТ возвращает остаток от деления этого числа на 7, которое затем вычитается из даты.
= B6-ОСТАТ(B6-7;7)
= B6-ОСТАТ(42013;7)
= B6-6
= 42014
= 1/10 / 2015
Если вы хотите получить последний день недели с текущей даты, вы можете использовать функцию СЕГОДНЯ следующим образом:
= СЕГОДНЯ () — ОСТАТ(СЕГОДНЯ () — день; 7)
Примечание. Если дата имеет тот же день недели, дата будет возвращена.
Получить следующий день недели
= Дата + 7-ДЕНЬНЕД(дата + 7-день)
Если вы хотите найти следующий конкретный день недели (т.е. следующую среду, пятницу или понедельник) с определенной датой начала, вы можете использовать общую формулу, которая использует функцию ДЕНЬНЕД с чем-то, называемым «день недели» (день). С помощью этой формулы вы можете делать такие вещи:
- Получить следующую пятницу
- Получить следующую субботу
- Получить следующий вторник
Формулы, в которых используется понятие «день недели», основаны на идее, что каждый день недели имеет определенное число. По умолчанию Excel назначает 1 на воскресенье и 7 на субботу. Таким образом, функция ДЕНЬНЕД при заданной дате возвращает число от 1 до 7. В двух словах эта формула сначала переводит дату вперед на 7 дней, а затем возвращается к правильной дате, вычитая результат вычисления, который использует функцию ДЕНЬНЕД.
В примере формула B6 является датой 1/16/2015, а формула в C6:
= B6 + 7-ДЕНЬНЕД(B6 + 7-2)
Число 2 представляет день недели (день), который вы хотите, в данном случае, понедельник.
Чтобы решить эту формулу, Excel сначала добавляет 7 к начальной дате в C6, а затем уменьшает B6 + 7-2 до 42025 (порядковый номер в системе даты Excel, который представляет 1/21/2015). Затем Excel вычисляет день недели для этой даты (4) и вычитает, что из исходной даты начала + 7 (42027 = 1/23/2015), чтобы получить окончательное значение даты 42013 = 1/9/2015
= B6 + 7-ДЕНЬНЕД(B6 + 7-2)
= 42027-ДЕНЬНЕД(42025)
= 42027-4
= 42023
= 1/9/2015
Если вы хотите получить следующий день недели с текущей даты, вы можете использовать функцию СЕГОДНЯ, например:
= СЕГОДНЯ () + 7-НЕДЕЛЯ (СЕГОДНЯ () + 7-день)
Примечание. Если указанная дата совпадает с днем недели, которую вы хотите восстановить, будет возвращена одна и та же дата.
Получить n-й день недели в месяце
= Дата-ДЕНЬ(дата) + 1 + n * 7-ДЕНЬНЕД(дата-ДЕНЬ (дата) + 8-день)
Чтобы получить n-й день недели в месяце (т. е. первый вторник, третий вторник, четвертый четверг и т. д.), вы можете использовать формулу, основанную на функциях ДЕНЬ и НЕДЕЛЯ.
В показанном примере формула в E5:
= B5-ДЕНЬ(B5) + 1 + D5 * 7-ДЕНЬНЕД(B5-ДЕНЬ(B5) + 8-C5)
Во-первых, эта формула определяет «дату начала». «Первое число месяца» рассчитывается с помощью функции ДЕНЬ:
= B5-ДЕНЬ(B5) +1
Затем n * 7 дней до первого числа месяца, чтобы получить дату начала n недель с первого числа месяца. В общей форме формулы n представляет «n-ое».
Следующий шаг — рассчитать корректировку, необходимую для достижения конечного результата. Корректировка рассчитывается с использованием ДЕНЬНЕД и ДЕНЬ:
ДЕНЬНЕД(B5-ДЕНЬ(B5) + 8-C5)
В ДЕНЬНЕД снова вычисляется первое число месяца, затем добавляются 8 дней и вычитается значение для день (день недели).
День недели сокращенно «день» в общей форме формулы. Это число от 1 (воскресенье) до 7 (суббота), которое может быть изменено по мере необходимости.
Наконец, вычисленная корректировка вычитается из исходной даты начала, чтобы получить окончательный результат.
Получить последний день недели за месяц
= КОНМЕСЯЦА(дата; 0) + 1-ДЕНЬНЕД (КОНМЕСЯЦА(дата; 0) + 1-день)
Чтобы получить последний день недели за месяц (то есть в прошлую субботу, последнюю пятницу, последний понедельник и т. Д.), Вы можете использовать формулу, основанную на функциях КОНМЕСЯЦА и ДЕНЬНЕД.
В показанном примере формула в D5:
= КОНМЕСЯЦА(B5;0) + 1-ДЕНЬНЕД(КОНМЕСЯЦА(B5;0) + 1-C5)
Во-первых, эта формула определяет первый день следующего месяца * после * данной даты. Он делает это, используя КОНМЕСЯЦА, чтобы получить последний день месяца, а затем добавить один день:
= КОНМЕСЯЦА(B5;0) +1
Затем формула вычисляет количество дней, требуемых для «возврата назад» к последнему запрошенному буднему дню в предшествующем месяце (т. е. Месяце исходной даты):
ДЕНЬНЕД(КОНМЕСЯЦА(B5;0) + 1-C5)
В ДЕНЬНЕД КОНМЕСЯЦА снова используется для получения первого дня следующего месяца. С этой даты вычитается значение для дня недели, и результат вводится в ДЕНЬНЕД, который возвращает количество дней для отката.
И наконец, дни отката вычитаются из первого числа следующего месяца, что дает окончательный результат.
В общем виде формулы вверху страницы день недели сокращенно «день». Это число от 1 (воскресенье) до 7 (суббота), которое можно изменить, чтобы получить другой день недели. Например, чтобы получить последний четверг месяца, установите значение день равным 5.
Получить первый понедельник до любой даты
= Дата-ДЕНЬНЕД (дата-2)
Если вам нужно найти понедельник непосредственно перед любой датой, вы можете использовать общую формулу, которая использует функцию ДЕНЬНЕД.
Если вы предполагаете, что у вас есть случайная дата и хотите оглянуться назад во времени, чтобы найти ближайший предыдущий понедельник, вы можете увидеть, что вам нужно будет «отбросить» определенное количество дней в зависимости от дня недели (например, понедельник, вторник, и т. д.) даты. Если дата является понедельником, вам нужно будет вернуться на 7 дней, если дата является вторником, вам нужно вернуться на 1 день и так далее. Ниже приведены корректировки, необходимые для каждого дня недели.
Понедельник 7
Вторник 1
Среда 2
Четверг 3
Пятница 4
Суббота 5
Воскресенье 6
Чтобы рассчитать эту корректировку динамически для любой даты, вы можете использовать тот факт, что понедельник — это второй день недели в схеме по умолчанию Excel. Просто вычислите день недели даты на 2 дня раньше и используйте этот результат для значения корректировки. Итак, при допущении даты 4 июня 2015 года (четверг) в ячейке A1 формула решается следующим образом:
= A1-ДЕНЬНЕД (A1-2)
= 4;2015 июня — ДЕНЬНЕД (4 июня015-2)
= 4;2015 июня — ДЕНЬНЕД(2 июня 2015 г.)
= 4 июня015-3
= Июнь 1;2015
Если вы считаете, что настройка дня недели запутанна и не интуитивна, вы используете альтернативную формулу, которая использует функцию ВЫБОР с жестко заданными значениями регулировки:
= A1-ВЫБОР(ДЕНЬНЕД(A1;2); 7;1;2;3;4;5;6)
В этой версии используется ДЕНЬНЕД, чтобы получить индекс для дня недели (с понедельника как 1), а затем ВЫБОР возвращает правильное количество дней для возврата.
Если вам нужно найти понедельник до сегодняшнего дня, просто используйте функцию СЕГОДНЯ на дату:
= СЕГОДНЯ () — ДЕНЬНЕД(СЕГОДНЯ () — 2)
Получить месяц
Получить месяц с даты
= МЕСЯЦ (дата)
Если вам необходимо извлечь месяц из даты, вы можете использовать функцию МЕСЯЦ. В общей форме приведенной выше формулы дата должна быть в форме, которую Excel распознает как действительную дату.
Функция МЕСЯЦ принимает только один аргумент — дату, из которой вы хотите извлечь месяц. В этом примере формула:
= МЕСЯЦ (B3)
B4 содержит значение даты на 5 января 2016 года. Функция МЕСЯЦ возвращает число 1, соответствующее месяцу (январю) даты.
Обратите внимание, что вы можете использовать МЕСЯЦ для извлечения месяца со дня, введенного как текст:
= МЕСЯЦ(«1/5/2016»)
Однако использование текста для дат может приводить к непредсказуемым результатам на компьютерах с использованием разных региональных настроек даты. В общем, лучше (и более гибко) указать адрес ячейки, которая уже содержит действительную дату.
Получить название месяца с даты
= ТЕКСТ (дата; «мммм»)
Если вам необходимо получить название месяца (например, январь, февраль, март и т. д.) с даты, у вас есть несколько вариантов в зависимости от ваших потребностей.
Если вы хотите отображать название месяца, вам не нужна формула — вы можете использовать формат персонализированного номера. Выберите дату и перейдите к Форматирование ячеек (Ctrl + 1 или Cmd +1), затем выберите Custom и введите один из этих настраиваемых форматов:
«Ммм» // «Янв»
«Мммм» // «Январь»
Excel отобразит только название месяца, но оно оставит неизменным значение даты.
Если вы хотите преобразовать значение даты в текстовое значение, вы можете использовать функцию ТЕКСТ с настраиваемым числовым форматом, например «ммм».
= ТЕКСТ (B4; «мммм»)
Функция ТЕКСТ преобразует значения в текст с использованием формата чисел, который вы предоставляете. Обратите внимание, что дата теряется при преобразовании: остается только текст для названия месяца.
Если вы хотите максимальной гибкости, вы можете «сопоставить» название месяца с именем месяца непосредственно в функции ВЫБОР следующим образом:
= ВЫБОР (МЕСЯЦ (B4); «Янв»; «Фев»; «Мар»; «Апр»; «Май»; «Июн»; «Июл»; «Авг»; «Сен»; «Окт»; «Ноя» «;» Дек»)
Введите названия месяца, которые хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента, который вводится как МЕСЯЦ (дата). МЕСЯЦ выведет номер месяца, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что МЕСЯЦ возвращает число 1-12, соответствующее имени месяца.
ВЫБОР — это больше работы по настройке, но она также более гибкая, так как позволяет сопоставлять дату с любыми требуемыми значениями (т. е. Вы можете использовать значения, которые являются обычаями, аббревиатурами, аббревиатурами на другом языке и т. д. ).
Получать месяцы между датами
= РАЗНДАТ (нач_дата; кон_дата; «м»)
Чтобы рассчитать месяцы между двумя датами как целые числа, вы можете использовать функцию РАЗНДАТ.
В показанном примере формула в D5:
= РАЗНДАТ(B5; C5; «м»)
Обратите внимание, что РАЗНДАТ автоматически округляется вниз.
Функция РАЗНДАТ — это функция «совместимости», которая приходит из Лотос 1-2-3. По неизвестным причинам это документировано в Excel 2000, но вы можете использовать его в своих формулах во всех версиях Excel с того времени.
РАЗНДАТ принимает 3 аргумента: дата начала, дата окончания и единица измерения. В этом случае мы хотим месяцы, поэтому мы поставляем «м» для единицы.
РАЗНДАТ автоматически вычисляет и возвращает число в течение месяцев, округленное вниз.
РАЗНДАТ округляется по умолчанию. Если вы хотите рассчитать месяцы до ближайшего целого месяца, вы можете сделать простую корректировку формулы:
= РАЗНДАТ(нач_дата; кон_дата + 15; «м»)
Это гарантирует, что даты окончания, относящиеся ко второй половине месяца, рассматриваются как даты в следующем месяце, эффективно округляя конечный результат.
Получить год с даты
= ГОД(дата)
Если вам необходимо извлечь год из даты, вы можете использовать функцию ГОД. В общей форме приведенной выше формулы дата должна быть в форме, которую Excel распознает как действительную дату.
Функция ГОД принимает только один аргумент — дату, из которой вы хотите извлечь год. В этом примере формула:
= ГОД(B3)
B4 содержит значение даты для 5 января 2016 года. Функция ГОД возвращает число 2016, представляющее год даты.
Обратите внимание, что вы можете использовать ГОД для извлечения года из дня, введенного как текст:
= ГОД(«1/5/2016»)
Однако использование текста для дат может приводить к непредсказуемым результатам на компьютерах с использованием разных региональных настроек даты. В общем, лучше (и более гибко) указать адрес ячейки, которая уже содержит действительную дату.
Извлечение даты с даты и времени
= ЦЕЛОЕ(дата)
Excel обрабатывает даты и время, используя схему, в которой даты — это серийные номера, а время — дробные значения. Например, 1 июня 2000 г. 12:00 PM представлено в Excel как число 36678,5, где 36678 — это дата, а 0,5 — время.
Если у вас есть даты со значениями времени, и вы хотите извлечь только часть даты, вы можете использовать формулу, которая использует функцию ЦЕЛОЕ. Итак, если A1 содержит дату и время, 1 июня 2000 г. 12:00, формула, приведенная ниже, возвращает только часть даты (36678):
= ЦЕЛОЕ(A1)
Временная часть значения (дробная часть) отбрасывается. Вы также можете использовать функцию ОТБР с тем же результатом:
= ОТБР (A1)
Заметки:
- При использовании любого из приведенных выше методов убедитесь, что вы используете формат даты для результата, который не включает время. В противном случае вы увидите время, отображаемое как 12:00 AM.
- Для дат и времени (которые должны быть положительными в Excel) нет разницы в использовании ЦЕЛОЕ и ОТБР для извлечения целого числа. Но ЦЕЛОЕ фактически округляет числа до ближайшего целого, что делает разницу, когда значения отрицательные.
Извлечение времени с даты и времени
= ОСТАТ(дата; 1)
Excel обрабатывает даты и время, используя схему, в которой даты — это серийные номера, а время — дробные значения. Например, 1 июня 2000 г. 12:00 PM представлено в Excel как число 36678,5, где 36678 — это дата, а .5 — время.
Если у вас есть даты со значениями времени, и вы хотите извлечь только часть времени (дробную часть), вы можете использовать формулу, которая использует функцию ОСТАТ. Если предположить, что A1 содержит дату и время 1 июня 2000 г. 12:00, формула, приведенная ниже, вернет только часть времени (0,5):
= ОСТАТ(A1;1)
Функция ОСТАТ возвращает остаток от деления. Первый аргумент — это число, а второй — делитель. Вот несколько примеров:
= ОСТАТ(5;2) // возвращает 1
= ОСТАТ(7;5) // возвращает 2
Таким образом, если вы используете ОСТАТ с делителем 1, результат будет дробной частью числа, если таковой имеется, потому что каждое целое число может быть равномерно разделено само по себе. Например:
= ОСТАТ(3.125;1) // возвращает 0.125
Короче говоря, = ОСТАТ(число, 1) возвращает только дробную часть числа, отбрасывая целую часть, поэтому это удобный способ извлечь время из даты и времени.
Примечание. Если вы используете эту формулу, чтобы отделить время от даты и времени, вам необходимо настроить формат числа в подходящий формат времени.
Получить возраст от дня рождения
= ЦЕЛОЕ(ДОЛЯГОДА (дата рождения; СЕГОДНЯ ()))
Если вам необходимо рассчитать возраст человека с даты его рождения, вы можете сделать это с помощью функций ДОЛЯГОДА, ЦЕЛОЕ и СЕГОДНЯ. В общей версии приведенной выше формулы, дата рождения — день рождения человека с года, а СЕГОДНЯ — дата, на которую рассчитывается возраст. Поскольку эта формула использует функцию СЕГОДНЯ, она будет продолжать рассчитывать и правильный возраст в будущем.
В этом примере активная ячейка содержит эту формулу:
= ЦЕЛОЕ(ДОЛЯГОДА(D3; СЕГОДНЯ()))
ДОЛЯГОДА вычисляет десятичное число, представляющее долю года между двумя датами. Чтобы определить долю года в десятичном значении, Excel использует целые дни между двумя датами. Это просто в Excel, потому что все даты — это просто серийные номера.
Таким образом, в этом случае дата рождения предоставляется в качестве даты начала из ячейки D4, а сегодняшняя дата предоставляется в качестве конечной даты, с любезного разрешения функции СЕГОДНЯ.
Результатом ДОЛЯГОДА для Майкла Чанга, здесь в феврале 2016 года, является что-то вроде этого:
14.7333333333333
Затем функция ЦЕЛОЕ берет на себя и округляет это число до целочисленного значения, которое является числом 14. Хотя Майклу почти 15 лет, ему все еще только 14 по годам, так что это правильный результат.
Если вы хотите рассчитать возраст человека на определенную дату, просто замените функцию СЕГОДНЯ на эту дату или ссылку на ячейку на эту дату.
Чтобы проверить день рождения и вернуть «Несовершеннолетний» или «Взрослый», вы можете обернуть формулу возраста в функции ЕСЛИ следующим образом:
= ЕСЛИ(ЦЕЛОЕ(ДОЛЯГОДА(A1; СЕГОДНЯ())) <18; «Несовершеннолетний»; «Взрослый»)
Вы можете заменить 18 любым возрастом, имеющим смысл для вашей ситуации.
Чтобы рассчитать возраст на определенную дату, учитывая дату рождения, вы можете использовать функцию ДАТА вместо функции СЕГОДНЯ следующим образом:
= ЦЕЛОЕ(ДОЛЯГОДА(A1; ДАТА (2016;1;1)))
Где A1 содержит дату рождения.
Получайте дни, часы и минуты между датами
= ЦЕЛОЕ(конец-начало) & «дни» & ТЕКСТ(конец-начало; «ч» «часы» «м» «мин-ы» «»)
Чтобы вычислить и отобразить дни, часы и минуты между двумя датами, вы можете использовать функцию ТЕКСТ с небольшой помощью функции ЦЕЛОЕ.
В показанном примере формула в D5:
= ЦЕЛОЕ(C5-B5) &»дни»&ТЕКСТ(C5-B5; «ч» «часы» «м» «мин-ы» «»)
Большая часть работы в этой формуле выполняется функцией ТЕКСТ, которая применяет формат часового номера в часах и минутах к значению, созданному путем вычитания даты начала с конечной даты.
ТЕКСТ (C5-B5; «ч» «часы» «м» «мин-ы» «»)
Это пример вставки текста в пользовательский формат числа, и этот текст должен быть окружен дополнительной парой двойных кавычек.
Значение для дней вычисляется с помощью функции ЦЕЛОЕ, которая просто удаляет целую часть конечной даты минус дата начала:
ЦЕЛОЕ(C5-B5)
Хотя вы можете использовать «д» в настраиваемом числовом формате в течение нескольких дней, значение «перевернется» обратно к нулю, когда число дней больше 31.
Чтобы включить секунды, вы можете расширить формат пользовательских чисел следующим образом:
= ЦЕЛОЕ(C5-B5) & «дни» & ТЕКСТ(C5-B5; «ч» «часы» «м» «мин-ы» «с» «сек-ы» «»))
Получить финансовый квартал с даты
= ВЫБОР(МЕСЯЦ (дата); 1;1;1;2;2;2;3;3;3;4;4;4)
Если вы хотите рассчитать финансовый квартал от даты, а финансовый квартал начинается в месяце, отличном от января, вы можете использовать формулу, основанную на функции ВЫБОР.
Примечание: если вам просто нужно вычислить «нормальный» квартал на основе четвертичной системы, которая начинается в январе, вы можете использовать эту более простую формулу.
В показанном примере формула в ячейке D5:
= ВЫБОР(МЕСЯЦ (B5); 4;4;4;1;1;1;2;2;2;3;3;3)
Эта формула возвращает число 1-4, которое соответствует четвертичной системе, которая начинается в апреле и заканчивается в марте.
Функция выбора использует первый аргумент для «выбора» оставшихся элементов. Например, в схеме, где 1 = маленький, 2 = средний и 3 = большой, эта формула «отобразит» число 2 на «среднее».
= ВЫБОР (2; «маленький»; «средний»; «большой»)
В случае фискальных кварталов мы можем использовать эту же идею для сопоставления любого входящего месяца (1-12) с одним из 4 квартальных значений. Нам просто нужно использовать функцию МЕСЯЦ, чтобы получить номер месяца в качестве первого аргумента, а затем предоставить 12 номеров (по одному на каждый месяц года), которые тщательно упорядочены, чтобы отразить желаемый финансовый год:
= ВЫБОР(МЕСЯЦ (B5); 1;1;1;2;2;2;3;3;3;4;4;4) // Начало январь
= ВЫБОР(МЕСЯЦ (B5); 4;4;4;1;1;1;2;2;2;3;3;3) // Начало апрель
= ВЫБОР (МЕСЯЦ (B5); 3;3;3;4;4;4;1;1;1;2;2;2) // Начало июль
Если вы хотите, чтобы номер квартала включал «К» со значением года, вы можете объединить его:
= «К» & ВЫБОР(МЕСЯЦ (дата); 1;1;1;2;2;2;3;3;3;4;4;4) & «-» & ГОД(дата)
Возвращает значения типа: «К1 — 2016», «К2 — 2016» и т. д.
Получить процент завершения года
= ДОЛЯГОДА(ДАТА (ГОД (дата); 1;1); дата)
Если вам необходимо вычислить процент, оставшийся в году, на основе данной даты, вы делаете это с помощью формулы, основанной на функции ДОЛЯГОДА.
В примере формула в C5, которая вычисляет процент оставшегося года, выглядит так:
= ДОЛЯГОДА(ДАТА(ГОД(B5); 1;1); B5)
Функция ДОЛЯГОДА принимает две даты, дату начала и дату окончания и вычисляет время между ними в дробных годах. В этом случае мы используем конечную дату как есть, но генерируем начальную дату, равную первому дню того же года, с этим битом кода:
ДАТА (ГОД (B5); 1;1)
Это извлекает значение года из даты в B5 и вставляет его в функцию ДАТА, а также 1 для месяца и дня.
В результате функция ДОЛЯГОДА возвращает десятичное значение, соответствующее доле года между двумя датами.
Когда это значение форматируется с использованием формата номера в процентах, он показывает процент года, который был завершен.
Чтобы вычислить процент оставшегося года, просто скорректируйте формулу, чтобы вычесть дробный год из 1. В примере D5 содержит эту формулу:
= 1-ДОЛЯГОДА(ДАТА(ГОД(B5); 1;1); B5)
Получить квартал от даты
= ОКРУГЛВВЕРХ (МЕСЯЦ (дата) / 3;0)
Если вы хотите рассчитать квартал (то есть 1,2,3,4) от даты, вы можете использовать функцию ОКРУГЛВВЕРХ вместе с МЕСЯЦ.
В показанном примере формула в ячейке C5:
= ОКРУГЛВВЕРХ(МЕСЯЦ (B5) / 3;0)
В этом случае формула сначала извлекает месяц как число от 1 до 12, а затем делит это число на 3. Затем результат округляется до ближайшего целого числа с помощью функции ОКРУГЛВВЕРХ.
Функция ОКРУГЛВВЕРХ работает так же, как функция ОКРУГЛ, за исключением того, что ОКРУГЛВВЕРХ всегда округляет цифры от 1 до 9 до заданного количества цифр.
Если вы хотите, чтобы номер четверти включал «Ч», вы можете конкатенировать. Формула в D5:
= «Ч» & ОКРУГЛВВЕРХ(МЕСЯЦ (B5) / 3;0)
Результатом является буква «Ч», добавленная к номеру квартала.
Получить ту же дату в следующем месяце
= ДАТАМЕС(дата; 1)
Чтобы получить ту же дату в следующем месяце с определенной даты, вы можете использовать функцию ДАТАМЕС.
В показанном примере формула в ячейке B5:
=ДАТАМЕС (B5;1)
ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 1 дается месяцами, ДАТАМЕС получает ту же дату в следующем месяце.
Чтобы получить ту же дату за предыдущий месяц, используйте -1:
= ДАТАМЕС(дата; -1) // предыдущий месяц
Получить ту же дату в следующем году
=ДАТАМЕС (дата; 12)
Чтобы получить ту же дату в следующем году с определенной даты, вы можете использовать функцию ДАТАМЕС.
В показанном примере формула в ячейке B5:
= ДАТАМЕС(B5;12)
ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 12 дается на месяцы, ДАТАМЕС получает ту же дату в следующем году.
Чтобы получить ту же дату за предыдущий месяц, используйте -12:
= ДАТАМЕС(дата; -12) // предыдущий год
Получить дату начала в соответствии с установленной датой
= РАБДЕНЬ(цель; дни; праздники)
Чтобы рассчитать требуемую дату начала в соответствии с установленной датой запуска / запуска / завершения, за исключением нерабочих дней, таких как выходные и праздничные дни, вы можете использовать функцию РАБДЕНЬ.
В показанном примере формула в D6:
= РАБДЕНЬ(B6; C6; B9: B11)
Начиная с даты окончания Пт, 06-Янв-2015, функция РАБДЕНЬ отсчитывает назад 10 рабочих дней (исключая выходные и праздничные дни) и возвращает Вт, 18-дек-2014. Это необходимая дата начала активности, для которой требуется 10 рабочих дней.
Функция РАБДЕНЬ принимает три аргумента: дата начала, дни и (необязательно) праздники. Затем он добавляет дни к дате, автоматически исключая выходные и праздничные дни (если они предусмотрены).
В этом случае мы хотим считать назад от даты в будущем (дату запуска) на определенное количество рабочих дней. Решением является использование отрицательного значения для дней.
При отрицательном значении дня РАБДЕНЬ вычитает дни с даты начала, принимая во внимание выходные и праздничные дни.
Обратите внимание, что праздники не являются обязательными. Результат в D5 показывает разницу, когда отпуска не предусмотрены.
Если в вашем расписании пользовательские выходные дни (то есть что-то отличается от субботы и воскресенья), используйте функцию РАБДЕНЬ.МЕЖД вместо РАБДЕНЬ.
Получить номер недели с даты
= НОМНЕДЕЛИ (дата)
Если вам необходимо получить номер недели со дня с даты, вы можете использовать функцию НОМНЕДЕЛИ. Дата должна быть в формате, который Excel распознает как действительную дату.
Функция НОМНЕДЕЛИ принимает два аргумента, дату и, необязательно, аргумент с именем Тип возвращаемого значения, который управляет схемой, используемой для вычисления номера недели.
В этом примере формула:
= НОМНЕДЕЛИ (B5)
B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 2, представляющее число вычисляемой недели.
Обратите внимание, что по умолчанию функция НОМНЕДЕЛИ использует схему, где неделя 1 начинается 1 января, а неделя 2 начинается в следующее воскресенье (когда аргумент Тип возвращаемого значения опущен или поставлен как 1).
При значении Тип возвращаемого значения 2 неделя 1 начинается 1 января, а неделя 2 начинается в следующий понедельник.
С номерами недель в неделю неделя 1 начинается в понедельник первой недели в году с четверга. Это означает, что первый день года для недель ISO — это всегда понедельник в период с 29 января по 4 января.
Начиная с Excel 2010 для Windows и Excel 2011 для Mac, вы можете сгенерировать номер недели ISO, используя 21 как Тип возвращаемого значения:
= НОМНЕДЕЛИ(дата; 21)
В Excel 2013 появилась новая функция НОМНЕДЕЛИ.ISO.
Sheet1:
A B C
1 Code FatherDOB MotherDOB
2 28883 29/12/1987 28/01/1988
3 83933 19/11/1988 12/07/1988
4 55428 21/01/1938 03/10/1938
5 99999 18/03/1982 11/02/1980
Sheet2:
A B
1 Code EarliestDOB
2 28883 29/12/1987
3 99999 11/02/1980
4 83933 12/07/1988
5 55428 21/01/1938
You can combine two vlookup
operations with a min
operation:
=MIN(VLOOKUP(A2,Sheet1!$A$2:$C$5,2,FALSE),VLOOKUP(A2,Sheet1!$A$2:$C$5,3,FALSE))
The first vlookup
gives you the father’s date of birth (using the entire table range but extracting the second column) and the second gives you the mother’s date of birth (extracting the third column).
The earliest is then simply the minimum of the two.
If some of the dates may be blank, the easiest solution is probably to set up a D
column on sheet 1 to evaluate the earliest date, ignoring blanks. For example D2
would have (split across lines for readability):
=IF(ISBLANK(B2),
B3,
IF(ISBLANK(C2),
B2,
MIN(VLOOKUP(A2,$A$2:$C$5,2,FALSE),
VLOOKUP(A2,$A$2:$C$5,3,FALSE))))
If one of the cells is blank, it uses the other, otherwise it chooses the earliest.
Then you just lookup that new column D
in the formula on sheet 2 (example for B2
):
=VLOOKUP(A2,Sheet1!$A$2:$D$5,4,FALSE)
С помощью функции ВПР() можно выполнить поиск в столбце таблицы (называется ключевым столбцом), а затем вернуть значение из той же строки, но другого столбца. Здесь рассмотрим более сложный поиск: искать будем не среди всех значений ключевого столбца, а только среди значений удовлетворяющих дополнительному условию.
Точное совпадение
Сначала вкратце напомним работу ВПР() — VLOOKUP() с аргументом
интервальный_просмотр
= ЛОЖЬ (когда ищется значение в ключевом столбце точно соответствующее критерию).
Задача: Для заданного пользователем Товара найти в таблице соответствующую цену и количество (см. файл примера ).
Решение очевидно ( =ВПР(B10;B13:C15;2;0) ) и подробно рассмотрено
в статье про ВПР()
.
Предположим, что исходная таблица усложнилась — добавился столбец с номерами заказов.
Теперь необходимо искать заданный Товар не по всему столбцу Товар, а лишь в строках, относящегося к заданному пользователем Заказу.
Найдем количество и цену для товара Мандарины в Заказе 2.
В ячейках
А21
и
В21
введем номер Заказа и наименование товара.
В ячейке
С21
введем
формулу массива
:
=ЕСЛИ(МАКС(ЕСЛИ((Таб1[Заказ]=A21)*(Таб1[Товар]=B21);Таб1[Количество];»»));МАКС(ЕСЛИ((Таб1[Заказ]=A21)*(Таб1[Товар]=B21);Таб1[Количество];»»));»В заказе нет искомого Товара»)
Аналогичную формулу можно использовать для поиска цены.
Ближайшее ЧИСЛО (ДАТА)
В предыдущей задаче предполагалось, что наименование Товара присутствует в Заказе в единственном экземпляре и точно соответствует критерию поиска. Однако, существует класс задач, когда это не так. Особенно часто встречаются задачи поиска ближайшего ЧИСЛА (если точное значение в ключевом столбце не найдено, то выводится ближайшее).
Примечание
. Формулы, созданные для поиска ближайших ЧИСЕЛ, работают и для ДАТ, т.к. даты в MS EXCEL
хранятся в числовом формате
.
Сначала вкратце напомним работу ВПР() — VLOOKUP() с аргументом
интервальный_просмотр
= ИСТИНА (когда ищется значение в ключевом столбце точно или приблизительно совпадающее с критерием).
Задача: Для указанной пользователем Даты найти соответствующую ей цену (см. файл примера ).
Решение — формула =ВПР(B10;Табл2.1;2) , где
Табл2.1
—
таблица в формате MS EXCEL 2007
.
Напомним, что для ВПР() с аргументом
интервальный_просмотр
= ИСТИНА требуется сортированный по возрастанию ключевой столбец (Дата). При отсутствии в столбце точного совпадения выводится наибольшее значение, которое меньше искомого. При наличии нескольких одинаковых подходящих значений в ключевом столбце, учитывается, то что ниже. Поэтому Цена выведена 220р., а не 240 и не 230.
Теперь необходимо для заданной пользователем Даты найти соответствующую ей цену, но эта Цена и дата должны относится к заданному пользователем Продавцу.
Другими словами, найдем цену на дату, ближайшей к заданной, но только для определенно продавца.
В ячейках
А25
и
В25
введем Продавца и дату.
Прежде чем писать формулу, определимся, что значит «ближайший». На самом деле можно дать несколько определений, нужный вариант выбирается исходя из условий решаемой задачи.
Вот несколько возможных определений:
1. В терминах функции ВПР() «ближайший» — это наибольшее значение, которое меньше искомого. При наличии нескольких одинаковых подходящих значений в ключевом столбце, учитывается, то что расположено ниже в таблице. Понятно, что такое значение может быть не обязательно ближайшим.
2. Другой вариант: наименьшее значение, которое больше искомого. При наличии нескольких одинаковых значений в ключевом столбце, учитывается, то что выше.
3. Ближайшее, т.е. та дата, которая ближе, чем все остальные (м.б. раньше или позже заданной). Если таких дат несколько, то учитывается нижняя и выводится соответствующая ей цена.
Еще несколько вариантов предложено в файле примера .
Понятно, что для каждого определения ближайшего требуется своя
формулы массива
(все их можно найти в файле примера ).
Формулы для определения цены, как правило, используют результат формулы определяющей ближайшую дату.
Ближайшее время
Поскольку как и дата, так и время в EXCEL хранятся в числовом формате (см. здесь
https://excel2.ru/articles/kak-excel-hranit-datu-i-vremya
), то формулы будут работать и для дат с указанием времени, например 03.12.2018 15:06.
В файле примера есть лист для демонстрации работы функции ВПР() для столбца данных со временем (требуется сортировка по возрастанию).
На том же листе решена и другая задача: в столбце, содержащих время в часах и минутах, выделяются строки, которые попадают в заданный интервал времени (сортировка не обязательна).