Здравствуйте! Помогите извлечь номера РД по условию. Есть столбец с несколькими номерами (с разделителями через ", ") Необходимо извлечь номера с кодом "DC"
Здравствуйте! Помогите извлечь номера РД по условию. Есть столбец с несколькими номерами (с разделителями через ", ") Необходимо извлечь номера с кодом "DC"exe
Dim src(), res(), arr Dim lr As Long, i As Long, ii As Long
lr = Cells(Rows.Count, "A").End(xlUp).row src() = Range("A2:A" & lr).Value ReDim res(1 To UBound(src), 1 To 1)
For i = 1 To UBound(src) src(i, 1) = Replace(src(i, 1), Chr(10), "") arr = Split(src(i, 1), ",") For ii = 0 To UBound(arr) arr(ii) = LTrim(arr(ii)) If InStr(arr(ii), ".DC.") Then res(i, 1) = res(i, 1) & arr(ii) & ", " End If Next ii If res(i, 1) <> "" Then res(i, 1) = Left(res(i, 1), Len(res(i, 1)) - 2) End If Next i
Range("B2").Resize(UBound(res)).Value = res()
MsgBox "Готово!", vbInformation
End Sub
[/vba]
[vba]
Код
Sub Извлечь_DC()
Dim src(), res(), arr Dim lr As Long, i As Long, ii As Long
lr = Cells(Rows.Count, "A").End(xlUp).row src() = Range("A2:A" & lr).Value ReDim res(1 To UBound(src), 1 To 1)
For i = 1 To UBound(src) src(i, 1) = Replace(src(i, 1), Chr(10), "") arr = Split(src(i, 1), ",") For ii = 0 To UBound(arr) arr(ii) = LTrim(arr(ii)) If InStr(arr(ii), ".DC.") Then res(i, 1) = res(i, 1) & arr(ii) & ", " End If Next ii If res(i, 1) <> "" Then res(i, 1) = Left(res(i, 1), Len(res(i, 1)) - 2) End If Next i
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Пользовательская1 = Table.FromRecords(Table.TransformRows(Источник,each [Данные=[Данные],Результат=try Text.Combine(List.Transform(List.Select(Text.Split([Данные],","),each Text.Contains(_,"DC")),Text.Trim),", ") otherwise ""])) in Пользовательская1
[/vba]
вариант через Power Query
[vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Пользовательская1 = Table.FromRecords(Table.TransformRows(Источник,each [Данные=[Данные],Результат=try Text.Combine(List.Transform(List.Select(Text.Split([Данные],","),each Text.Contains(_,"DC")),Text.Trim),", ") otherwise ""])) in Пользовательская1
Спасибо! Как раз вовремя. Собирался попробовать в PQ. Только задачка немного усложнилась. Номера РД смешаны с ненужными данными, которые необходимо отфильтровать Применил предложенный от Karataev макрос в столбце «B», попробовал отфильтровать оставшийся мусор в столбце «С». Как-то грустновато, двумя столбцами не обойтись, да и фигня какая я то это моя затея с кучей дополнительных столбцов. Наверняка есть грамотное решение.
Спасибо! Как раз вовремя. Собирался попробовать в PQ. Только задачка немного усложнилась. Номера РД смешаны с ненужными данными, которые необходимо отфильтровать Применил предложенный от Karataev макрос в столбце «B», попробовал отфильтровать оставшийся мусор в столбце «С». Как-то грустновато, двумя столбцами не обойтись, да и фигня какая я то это моя затея с кучей дополнительных столбцов. Наверняка есть грамотное решение.exe