Пусть имеется диапазон с датами. Найдем дату из этого диапазона, которая является ближайшей к заданной. Решение этой задачи аналогично решению, изложенного в статье
Поиск ЧИСЛА ближайшего к заданному
.
Пусть в диапазоне
A4:A12
имеется список дат. Будем в нем искать дату из ячейки
С4
. Если диапазон не содержит искомого значения, то будет возвращено ближайшее значение.
Искомая дата необязательно должна совпадать с какой-нибудь датой или даже находиться в диапазоне поиска (см.
Файл примера
):
|
|
|
=
= |
ищется наибольшее значение, которое меньше, чем искомое значение (если искомая дата меньше, чем минимальное значение из диапазона, то будет возвращена ошибка #Н/Д) |
если столбец не отсортирован по возрастанию, то результат непредсказуем |
= |
ищется |
столбец м.б. не отсортирован |
= |
ищется |
столбец м.б. не отсортирован |
= |
ищется |
столбец м.б. не отсортирован |
= |
ищется |
столбец м.б. не отсортирован |
= |
ищется |
столбец м.б. не отсортирован |
Последние 5 решений реализованы с использованием
формул массива
. Для пошагового просмотра хода вычислений используйте клавишу
F9
.
Как видно из таблицы, применение функции
ВПР()
со значением аргумента
интервальный_просмотр
равным ИСТИНА, имеет недостатки. Во-первых, найденное значение м.б. далеко не ближайшим (задав в качестве критерия дату 06.02.2009 получим не ближайшую дату 07.02.2009, а наибольшее значение, которое меньше, чем искомое значение, т.е. 05.01.2009). Во-вторых, если искомая дата меньше, чем минимальное значение из диапазона, то будет возвращена ошибка #Н/Д. В-третьих, требуется
сортировка
списка, что не всегда удобно.
Хорошим решением является
формула массива
=ИНДЕКС(A4:A12; ПОИСКПОЗ(МИН(ABS(A4:A12-C4));ABS(A4:A12-C4);0))
свободная от всех указанных недостатков, но имеющая свои: формула относительно сложная и является
формулой массива
.
Совет
: т.к. дата в MS EXCEL хранится в числовом виде (см. статью
Как Excel хранит дату и время
), то формулы для поиска ближайшего числа также будут работать для дат (см. раздел
Ближайшее ЧИСЛО
).
Предположим, у вас есть список дат, смешанных с сегодняшней датой. Чтобы найти дату закрытия до сегодняшнего дня в этом списке, вам может потребоваться использовать формулы. Возможны две ситуации: одна определяет дату, ближайшую к сегодняшнему дню в прошлом, а другая — ближайшую к сегодняшнему дню в будущем. В этой статье мы покажем вам, как справиться с этими двумя проблемами.
Поиск ближайшей к сегодняшней дате даты в Excel
Поиск ближайшей даты к сегодняшнему дню в Excel
Поиск ближайшей к сегодняшней дате даты в Excel
Как показано на скриншоте ниже, сегодняшняя дата — 1 января 29 года, пожалуйста, сделайте следующее, чтобы найти прошлое, ближайшее к сегодняшней дате.
1. Выберите пустую ячейку, например ячейку B2, чтобы найти результат.
2. Скопируйте и вставьте формулу. = МАКС (($ A $ 2: $ A $ 18 в Панель формул, а затем нажмите Ctrl + Shift + Enter ключи одновременно.
Как показано на приведенном выше снимке экрана, вы можете видеть, что последняя дата, ближайшая к сегодняшней дате 1, заполнена в ячейке B26.
Поиск ближайшей даты к сегодняшнему дню в Excel
В этом разделе мы покажем вам, как найти ближайшую к сегодняшнему дню дату в будущем в Excel.
1. Выберите пустую ячейку B2, скопируйте и вставьте формулу. = МИН (ЕСЛИ (A2: A18> СЕГОДНЯ (); A2: A18)) в Панель формул, а затем нажмите Ctrl + Shift + Enter клавиши одновременно. Смотрите скриншот:
Тогда вы получите ближайшую к сегодняшнему дню дату в будущем в ячейке B2.
Заметки:
1. В формулах измените диапазон по своему усмотрению;
2. Если формат даты не отображается, измените формат ячейки на «Дата» после расчета.
Статьи по теме:
- Как найти первую или последнюю пятницу каждого месяца в Excel?
- Как найти 5 наименьших и наибольших XNUMX значений в списке в Excel?
- Как найти или проверить, открыта ли конкретная книга в 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% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (3)
Оценок пока нет. Оцените первым!
snatg Пользователь Сообщений: 159 |
Помогите, в инете есть какие-то решения, но что-то все не то и не знаю, как решить задачу хочется сделать формулу, которая будет находить ближайший к сегодня день рождения и выводить всех людей у кого д.р. и вот не знаю, как это сделать, думаю, что т.к. в данных есть год, то нужно делать доп столбцы, которые будут вынимать месяц и день из даты рождения и через них считать, а может и без них можно? — или сделать один доп столбец в котором формула будет подменять год из даты рожд. на текущий год… заранее спасибо, на всяк случай пример Прикрепленные файлы
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
snatg, уточните, что Вы подразумеваете под ближайшим ДР? <#0> |
snatg Пользователь Сообщений: 159 |
JayBhagavan, имею ввиду ближайший день, когда кого-то нужно поздравлять — сегодня, завтра, послезавтра и т.д. |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#4 27.09.2021 22:45:12 snatg, можно и без доп. столбцов.
и в J2: Изменено: JayBhagavan — 28.09.2021 00:51:30 <#0> |
||
snatg Пользователь Сообщений: 159 |
#5 27.09.2021 22:56:25
эта формула выводит 18.09.1980… результат там должен быть такой: 27.09.2021 Петров5 а завтра:
|
||||||||||
БМВ Модератор Сообщений: 21383 Excel 2013, 2016 |
=IFERROR(INDEX(B:B;SMALL(IF((DAY(H2)=DAY(C2:C73))*MONTH(H2)=MONTH(C2:C73);ROW(C2:C73));ROWS(I$2:I2)));»») Изменено: БМВ — 27.09.2021 23:38:50 По вопросам из тем форума, личку не читаю. |
vikttur Пользователь Сообщений: 47199 |
72 Водкин6 06.01.2022 |
snatg Пользователь Сообщений: 159 |
#8 28.09.2021 00:01:40 БМВ, индекснуть людей у которых день рожденья в определенный день — это достаточно легко, но спасибо
пока таких не встречала))) vikttur, это план))) В общем, я тут подумала, ведь задача вроде простая… нужно экселю сказать: найди в списке (столбец F) дату равную или большую чем сегодня, и все, только я не знаю, как ему это сказать))) |
||
Светлый Пользователь Сообщений: 487 |
Может быть, так устроит? Прикрепленные файлы
|
vikttur Пользователь Сообщений: 47199 |
#10 28.09.2021 00:24:24
Давайте подскажем Excel‘ю: Прикрепленные файлы
|
||
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#11 28.09.2021 00:45:46 snatg,
+++
и в J2 (без изменений): Изменено: JayBhagavan — 28.09.2021 01:02:06 <#0> |
||
snatg Пользователь Сообщений: 159 |
#12 28.09.2021 01:23:42 Светлый, спасибо, круто работает посмотрела, какие жуткие формулы
в A:A я вставила даты дней рождений с заменой на текущий год (ну т.е. перенесла столбец F) ну и добавила всякие там «дней до», «лет» и получилась красота, еще раз спасибо) Изменено: vikttur — 28.09.2021 11:17:44 |
||
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
snatg, очередная попытка. <#0> |
БМВ Модератор Сообщений: 21383 Excel 2013, 2016 |
=IFERROR(INDEX(B:B;MOD(SMALL(IF(DATE(YEAR(H$2);MONTH($C$2:$C$73);DAY($C$2:$C$73))>=H$2;DATE(YEAR(H$2);MONTH($C$2:$C$73);DAY($C$2:$C$73))+ROW($C$2:$C$73)%%);ROWS(I$2:I2));1)/1%%+0,1);»») По вопросам из тем форума, личку не читаю. |
У меня есть вот такой простенький файл, делюсь может нужен а может и нет. Занимайся тем чем увлекаешься! |
|
andylu Пользователь Сообщений: 274 |
ну и я в коллекцию подкину, хоть автор и нашел уже решение Прикрепленные файлы
Изменено: andylu — 28.09.2021 11:37:18 |
snatg Пользователь Сообщений: 159 |
#17 28.09.2021 17:19:19
о, сейчас все работает) Шохбозбек Абдуфаттоев, о, интересная идея менять не просто год на текущий, а на ближайший, когда нужно поздравлять, спасибо) andylu, спасибо, тоже интересное решение! |
||
Kuzmich Пользователь Сообщений: 7998 |
#18 28.09.2021 17:32:17
На Лист1 кнопка «Ближайшие на 30 дней ДР» Прикрепленные файлы
|
||
snatg Пользователь Сообщений: 159 |
#19 28.09.2021 17:41:09 Kuzmich, красиво получилось, спасибо! |
Поиск ближайшей даты к сегодняшнему дню |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
0 / 0 / 0 Регистрация: 20.08.2018 Сообщений: 5 |
|
1 |
|
Ближайшая дата(из диапазона) к текущей23.08.2018, 06:46. Показов 8086. Ответов 3
Здравствуйте!
0 |
772 / 615 / 294 Регистрация: 05.01.2014 Сообщений: 1,338 |
|
23.08.2018, 07:50 |
2 |
Вариант, формула массива. Код =НАИМЕНЬШИЙ(ЕСЛИ(B4:H4>=$B$2;B4:H4);1)
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
23.08.2018, 10:53 |
3 |
Сообщение было отмечено Rita2018 как решение РешениеЕще вариант формула массива Код =МИН((B4:H4<B$2)*9^9+B4:H4) и тоже самое не массивная Код =МИН(ИНДЕКС((B4:H4<B$2)*9^9+B4:H4;))
1 |
0 / 0 / 0 Регистрация: 20.08.2018 Сообщений: 5 |
|
23.08.2018, 12:38 [ТС] |
4 |
AleksSid, AlexM СПАСИБО ОГРОМНОЕ!!!!!!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
23.08.2018, 12:38 |
4 |