Страницы: 1
RSS
По условию части слова в ячейке вставить текст
 
Есть список артикулов товара. В котором в первой половине есть сокращенное название магазина в центре артикула
Как вывести название магазина во втором столбце по тексту в артикуле

Вложение как хотелось бы видеть Лист Microsoft Excel.xlsx
 
Код
=ЕСЛИ(ПСТР(A2;3;3)="TW-";"TWEEN";ЕСЛИ(ПСТР(A2;3;3)="Sor";"SORTS";ЕСЛИ(ПСТР(A2;3;3)="Mar";"MARIO";"кочерга")))
Если магазинов много, лучше сделать вспомогательную табличку, краткое и полное наименование.
 
Таблица соответствий краткого и полного наименования обязательно нужна. а сокращение я бы дергал так
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A2;"-";"</i><i>")&"</i></j>";"//i[2]")
 
Цитата
написал:
Код
    [URL=#]?[/URL]       1      =ЕСЛИ(ПСТР(A2;3;3)=  "TW-"  ;  "TWEEN"  ;ЕСЛИ(ПСТР(A2;3;3)=  "Sor"  ;  "SORTS"  ;ЕСЛИ(ПСТР(A2;3;3)=  "Mar"  ;  "MARIO"  ;  "кочерга"  )))   
  Если магазинов много, лучше сделать вспомогательную табличку, краткое и полное наименование.

Да магазинов много
И как тогда сделать?
 

Ilnour, если делать с помощью Power Query, то вы должны сделать у себя таблицу справочника по наименованию артикул-магазин (зелёная таблица). Загружаете справочник и  обрабатываете свою основную таблицу. Вот пример с разъяснениями: https://www.planetaexcel.ru/techniques/7/13923/

Основной запрос:

Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица5"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Артикул", type text}}),
    #"Замена по справочнику" = Table.AddColumn(#"Измененный тип", "Пользовательская", each List.Accumulate(Справочник,[Артикул],(state,current)=>Text.Replace(state,current[Найти],current[Заменить]))),
    #"Добавлен пользовательский объект1" = Table.AddColumn(#"Замена по справочнику", "Пользовательская.1", each Text.BetweenDelimiters([Пользовательская], "-","-")),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Пользовательская"})
in
    #"Удаленные столбцы"

Справочник:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Справочник5"]}[Content],
    #"Измененный тип" = List.Buffer(Table.ToRecords(Table.TransformColumnTypes(Источник,{{"Найти", type text}, {"Заменить", type text}})))
in
    #"Измененный тип"
Страницы: 1
Наверх