Страницы: 1
RSS
Необходимо извлечь слово из ячейки, если такое слово есть в справочнике
 
Добрый день!

Подскажите, пожалуйста, возможно ли решение по данной задаче?!

Мне необходимо, чтобы из текстового "хлама" в соседнюю ячейку выводилось наименование города (файл "Данные"), если  этот город есть в файле "Справочник".
Проблема усложняется ещё тем, что каждый раз данные приходят разные, с различной последовательностью, и очередностью. Для примера колонка А в файле "Данные".

Благодарю за любую помощь.
 
yarlo,
Код
=ИНДЕКС('C:\Users\user\Downloads\[Справочник.xlsx]Лист1'!$A:$A;АГРЕГАТ(15;6;СТРОКА('C:\Users\user\Downloads\[Справочник.xlsx]Лист1'!$A$2:$A$6)/((ЕЧИСЛО(НАЙТИ('C:\Users\user\Downloads\[Справочник.xlsx]Лист1'!$A$2:$A$6&" ";A2)))+(ЕЧИСЛО(НАЙТИ('C:\Users\user\Downloads\[Справочник.xlsx]Лист1'!$A$2:$A$6&",";A2))));1))
 
Спасибо)
 
Заметил, что формула не для всех работает. Подскажите, пожалуйста, может я не так запускаю формулу.

Прикладываю два файла для примера.
Когда протягиваю формулу мне выдает "Москва" по всем строкам, но при этом Москва находится только в первой строке.
Изменено: vikttur - 22.07.2021 17:36:58
 
Цитата
yarlo написал:
формула не для всех работает
Как минимум, у меня работает
Цитата
yarlo написал:
может я не так запускаю формулу
В примере покажите что у вас не получается
 
У меня как-то так выходит((
 
yarlo, проверяйте путь, название файла, название города
У меня нет проблем
 
Понял, спасибо
Изменено: yarlo - 22.07.2021 17:47:04
 
Михаил Л, Подскажите, пожалуйста, есть ли формула для извлечения улица из текста без справочника? Так как оказывается не все данные есть в справочнике, и приходится в ручную доделывать. Файл с примером прикрепил.
 
Можно так:
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(ЛЕВСИМВ(A2;НАЙТИ("ул";A2)-1);",";ПОВТОР(" ";22));22))
 
memo, работает, большое спасибо)
 
Цитата
для извлечения улица из текста
для ул., пер., пл., б-р
UDF
Код
Function iStreet(cell$)
 With CreateObject("VBScript.RegExp")
     .IgnoreCase = True
     .Pattern = "([А-ЯЁ]+)(?=\s(ул.|пер.|пл.|б-р))"
     iStreet = .Execute(cell)(0)
 End With
Страницы: 1
Наверх