Страницы: 1
RSS
Найти в колонках слово из массива и обозначить его
 
Есть 2 колонки с текстом - B и С
На второй вкладке есть список слов, которые нужно найти в колонках B и С.
В результате нужно заполнить колонку А найдеными словами по каждой строке.

т.е. если в ячейках B2,C2 найдено слово "слово", то в A2 внести "слово". Если найдено два и более слов из массива (вкладки), то эти слова указать через запятую.

о как.
Пример во вложении
 
Это что,  - задание нам?
Как срочно мы его должны выполнить?
 
Прошу прощения, но в час ночи глаза уже на лоб лезли в поисках решения.
Нашел решение поиска одного слова в в ячейках, но не нашел поиск нескольких слов в ячейках.
Подскажите, как реализовать?
 
В файле покажите несколько ячеек в столбце A заполненных вручную, для примера  
Согласие есть продукт при полном непротивлении сторон
 
Добавил. На листе "Text" в ячейке A2 и А55 добавил 2 найденных слова.
В ячейке А58 найдено уже 2 слова.
Есть формула СЧЕТЕСЛИ которая найдет кол-во слов в колонках, но это не то...
 
Нужно писать или макрос, или UDF - что думаю практичней, но тоже макрос.
 
Что-то логика не понятна. Почему в A3 пусто? В ячейке C3 ведь тоже есть concert? И далее в том же духе
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
Что-то логика не понятна. Почему в A3 пусто? В ячейке C3 ведь тоже есть concert? И далее в том же духе
Вы правы. Просто я ручками заполнил для примера то, что нужно получить в итоге.
слово concert также должно быть найдено в ячейках A3:A8.
 
Цитата
Hugo написал: или UDF - что думаю практичней, но тоже макрос.
Код
Function СЛОВА(rng1 As Range, cl As Range) As String
СЛОВА = Empty
    arrWords = rng1.Value
    For I = LBound(arrWords) To UBound(arrWords)
        If cl Like "*" & arrWords(I, 1) & "*" Then
            If СЛОВА = Empty Then
                СЛОВА = arrWords(I, 1)
            Else
                СЛОВА = СЛОВА & ", " & arrWords(I, 1)
            End If
        End If
    Next
End Function
Согласие есть продукт при полном непротивлении сторон
 
все оказалось просто:)
еще вопрос - как обойти регистр? ищет только слово с учетом регистра (я про формулу)
Изменено: Aleksandr.84 - 21.04.2016 09:59:24
 
До кода функции добавьте строку
Код
Option Compare Text
Изменено: Sanja - 21.04.2016 10:07:58
Согласие есть продукт при полном непротивлении сторон
 
Я бы предложил искать слова целиком, а не в составе других слов. Т.е. добавить ещё в процесс по концам пробелы.
 
Цитата
Hugo написал: добавить ещё в процесс по концам пробелы
Тогда concert, не найдет
Согласие есть продукт при полном непротивлении сторон
 
Коллеги, спасибо!
 
Sanja, браво!  :idea:  )) В коллекцию...  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Sanja написал:
Тогда concert, не найдет
Ну запятые и точки можно убить... Но это вопрос к заказчику - когда ищете "Gym", каких результатов ожидаете?
 
Цитата
Jack_Famous написал: браво!
Это много  :), там ничего сложного нет  
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Читают тему
Наверх