#excel #string #excel-formula #string-matching
#excel #строка #excel-формула #сопоставление строк
Вопрос:
У меня есть таблица Excel с полем под названием «ключевые слова», содержащим несколько слов, которые различаются для каждой записи. У меня есть еще одно поле под названием «категория фармакологии», в котором есть формула, которая выводит «да», если какой-либо из пользовательских, предопределенных списков терминов появляется в записи поля «ключевые слова», и «нет», если нет.
Проблема, с которой я сталкиваюсь, заключается в том, что фрагменты слов отображаются как «да» в этой формуле, например, если слово «агонист» появляется в поле «ключевые слова», а в моем списке «категория фармакологии» слово «антагонист» определено как слово, это приведет к «да», потому что это содержится в слове.
Чтобы преодолеть это, я могу использовать пробелы по обе стороны от слова при создании списка слов — » агонист». Это решило бы проблему, однако, поскольку иногда эти слова разделяются точкой с запятой, слово «агонист;» в данном случае не вернет «да».
Мне нужен способ запустить этот поиск, чтобы обрабатывать эти точки с запятой как пробелы. Самое близкое решение, которое я нашел, — это использование команды substitute, обсуждаемой здесь, но я изо всех сил пытаюсь интегрировать ее в мою существующую формулу без ошибок.
Рабочая формула, которую я использую до сих пор, приведена ниже:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH({" Drug effects "," Drug therapy "," antagonist " },C2)))>0,"YES","NO")
Это предполагает, что ячейка C2 содержит запись «ключевых слов», которая может выглядеть примерно как «антагонист; агонист; ДНК» и т.д.
Мне просто нужно это изменить, чтобы игнорировать точки с запятой, чтобы «антагонист;» отображалось как «да», когда «антагонист» включен в список предопределенных слов.
Любая помощь приветствуется
Комментарии:
1.
=IF(SUMPRODUCT(--ISNUMBER(SEARCH({" Drug effects "," Drug therapy "," antagonist " }, SUBSTITUTE(C2, ";", " ") )))>0,"YES","NO")
2. =ЕСЛИ(ИЛИ(ISNUMBER(SEARCH({» Лекарственные эффекты «, » Лекарственная терапия «, » антагонист «},» «amp;ЗАМЕНИТЬ(C2,»;»,» «)))),» ДА», «НЕТ»)
3. Потрясающе, спасибо. Оба эти решения работают хорошо.