2015-02-13 3 views
0

Я пытаюсь использовать регулярные выражения в Google Таблицах. Учитывая, что среда находится внутри GSheets, некоторые функции, кажется, отсутствуют или, возможно, просто разные.Регулярные выражения в Google Таблицах

Я хотел бы использовать функцию REGEXMATCH, которая возвращает истину, если диапазон в вопросе содержит любой из следующих строк:

«string1» «string2» «string3»

Я попытался =regexmatch(range,"([Ss]tring1|[[Ss]tring2|[Ss]tring3)"

Это работает.

Но мой разработчик коллега сказал, что он, как правило, только в конечном выражение /i сказать «Будьте нечувствительно к регистру»

=regexmatch(range,"/(String1|String2|String3)/i" 

Но поскольку Gsheets не использует «/», чтобы открыть регулярное выражение, есть другой способ сказать функции игнорировать дело?

Кроме того, есть ли способ отрицать выражение? То есть, вместо того, чтобы:

=NOT(regexmatch(range,"([Ss]tring1|[[Ss]tring2|[Ss]tring3)") 

Можете ли вы сделать что-то вроде

=regexmatch(range,"!=([Ss]tring1|[[Ss]tring2|[Ss]tring3)" 

ответ

0

есть другой способ сказать функцию игнорировать регистр?

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

=regexmatch(range,"(?i)string1|string2|string3") 
+0

Пробовал это без успеха. Вот полная формула, которую я пробовал (не работает): = iferror (сумма (фильтр (косвенный ($ AD $ 5), region1 = $ AD $ 4, индустрия = $ A11, квартал = C $ 9, не (REGEXMATCH (bu, «(? i) яблоки | груши | бананы)»)))), 0) Принимая во внимание, что это работает: iferror (сумма (фильтр (косвенный ($ AD $ 5), region1 = $ AD $ 4, industry = $ A11, Квартал = C $ 9, а не (REGEXMATCH (bu, "[Aa] pples | [Pp] уши | [Bb] ananas)")))), 0) Я предпочитаю ваш синтаксис, но, похоже, не могу его получить. Что ты думаешь? –

2

вы можете попробовать обертывание диапазон с «нижней» функции, так сравнивает значения, как если бы они все в нижнем регистре, независимо от действительно ли они или нет.

=REGEXMATCH(lower(range),"string1|string2|string3") 
Смежные вопросы