Дата из текста (ДАТАИЗСТРОКИ)
Функция ищет дату в строке вне зависимости от того в какой части текста она находится, формат даты при этом может быть практически любым.
Описание работы
Часто необходимо извлечь дату из ячейки, которая содержит длинный текст. Задача может усложнится тем, что дата может быть как в начале, в конце или середине текста. Еще сложнее дело будет обстоять, что дата в тексте имеет разные форматы.
Извлечь в данном случае дату из текста стандартными методами крайне сложно.
С помощью функции на VBA =ДАТАИЗСТРОКИ это сделать очень просто. Функция найдет дату в тексте вне зависимости от формата ее записи и расположения ее в строке. Также распознаются даты на русском и английском языке.
Пример 1
Извлечение даты из текста, когда она расположена в начале строки. Это простой случай, здесь можно воспользоваться и сочетанием стандартных текстовых функций.
Пример 2
Аналогичный пример, но дата расположена в конце строки.

Пример 3
Извлечение даты из любой части текста и особенности функции. Обойтись стандартными функциями тут практически невозможно. Алгоритм функции из надстройки справится с эти очень просто.

Синтаксис функции
Функция =ДАТАИЗСТРОКИ(ТЕКСТ;[En]) имеет два аргумента:
- ТЕКСТ — Текст, из которого необходимо извлечь дату
- [En] — Необязательный параметр. Если дата содержит наименование месяца на английском языке, укажите данный параметр равный 1. По умолчанию равно 0.
Пример 4
Извлечение даты на английском языке из текста


Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Как найти дату в ячейке excel
Страницы: 1
Найти дату, соответствующую максимальному значению.
Пользователь
Сообщений: 297 Регистрация: 14.03.2018
07.05.2020 17:29:42
Имеется список дат в колонке А и список значений, принадлежащих данным датам в колонке В .
Ячейка С2 считает и отображает МАКС имальное значение из диапазона дат колонки А . =МАКС(B2:B4)
На пример: максимальное значение данного диапазона найдено значение = 5 .
ЗАДАЧА: Как вывести в ячейке D2 — Дату значения , которое нашла ячейка С2 ? (в D2 должна отобразиться дата 02.02.2020, тк ей принадлежит значение 5)
Прилагаю excel файл и скриншот. Заранее благодарю за помощь.
Прикрепленные файлы
- отобразить_дату_найденной-ячейки.xlsx (10.04 КБ)
Изменено: oleg9911 — 07.05.2020 20:07:03
ДАТА (функция ДАТА)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше
С помощью функции ДАТА в Excel можно объединить три отдельных значения в дату.
Технические подробности
Функция ДАТА возвращает порядковый номер определенной даты.
Синтаксис: ДАТА(год;месяц;день)
Аргументы функции ДАТА описаны ниже.
-
Год — обязательный аргумент. Значение аргумента год может содержать от одной до четырех цифр. Excel интерпретирует аргумент год в соответствии с используемой системой дат, используемой на вашем компьютере. По умолчанию в Microsoft Excel для Windows используется система дат 1900, то есть первой датой считается 1 января 1900 г.
Совет: Во избежание непредвиденных результатов используйте в качестве значения аргумента год четыре цифры. Например, значение «07» может интерпретироваться как «1907» или «2007». Четырехзначное обозначение года предотвращает возникновение путаницы.
- Если аргумент год находится в диапазоне от 0 (нуль) до 1899 (включительно), Excel для вычисления года прибавляет это значение к числу 1900. Например, функция ДАТА(108;1;2) возвращает 2 января 2008 (1900+108) года.
- Если аргумент год находится в диапазоне от 1900 до 9999 (включительно), Excel использует это значение как год. Например, функция ДАТА(2008;1;2) возвращает 2 января 2008 года.
- Если значение аргумента год меньше 0 или больше 9999, Excel возвращает значение ошибки #ЧИСЛО!.
- Если значение аргумента месяц больше 12, аргумент месяц добавляет число месяцев к первому месяцу указанного года. Например, функция ДАТА(2008;14;2) возвращает число, соответствующее 2 февраля 2009 года.
- Если значение аргумента месяц меньше 1, аргумент месяц вычитает значение этого числа месяцев, увеличенное на 1, из первого месяца указанного года. Например, функция ДАТА(2008;-3;2) возвращает число, соответствующее 2 сентября 2007 года.
- Если значение аргумента день больше числа дней в указанном месяце, аргумент день добавляет это число дней к первому дню месяца. Например, функция ДАТА(2008;1;35) возвращает число, соответствующее 4 февраля 2008 года.
- Если значение аргумента день меньше 1, аргумент день вычитает значение этого числа дней, увеличенное на 1, из первого дня указанного месяца. Например, функция ДАТА(2008;1;-15) возвращает число, соответствующее 16 декабря 2007 года.
Примечание: В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. Дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней. Чтобы вывести правильную дату, нужно изменить формат ячейки.

Синтаксис: ДАТА(год;месяц;день)
Например, =ДАТА(C2;A2;B2) объединяет значение года из ячейки C2, месяца из ячейки A2 и дня из ячейки B2 и помещает их в одну ячейку в виде даты. В примере ниже показан результат в ячейке D2.

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

- Щелкните правой кнопкой мыши ячейки, которые вы хотите изменить. На компьютере Mac щелкните ячейки, удерживая нажатой клавишу CTRL.
- На вкладке Главная щелкните Формат >Формат ячеек или нажмите клавиши CTRL+1 (COMMAND+1 на компьютере Mac).
- 3. Выберите нужный язык (местоположение) и формат даты.
- Дополнительные сведения о форматировании дат см. в статье Пользовательское форматирование даты.
Расчет даты на основе другой даты
Функцию ДАТА можно использовать для формирования даты на основе даты в другой ячейке. Например, с помощью функций ГОД, МЕСЯЦ и ДЕНЬ можно создать дату годовщины, основанную на другой ячейке. Допустим, что сотрудник начал работать 01.10.2016. С помощью функции ДАТА можно рассчитать пятилетний юбилей его работы.

- Функция ДАТА формирует дату. =ДАТА(ГОД(C2)+5;МЕСЯЦ(C2);ДЕНЬ(C2))
- Функция ГОД получает значение «2012» из ячейки C2.
- К этому значению прибавляется пять лет («+5»), после чего в ячейке D2 выводится «2017».
- Функция МЕСЯЦ получает значение «3» из ячейки C2 и добавляет его в ячейку D2 в качестве значения месяца.
- Функция ДЕНЬ получает значение «14» из ячейки C2 и добавляет его в ячейку D2 в качестве значения дня.
Преобразование текстовых строк и чисел в даты
Если открыть файл, полученный из другой программы, Excel попытается распознать даты в данных. Но иногда это не удается сделать. Возможно, это связано с тем, что числа не похожи на обычные даты или отформатированы как текст. В таком случае их можно преобразовать в даты с помощью функции ДАТА. Например, на приведенном ниже рисунке ячейка C2 содержит дату, которая имеет формат ГГГГММДД. Она также отформатирована как текст. Для ее преобразования в дату функция ДАТА используется в сочетании с функциями ЛЕВСИМВ, ПСТР и ПРАВСИМВ.

- Функция ДАТА формирует дату. =ДАТА(ЛЕВСИМВ(C2;4);ПСТР(C2;5;2);ПРАВСИМВ(C2;2))
- Функция ЛЕВСИМВ получает первые 4 знака слева в ячейке C2. При этом значение «2014» становится годом преобразованной даты в ячейке D2.
- Функция ПСТР ссылается на ячейку C2. Она получает 2 знака справа от 5-го знака. При этом значение «03» становится месяцем преобразованной даты в ячейке D2. «0» не включается в результат из-за формата Дата, заданного для ячейки D2.
- Функция ПРАВСИМВ получает первые 2 знака в ячейке C2 от правого края и добавляет «14» в ячейку D2 в качестве значения дня.
Увеличение или уменьшение даты на указанное количество дней
Чтобы увеличить или уменьшить дату на определенное количество дней, просто добавьте его к значению либо ссылке на ячейку с датой или вычтите его.
В приведенном ниже примере ячейка A5 содержит дату, которую нужно увеличить или уменьшить на 7 дней (значение в ячейке C5).
Как найти дату в ячейке excel
Доброго времени суток.
Прошу помощи в решения данного вопроса.
Смысл задачи:
Есть строка в таблице: Счет № 19 от 15 Февраля 2016 г.
Требуется вернуть дату из этой строки: 15 Февраля 2016 г.
—————————————————
Нашёл решение, но оно не подходит для данного примера
При помощи функции:
=ЕСЛИ(ЕТЕКСТ(A1);ПСТР(A1;ПОИСК(«. г.»; A1);10);0)
Можно вернуть дату но при условии того что в искомой строке дата будет в формате:
Счет № 19 от 15.02.2016 г.
—————————————————
Вопрос: Как вернуть дату в тексте ячейки Excel при формате даты: от 15 Февраля 2016 г.
Доброго времени суток.
Прошу помощи в решения данного вопроса.
Смысл задачи:
Есть строка в таблице: Счет № 19 от 15 Февраля 2016 г.
Требуется вернуть дату из этой строки: 15 Февраля 2016 г.
—————————————————
Нашёл решение, но оно не подходит для данного примера
При помощи функции:
=ЕСЛИ(ЕТЕКСТ(A1);ПСТР(A1;ПОИСК(«. г.»; A1);10);0)
Можно вернуть дату но при условии того что в искомой строке дата будет в формате:
Счет № 19 от 15.02.2016 г.
—————————————————
Вопрос: Как вернуть дату в тексте ячейки Excel при формате даты: от 15 Февраля 2016 г. Dirc
К сообщению приложен файл: 9385465.xls (24.0 Kb)
Сообщение отредактировал Dirc — Четверг, 18.02.2016, 14:07
Сообщение Доброго времени суток.
Прошу помощи в решения данного вопроса.
Смысл задачи:
Есть строка в таблице: Счет № 19 от 15 Февраля 2016 г.
Требуется вернуть дату из этой строки: 15 Февраля 2016 г.
—————————————————
Нашёл решение, но оно не подходит для данного примера
При помощи функции:
=ЕСЛИ(ЕТЕКСТ(A1);ПСТР(A1;ПОИСК(«. г.»; A1);10);0)
Можно вернуть дату но при условии того что в искомой строке дата будет в формате:
Счет № 19 от 15.02.2016 г.
—————————————————
Вопрос: Как вернуть дату в тексте ячейки Excel при формате даты: от 15 Февраля 2016 г. Автор — Dirc
Дата добавления — 18.02.2016 в 12:57
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4279
Замечаний: 0% ±
Excel 2003
=ПРОСМОТР(9^9;—ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;»ая»;»ай «);»я «;» «);» г.»;»»);СТРОКА($10:$15)))
=ПРОСМОТР(9^9;—ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;»ая»;»ай «);»я «;» «);» г.»;»»);СТРОКА($10:$15)))
К сообщению приложен файл: 9385465_1.xls (24.0 Kb)
=ПРОСМОТР(9^9;—ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;»ая»;»ай «);»я «;» «);» г.»;»»);СТРОКА($10:$15)))
Автор — AlexM
Дата добавления — 18.02.2016 в 14:21
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16620
Замечаний: 0% ±
2003; 2007; 2010; 2013 RUS
Не так универсально, зато покороче
=—(ПСТР(A2;ПОИСК(» от «;A2)+4;6)&ЛЕВБ(ПРАВБ(A2;7);4))
Не так универсально, зато покороче
=—(ПСТР(A2;ПОИСК(» от «;A2)+4;6)&ЛЕВБ(ПРАВБ(A2;7);4))
К сообщению приложен файл: 0376784.xls (24.5 Kb)
Сообщение Не так универсально, зато покороче
=—(ПСТР(A2;ПОИСК(» от «;A2)+4;6)&ЛЕВБ(ПРАВБ(A2;7);4))
Автор — _Boroda_
Дата добавления — 18.02.2016 в 14:35
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Замечаний: 0% ±
Excel 2010
Спасибо за решения.
Спасибо за решения. Dirc
Сообщение отредактировал Dirc — Четверг, 18.02.2016, 15:30
Сообщение Спасибо за решения. Автор — Dirc
Дата добавления — 18.02.2016 в 14:37
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Замечаний: 0% ±
Excel 2010
И последний вопрос, если строка будет такого вида: Контракт № 27ПК/15 от «01» Декабря 2015 года
И последний вопрос, если строка будет такого вида: Контракт № 27ПК/15 от «01» Декабря 2015 года Dirc
Сообщение И последний вопрос, если строка будет такого вида: Контракт № 27ПК/15 от «01» Декабря 2015 года Автор — Dirc
Дата добавления — 18.02.2016 в 15:24
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4279
Замечаний: 0% ±
Excel 2003
О функции СТРОКА() можно прочитать в справке, а фрагмент формулы с этой функцией возвращает массив чисел <10:11:12:13:14:15>
По последнему вопросу. В моей формуле надо вместо » г.» вставить » года»
Если формулу делать универсальной, например под эти два варианта, еще надо «»» заменить на пусто10:11:12:13:14:15>
О функции СТРОКА() можно прочитать в справке, а фрагмент формулы с этой функцией возвращает массив чисел <10:11:12:13:14:15>
По последнему вопросу. В моей формуле надо вместо » г.» вставить » года»
Если формулу делать универсальной, например под эти два варианта, еще надо «»» заменить на пусто AlexM 10:11:12:13:14:15>
Сообщение О функции СТРОКА() можно прочитать в справке, а фрагмент формулы с этой функцией возвращает массив чисел <10:11:12:13:14:15>
По последнему вопросу. В моей формуле надо вместо » г.» вставить » года»
Если формулу делать универсальной, например под эти два варианта, еще надо «»» заменить на пусто Автор — AlexM
Дата добавления — 18.02.2016 в 15:41 10:11:12:13:14:15>
