Страницы: 1
RSS
Поиск ключевых слов в тексте с подстановкой определенных значений
 
Ребята приветствую.
Прошу помощи в реализации такого вопроса.
Есть столбцы с множеством сортированных данных (столбцов может быть много)
нужно при соответствии слова из конкретного столбца в тексте подставить номер этого столбца.
слова в поисковом тексте могут стоять как угодно. Самое важное что нужно находить только стлова из списка целиком, т.е. слово "корм" и слово "корма" это 2 разных слова.

пример приложил, для наглядности выделил цветами.
попробовал использовать данные из примера, именно формулы (Поиск ключевых слов в тексте) но получается вывести 1 слово и кучу нулей.
Возможно тут совсем подход нужен другой? подскажите пожалуйста.
Изменено: Антон - 22.09.2021 12:45:20
 
Антон, результат это в столбец G?
Не бойтесь совершенства. Вам его не достичь.
 
Доброе время суток.
Вариант на Power Query.
 
Цитата
Mershik написал: результат это в столбец G
да, именно

Цитата
Андрей VG написал: Вариант на Power Query.
Спасибо, но хотелось бы на формулах понять или возможно это.
Изменено: vikttur - 22.09.2021 20:49:58
 
Цитата
Антон написал:
но хотелось бы на формулах понять
думаю формул таких нет, ну или  UDF, макросом
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Антон написал:
хотелось бы на формулах
Я не настаиваю :)  Может формулисты и подтянуться. Но медведь, вроде, в отпуске.
 
Код
Sub iPoiskReplace()
Dim i As Long
Dim iLastRow As Long
Dim FoundCell As Range
Dim arr
Dim j As Integer
    iLastRow = Cells(Rows.Count, "F").End(xlUp).Row
    Range("G2:G" & iLastRow).ClearContents
    Range("G2:G" & iLastRow).NumberFormat = "@"
  For i = 2 To iLastRow
    arr = Split(WorksheetFunction.Trim(Cells(i, "F")), " ")
    For j = 0 To UBound(arr)
      Set FoundCell = Columns("A:D").Find(arr(j), , xlValues, xlPart)
      If Not FoundCell Is Nothing Then
        Cells(i, "G") = Cells(i, "G") & Cells(1, FoundCell.Column) & " "
      Else
        Cells(i, "G") = Cells(i, "G") & arr(j) & " "
      End If
    Next
  Next
End Sub
 
Огромнейшее спасибо!
Понял как это работает!
Страницы: 1
Наверх