вывод части текста из одной ячейки в другую

Автор Алекссандр, 27 сентября 2023, 21:46

0 Пользователи и 1 гость просматривают эту тему.

Алекссандр

здравствуйте, уважаемые знатоки! в ячейке внесен номер документа ("23231111010123001") внутри которого указана дата создания его- с 9 по 14 символ(010123). я умею только выделить его , путем удаления ненужных символов:  =ЗАМЕНИТЬ(ЗАМЕНИТЬ(F1;1;8;"");7;3;""), а как потом результат привести к виду 01.01.2023  либо вообще пойти можно другим путем?


mikekaganski

Если у Вас версия LibreOffice не старее 6.2 (то, что это LibreOffice, понятно из локализованных имён функций), то можно так:

=REGEX(A1;"^\d{8}(\d\d)(\d\d)(\d\d)\d{3}$";"$1.$2.$3")=РЕГВ(A1;"^\d{8}(\d\d)(\d\d)(\d\d)\d{3}$";"$1.$2.$3")
С уважением,
Михаил Каганский

bigor

Если значение нужны в формате даты,
=DATE(MID(A2;13;2);MID(A2;11;2);MID(A2;9;2))=ДАТА(ПСТР(A2;13;2);ПСТР(A2;11;2);ПСТР(A2;9;2))
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

sokol92

#3
Я бы еще пару тысяч добавил к году на всякий случай...  :)
И добавил вызов функции "ЗНАЧ" для тех пользователей, которые предпочитают устанавливать не совместимые с Excel значения параметра "Преобразование из текста в число" (Меню /Сервис / Параметры / LibreOffice Calc / Формула, кнопка "Подробности"). Итак, вариант от @bigor для ригористов:
=ДАТА(2000+ЗНАЧ(ПСТР(A2;13;2));ЗНАЧ(ПСТР(A2;11;2));ЗНАЧ(ПСТР(A2;9;2)))
Offtop.
ЦитироватьКак сложно жить среди занудов,
Сказал трёхлетний Михаил.
"Среди зануд" - поправил Павел,
Тридцатилетний и в очках.
К сожалению, на тридцатилетнего уже не похож (хотя по нику многие так думают).
Владимир.

Алекссандр

Спасибо за решения, уважаемые знатоки!!!!