Как проверить, есть ли в содержимом ячейки хотя бы одно из слов из определенного набора?

Как я могу использовать формулу SEARCH с диапазоном значений-критериев поиска для проверки содержимого ячейки на наличие одного из заданных слов (например: "как", "топ", "лучшая" и т. д.) и определения того, является ли данная ключевая фраза информативным запросом?
  • 22 апреля 2024 г. 14:50
Ответы на вопрос 2
Вы можете использовать формулу SEARCH в Excel для проверки содержимого ячейки на наличие одного из заданных слов. 

Пример формулы выглядит так:

=IF(OR(ISNUMBER(SEARCH("как", A1)), ISNUMBER(SEARCH("топ", A1)), ISNUMBER(SEARCH("лучшая", A1)), ...), "Да", "Нет")

Здесь A1 - это ячейка, содержимое которой вы хотите проверить. Вы можете добавить сколько угодно слов в эту формулу, разделяя их запятыми. 

Формула работает так: функция SEARCH ищет каждое слово из списка в содержимом ячейки A1. Если слово найдено, функция возвращает числовое значение, если нет - ошибку #Н/Д. Функция ISNUMBER проверяет, является ли результат числом (слово найдено), и функция OR объединяет все условия в одно. 

Если хотя бы одно из слов найдено в содержимом ячейки A1, то формула вернет "Да", иначе - "Нет". 

Это позволит вам проверить содержимое ячейки на наличие заданных ключевых слов и определить, является ли оно информативным запросом.
Вариант: с помощью пользовательской функции <br/> Option Explicit <br/> <br/> Public Function SearchClickbait(TestString As String, ClickbaitRange As Range) As String <br/> ' ClickbaitRange  - диапазон на листе с ключевыми словами <br/> ' TestString - ячейка с анализируемым текстом <br/> Dim ws As Worksheet <br/> Set ws = ActiveSheet <br/> Dim rCell As Range <br/> <br/> Dim Pos As Long <br/> <br/> With ws <br/> SearchClickbait = "не информативный запрос" <br/> For Each rCell In ClickbaitRange.Cells <br/> <br/> Pos = InStr(1, TestString, rCell.Text, 1) <br/> If Pos >= 1 Then <br/> SearchClickbait = "(!)информативный запрос" <br/> Exit Function <br/> Else <br/> End If <br/> Next rCell <br/> <br/> End With <br/> <br/> End Function
Похожие вопросы