Excel поиск даты в ячейке excel

17 Май

Поиск даты в ячейке с текстом

Поиск даты в ячейке с текстом

Добрый день, уважаемые читатели и подписчики блога! Сегодня поговорим о поиске даты в ячейке с текстом.

Представим ситуацию — в ячейке с текстом есть дата, но находится она в абсолютно разных частях текста:

Поиск даты в ячейке с текстом

В таком случае привычные нам ЛЕВСИМВ, ПРАВСИМВБ и ПСТР (в обычном их употреблении) будут почти бессильны. Для решения данной задачи сначала превратим свою таблицу в умную сочетанием Ctrl+T, чтобы потом было проще работать с данными (воспользоваться всеми прелестями мгновенного заполнения). Добавим ещё один столбец.

Поиск даты в ячейке с текстом

Теперь всё же воспользуемся функцией ПСТР. Немного разбавив её синтаксис функцией ПОИСК.

=ПСТР(A2;ПОИСК(«??.??.????»;A2);10)

Нам нужно определить начальную позицию даты, знаем, что в дате 10 символов с точками и последовательностью 2символа, точка, 2 символа, точка, 4 символа —  «??.??.????».

«??.??.????» — это символы подстановки, я называю их «маской» поиска. Передадим их в функцию ПОИСК.

Последним аргументом передадим количество возвращаемых символов. Вот и всё!

Поиск даты в ячейке с текстом

Благодаря умной таблице столбец заполнится формулами сам (по крайней мере в 19 версии офиса).

Всем удачи!

Вас может заинтересовать статья — «Как скрыть лист в Excel».

 

Zic

Пользователь

Сообщений: 4
Регистрация: 03.09.2014

Здравствуйте.
Подскажите пожалуйста, как можно вывести дату в эксель, например есть запись » договор №1234567 от 01.01.2001 года». Необходимо вывести в отдельный столбец 01.01.2001.
формула =пстр подойдёт, если  позиция первого знака в каждой строке будет одинакова. Но что делать, если она будет на несколько больше в другой строке, тогда протянуть формулу не получится, пример во вложении.

Заранее спасибо.

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

Если дата всегда справа:

=ПОДСТАВИТЬ(ПРАВСИМВ(A2;10);»/»;».»)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Zic

Пользователь

Сообщений: 4
Регистрация: 03.09.2014

спасибо большое, формула помогла!

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Можно не менять. Будет дата, а не текст:
=—ПРАВСИМВ(A2;10)

 

Zic

Пользователь

Сообщений: 4
Регистрация: 03.09.2014

спасибо

Изменено: Zic04.09.2014 15:31:30

 

Zic

Пользователь

Сообщений: 4
Регистрация: 03.09.2014

а что делать, в случае, если не всегда только справа дата, а где нибудь в середине, например:

договор № 2558884444 от 25.05.2010 года

???

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#7

04.09.2014 15:36:18

Код
=ДАТАЗНАЧ(ПСТР(A1;ПОИСК("от";A1)+3;10))

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#8

04.09.2014 15:38:02

=ПСТР(A2;ПОИСК(«??.??.????»;A2);10)

Формула найти дату(ДД.ММММ.ГГГГ) в тексте ячейки Excel

Dirc

Дата: Четверг, 18.02.2016, 12:57 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Доброго времени суток.
Прошу помощи в решения данного вопроса.
Смысл задачи:
Есть строка в таблице: Счет № 19 от 15 Февраля 2016 г.
Требуется вернуть дату из этой строки: 15 Февраля 2016 г.
—————————————————
Нашёл решение, но оно не подходит для данного примера
При помощи функции:

Код

=ЕСЛИ(ЕТЕКСТ(A1);ПСТР(A1;ПОИСК(«??.??.???? г.»; A1);10);0)

Можно вернуть дату но при условии того что в искомой строке дата будет в формате:
Счет № 19 от 15.02.2016 г.
—————————————————
Вопрос: Как вернуть дату в тексте ячейки Excel при формате даты: от 15 Февраля 2016 г.

К сообщению приложен файл:

9385465.xls
(24.0 Kb)

Сообщение отредактировал DircЧетверг, 18.02.2016, 14:07

 

Ответить

AlexM

Дата: Четверг, 18.02.2016, 14:21 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Код

=ПРОСМОТР(9^9;—ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;»ая»;»ай «);»я «;» «);» г.»;»»);СТРОКА($10:$15)))



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

_Boroda_

Дата: Четверг, 18.02.2016, 14:35 |
Сообщение № 3

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Не так универсально, зато покороче

Код

=—(ПСТР(A2;ПОИСК(» от «;A2)+4;6)&ЛЕВБ(ПРАВБ(A2;7);4))

К сообщению приложен файл:

0376784.xls
(24.5 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Dirc

Дата: Четверг, 18.02.2016, 14:37 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо за решения.

Сообщение отредактировал DircЧетверг, 18.02.2016, 15:30

 

Ответить

Dirc

Дата: Четверг, 18.02.2016, 15:24 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

И последний вопрос, если строка будет такого вида: Контракт № 27ПК/15 от «01» Декабря 2015 года

 

Ответить

AlexM

Дата: Четверг, 18.02.2016, 15:41 |
Сообщение № 6

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

О функции СТРОКА() можно прочитать в справке, а фрагмент формулы с этой функцией возвращает массив чисел {10:11:12:13:14:15}
По последнему вопросу. В моей формуле надо вместо » г.» вставить » года»
Если формулу делать универсальной, например под эти два варианта, еще надо «»» заменить на пусто



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Dirc

Дата: Четверг, 18.02.2016, 15:54 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Благодарю

 

Ответить

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

Описание

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

Создание образца листа

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

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

A

B

C

D

E

1

Имя

Правитель

Возраст

Поиск значения

2

Анри

501

Плот

Иванов

3

Стэн

201

19

4

Иванов

101

максималь

5

Ларри

301

составляет

Определения терминов

В этой статье для описания встроенных функций Excel используются указанные ниже условия.

Термин

Определение

Пример

Массив таблиц

Вся таблица подстановки

A2: C5

Превышающ

Значение, которое будет найдено в первом столбце аргумента «инфо_таблица».

E2

Просматриваемый_массив
-или-
Лукуп_вектор

Диапазон ячеек, которые содержат возможные значения подстановки.

A2: A5

Номер_столбца

Номер столбца в аргументе инфо_таблица, для которого должно быть возвращено совпадающее значение.

3 (третий столбец в инфо_таблица)

Ресулт_аррай
-или-
Ресулт_вектор

Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор.

C2: C5

Интервальный_просмотр

Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение.

ЛОЖЬ

Топ_целл

Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?.

Оффсет_кол

Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки).

Функции

LOOKUP ()

Функция Просмотр находит значение в одной строке или столбце и сопоставляет его со значением в той же позицией в другой строке или столбце.

Ниже приведен пример синтаксиса формулы подСТАНОВКи.

   = Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)


Следующая формула находит возраст Марии на листе «образец».

   = ПРОСМОТР (E2; A2: A5; C2: C5)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).

Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.

Чтобы получить дополнительные сведения о функции Просмотр , щелкните следующий номер статьи базы знаний Майкрософт:
 

Использование функции Просмотр в Excel

ВПР ()

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

Ниже приведен пример синтаксиса формулы ВПР :

    = ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)

Следующая формула находит возраст Марии на листе «образец».

   = ВПР (E2; A2: C5; 3; ЛОЖЬ)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).

Чтобы получить дополнительные сведения о функции ВПР , щелкните следующий номер статьи базы знаний Майкрософт:
 

Как найти точное совпадение с помощью функций ВПР или ГПР

INDEX () и MATCH ()

Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.

Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:

    = Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)

Следующая формула находит возраст Марии на листе «образец».


= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).

Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:

Поиск данных в таблице с помощью функции индекс

СМЕЩ () и MATCH ()

Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.

Ниже приведен пример синтаксиса, объединяющего смещение и сопоставление для достижения того же результата, что и функция Просмотр и ВПР.

   = СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)

Эта формула находит возраст Марии на листе «образец».

   = СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).

Чтобы получить дополнительные сведения о функции СМЕЩ , щелкните следующий номер статьи базы знаний Майкрософт:
 

Использование функции СМЕЩ

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


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

Точное совпадение

Сначала вкратце напомним работу ВПР() — 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.

В файле примера есть лист для демонстрации работы функции ВПР() для столбца данных со временем (требуется сортировка по возрастанию).

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

Понравилась статья? Поделить с друзьями:
  • Excel поиск данных на другом листе
  • Excel поиск данных в тексте
  • Excel поиск данных в одной ячейке
  • Excel поиск без учета регистра
  • Excel поиск адреса ячейки по условию