Как я могу найти точные вхождения строки в другую строку в Google Sheets? - PullRequest
1 голос
/ 01 июля 2019

У меня есть один столбец (из форм Google), содержащий список имен, разделенных запятыми, и я хочу проверить, включено ли определенное имя в этот список.

Есть несколько функций (поиск, поиск), найти и т. д.), я пытался, и это отчасти работал до определенного момента.Проблема возникает, как только в списке есть имя типа «Carolin», а имя, которое я хочу проверить, - «Caro».

Тогда всегда возвращается «true», что логически правильно, поскольку строка «Carolin»"очевидно содержит строку" Caro ".

В моем случае я хочу различать" Carolin "и" Caro ", как показано в примере.Как я могу это сделать?

names                            | name to check   | expected result
-----------------------------------------------------------------------
Michael, Carolin, John, Jane     | John            | True
Michael, Carolin, John, Jane     | Sarah           | False
Michael, Carolin, John, Jane     | Carolin         | True
Michael, Carolin, John, Jane     | Caro            | False
Michael, Carolin, John, Jane R.  | Jane R.         | True
Michael, Carolin, John, Jane R.  | Jane            | False

Редактировать: Добавлено две строки в примере.Я забыл о другом особом случае.

Ответы [ 3 ]

2 голосов
/ 01 июля 2019
=ARRAYFORMULA(IFERROR(REGEXMATCH(JOIN( ,
 REGEXMATCH(TRIM(SPLIT(A1, ",")), "^"&B1&"$")), "T")))

0

1 голос
/ 01 июля 2019

Пожалуйста, попробуйте:

=REGEXMATCH(A2,"\b"&B2&"\b")

REGEXMATCH . \b обозначает границу слова ASCII.

0 голосов
/ 01 июля 2019

Если кто-то ищет короткое решение, я обнаружил, что эта формула работает:

=REGEXMATCH(A2,B2&"(,|$)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...