Страницы: 1
RSS
Достать часть текста из ячейки
 
Всем добрый день!
Есть задача - из назначения платежа нужно написать формулу, чтобы достать номер инвойса в формате IVC-**-******* (чтобы потом по этому номеру смэтчить с данными из соседней вкладки). Достать нужно из колонки E в колонку H.
Я уже очень много времени сижу и не могу разобраться с этим. Что я попробовала:
1) формула =ПСТР(E2;ПОИСК("IV";E2);14), то есть взять 14 знаков, которые начинаются с букв IV. Почему не работает: количество знаков может быть разное - например, где-то лишний пробел стоит.
2) формула =ПСТР(E11;ПОИСК("IV";E11);ПОИСК("U";E11)-ПОИСК("IV";E11)+1), то есть взять текст, который начинается на IV, заканчивается на U. Почему не работает: в некоторых строках есть буква U, которая стоит перед IV, например, тогда формула не может выдать правильное значение.

Я никак не могу понять, что еще можно использовать для того, чтобы вывести эти значения с учетом всех особенностей (регистр, количество знаков и тд).
Помимо этого, проблема с тем, что все должно быть в едином формате - тут я даже не понимаю, как искать нужные мне формулы... то есть какая формула должна быть, чтобы условно и IVC-16488EU (где вообще знаков не хватает, но по логике там пропущено 20) и IVC20-17414EU сделать по формату IVC-**-*******.

Помогите, пожалуйста, буду рада любым предложениям. Может быть, есть какое-то очевидное решение?
Прошу прощения за сумбурную манеру письма, очень перенервничала и устала с этим бороться весь день.  
 
Цитата
Victoria Artamonova написал:
смэтчить
Вам в русском языке слов не хватает?. Обязательно такое дерьмо применить?
 
Добрый. Если в лоб по-быстрому:
1. Выделяем данные в Е. Через Ctrl+H последовательно заменяем: " -" на "-", "- " на "-", "/" на " /", " EU" на "EU"
2. Формула для второй строки:
Код
=ПСТР(E2;ПОИСК("IV";СЖПРОБЕЛЫ(E2));ЕСЛИОШИБКА(ПОИСК(" ";СЖПРОБЕЛЫ(E2);ПОИСК("IV";СЖПРОБЕЛЫ(E2))+1);ДЛСТР(СЖПРОБЕЛЫ(E2)))-ПОИСК("IV";СЖПРОБЕЛЫ(E2))+1)

3. Тянем вниз.

Вроде, работает. :)
Кому решение нужно - тот пример и рисует.
 
Victoria Artamonova, очень похоже на Вашу задачу Анализ текста регулярными выражениями (RegExp) в Excel и Регулярные выражения (RegExp) в Power Query
Кто ясно мыслит, тот ясно излагает.
 
Цитата
RAN написал:
Обязательно такое дерьмо применить?
Первый раз такое слово встречаю. Даже из любопытства поискал значение в интернете.
Изменено: Maximich - 26.07.2022 17:32:25
Кто ясно мыслит, тот ясно излагает.
 
Цитата
Пытливый написал:
Выделяем данные в Е. Через Ctrl+H последовательно заменяем: " -" на "-", "- " на "-", "/" на " /", " EU" на "EU"
После того как это проделаете, можно ещё такой формулой
Код
=ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПСТР(E2;ПОИСК("IVC";E2);999);" ";"</s><s>")&"</s></t>";"//s[1]")

PS ещё нужно заменить в "IVC" русскую букву "С" на латинскую "C", и "IVI" на "IVC"
Изменено: Msi2102 - 26.07.2022 17:47:51
 
Пытливый, Maximich, Msi2102, большое спасибо за помощь!  
 
Off
Цитата
RAN написал:
Вам в русском языке слов не хватает?
Джойнить можно, а мэтчить или вэлукапить  - нет? :-)  Но на самом дел Кошак прав, очень много подобных слов имеющих прямые аналоги втерлись в нашу речь, сам порой грешу. Хотя сокращения, например такие как KPI  (КиПиАй) в прямом переводе  КэПэЭ произносить и приятнее и проще. Хотя в первые Услышив вместо привычного БэЭмВэ(BMW)  БиЭмДаблЮ даже не понял о чем речь. :-)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх