Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Извлечь слова по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Извлечь слова по условию (Формулы/Formulas)
Извлечь слова по условию
exe Дата: Воскресенье, 24.02.2019, 23:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Помогите извлечь номера РД по условию. Есть столбец с несколькими номерами (с разделителями через ", ")
Необходимо извлечь номера с кодом "DC"
К сообщению приложен файл: _2003.xlsx (9.1 Kb)
 
Ответить
СообщениеЗдравствуйте!
Помогите извлечь номера РД по условию. Есть столбец с несколькими номерами (с разделителями через ", ")
Необходимо извлечь номера с кодом "DC"

Автор - exe
Дата добавления - 24.02.2019 в 23:33
Karataev Дата: Воскресенье, 24.02.2019, 23:59 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
 
Ответить
Сообщение

Автор - Karataev
Дата добавления - 24.02.2019 в 23:59
exe Дата: Понедельник, 25.02.2019, 00:20 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо! Отлично работает!!!
 
Ответить
СообщениеСпасибо! Отлично работает!!!

Автор - exe
Дата добавления - 25.02.2019 в 00:20
krosav4ig Дата: Понедельник, 25.02.2019, 00:28 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вариант через Power Query
К сообщению приложен файл: 4442520.xlsx (19.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 25.02.2019, 07:57
 
Ответить
Сообщениевариант через Power Query

Автор - krosav4ig
Дата добавления - 25.02.2019 в 00:28
exe Дата: Понедельник, 25.02.2019, 02:16 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо! Как раз вовремя. Собирался попробовать в PQ. Только задачка немного усложнилась. Номера РД смешаны с ненужными данными, которые необходимо отфильтровать
Применил предложенный от Karataev макрос в столбце «B», попробовал отфильтровать оставшийся мусор в столбце «С». Как-то грустновато, двумя столбцами не обойтись, да и фигня какая я то это моя затея с кучей дополнительных столбцов.
Наверняка есть грамотное решение.
К сообщению приложен файл: __2.xls (58.5 Kb)


Сообщение отредактировал exe - Понедельник, 25.02.2019, 02:20
 
Ответить
СообщениеСпасибо! Как раз вовремя. Собирался попробовать в PQ. Только задачка немного усложнилась. Номера РД смешаны с ненужными данными, которые необходимо отфильтровать
Применил предложенный от Karataev макрос в столбце «B», попробовал отфильтровать оставшийся мусор в столбце «С». Как-то грустновато, двумя столбцами не обойтись, да и фигня какая я то это моя затея с кучей дополнительных столбцов.
Наверняка есть грамотное решение.

Автор - exe
Дата добавления - 25.02.2019 в 02:16
krosav4ig Дата: Понедельник, 25.02.2019, 03:34 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так, но косяк в 17 строке остался, там лишний пробел в исходных данных
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Пользовательская1 = Table.FromRecords(Table.TransformRows(Источник,each [#"Наименование комплекта ИД"=[#"Наименование комплекта ИД"],Результат=try Text.Combine(List.Transform(List.Select(Text.SplitAny([#"Наименование комплекта ИД"],",() ;_"),each Text.Contains(_,"DC")),Text.Trim),", ") otherwise ""]))
in
    Пользовательская1
[/vba]
К сообщению приложен файл: 5624000.xlsx (22.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так, но косяк в 17 строке остался, там лишний пробел в исходных данных
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Пользовательская1 = Table.FromRecords(Table.TransformRows(Источник,each [#"Наименование комплекта ИД"=[#"Наименование комплекта ИД"],Результат=try Text.Combine(List.Transform(List.Select(Text.SplitAny([#"Наименование комплекта ИД"],",() ;_"),each Text.Contains(_,"DC")),Text.Trim),", ") otherwise ""]))
in
    Пользовательская1
[/vba]

Автор - krosav4ig
Дата добавления - 25.02.2019 в 03:34
exe Дата: Понедельник, 25.02.2019, 07:32 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
ОК. Спасибо! Пару строк исправлю в исходнике.
 
Ответить
СообщениеОК. Спасибо! Пару строк исправлю в исходнике.

Автор - exe
Дата добавления - 25.02.2019 в 07:32
krosav4ig Дата: Понедельник, 25.02.2019, 07:39 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у этих номеров есть четкая структура? если да, то можно через UDF с regex нужные данные тянуть


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеу этих номеров есть четкая структура? если да, то можно через UDF с regex нужные данные тянуть

Автор - krosav4ig
Дата добавления - 25.02.2019 в 07:39
exe Дата: Понедельник, 25.02.2019, 18:21 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, Пример можно? “DC” заменил на “LN”
К сообщению приложен файл: 6710771.xls (40.5 Kb)
 
Ответить
Сообщениеkrosav4ig, Пример можно? “DC” заменил на “LN”

Автор - exe
Дата добавления - 25.02.2019 в 18:21
krosav4ig Дата: Пятница, 01.03.2019, 08:49 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Udf взял тут
[vba]
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(stringRegExpReplace(A2;"[\s\S]*?((?:[\w\d]{1,4}\.){4}(?:[\w\d&]{5,6}\.){2}\d{3}\.DC\.\d{4})|[\s\S]";"$1,";1;1;1);",";" "));" ";", ")
[/vba]
К сообщению приложен файл: _2.xls (77.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеUdf взял тут
[vba]
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(stringRegExpReplace(A2;"[\s\S]*?((?:[\w\d]{1,4}\.){4}(?:[\w\d&]{5,6}\.){2}\d{3}\.DC\.\d{4})|[\s\S]";"$1,";1;1;1);",";" "));" ";", ")
[/vba]

Автор - krosav4ig
Дата добавления - 01.03.2019 в 08:49
exe Дата: Среда, 06.03.2019, 19:44 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, Спасибо, Ув.!!! Почитаю!
 
Ответить
Сообщениеkrosav4ig, Спасибо, Ув.!!! Почитаю!

Автор - exe
Дата добавления - 06.03.2019 в 19:44
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Извлечь слова по условию (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!