Страницы: 1
RSS
Как извлечь артикул из середины текста.
 
Всем привет, товарищи! Нужна ваша помощь.
У меня есть 2 таблицы. Одна с артикулами, а другая с названием товаров. В название товара входи артикул. Вот тут и проблема. Не могу понять, как в соседнюю ячейку рядом с товаром подтянуть артикул. левсимв, правсимв, пстр ..... это очень долго, особенно если товаров несколько сотен. Читал статьи про впр по части текста, но не получается.... как-будто все наоборот получается.

То,что нужно в конечном итоге я приложил в фото ниже.
Всем заранее огромная благодарность!
Изменено: БМВ - 16.06.2022 13:08:00
 
А если решение без ВПР?
 
А это  как?
Изменено: Алексей Корепанов - 16.06.2022 07:37:42
 
Алексей Корепанов,  Вы сами написали что получается наоборот и это именно то что делает ВПР. Тогда зачем вы приплели её в названии темы?
Цитата
Алексей Корепанов написал:
левсимв, правсимв, пстр ..... это очень долго,
возможно, но даже сравнение с готовым справочником может оказаться  не короче, а ресурса потребует больше чем выделение из строки артикула. Хотя у вас уже и отсортированы они корректно то есть с большим суффиксом идет первым
например
ж1742-11
ж1742-1
но если сортировка нарушится то ж1742-1 будет найдено вместо ж1742-11 как часть этой строки.
По вопросам из тем форума, личку не читаю.
 
Написал, как понимаю тему) Если не ВПР, то есть ли другой вариант решения проблемы?  
 
Почитайте ТУТ, может подойдет.
Если нужно извлечь артикул из середины текста, то попробуйте это сделать в два действия:
1. Из ячейки А2 ("ж1737-ж1737-4белый") скопируйте эту часть текста: "ж1737-ж1737-4" и вставьте её в ячейку В2, после чего на вкладке "Данные" жмите кнопку мгновенное заполнение. Это очистит Ваши данные от текстового хвоста и разделителя "нижнее подчеркивание", который присутствует не везде;
2. В ячейку С2 вводим формулу и протягиваем вниз:
Код
=(ЕСЛИ(ДЛСТР(B2)<9;B2;ПСТР(B2;ПОИСК("-";B2)+1;99)))
Изменено: Msi2102 - 16.06.2022 09:12:27
 
Msi2102,  Ну и куда теперь ВПР втемяшивать?

Цитата
Алексей Корепанов написал:
Написал, как понимаю тему)
теперь понимайте корректно и правильно.

Ждем названия темы которое описывает задачу!
По вопросам из тем форума, личку не читаю.
 
Тема: Как извлечь артикул из середины текста
Если я правильно понял ТС  :D
PS: Хотя после этой доработки, как раз, можно безболезненно использовать ВПР  :D
Изменено: Msi2102 - 16.06.2022 10:56:29
 
Если не сортированный справочник артикулов.
Массивная
=INDEX(Артикул!A:A;MOD(MAX(IF(ISNUMBER(FIND(Артикул!$A$2:$A$539;товары!A2));LEN(Артикул!$A$2:$A$539)+ROW($A$2:$A$539)%%));1)/1%%+0,1)
Изменено: БМВ - 16.06.2022 13:09:17
По вопросам из тем форума, личку не читаю.
 
В PQ (сортировка по длине артикула уже в коде):
Код
let
  VCs       = Excel.CurrentWorkbook(){[ Name = "vendor_code" ]}[Content],
  VCsLst    = List.Buffer ( List.Sort ( Table.ToColumns ( VCs ){0}, ( x ) => - Text.Length ( x ) ) ),
  products  = Excel.CurrentWorkbook(){[ Name = "product" ]}[Content],
  transform = List.Transform ( Table.ToColumns ( products ){0}, ( x ) => List.Select ( VCsLst, ( vc ) => Text.Contains ( x, vc ) ){0}? ),
  result    = Table.FromColumns ( { transform }, type table [ Артикул = text ] )
in
  result
 
Ребята, благодарю всех за поддержку и помощь! Задача успешно реализована.  
Страницы: 1
Наверх