@kosyan4ik1

Как написать формулу ARRAYFORMULA + REGEXMATCH для поиска по столбцу значений из массива?

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

=ARRAYFORMULA(if(A:A="";;
  REGEXMATCH(A:A;"Седьмой")
))


А мне нужно что бы я выбирал не каждого отдельно как описано выше , а что то на подобии этого, но при такой формуле идет поиск только на полное совпадение ячеек...

=ARRAYFORMULA(if(A:A="";;
  REGEXMATCH(A:A;D:D)
))


601a64ddaf648785467037.png
  • Вопрос задан
  • 437 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Возможно,

=ARRAYFORMULA(IF(A2:A="";;
  REGEXMATCH(A2:A;"(" & TEXTJOIN("|";1;D2:D) & ")")
))


Но меня берут сомнения, что я правильно понял задачу

601a6cd5eabbc816859669.png

Как вариант, вам нужно вывести значения A:A по результатам поиска

=ARRAYFORMULA(
  IF(
    (A2:A<>"") * REGEXMATCH(A2:A;"(" & TEXTJOIN("|";1;D2:D) & ")");
    A2:A;

))


601a6fd734047639432651.png

Если же нам нужно знать критерий, который сработал при поиске, то REGEXMATCH не подойдет, нужно использовать поиск по строке

=ARRAYFORMULA(TRANSPOSE(TRIM(QUERY(
  IF(IFERROR(FIND(B2:B5;TRANSPOSE(A2:A7));"");B2:B5;);
  ;
  9^9
))))


601aacc02e6e8330983786.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы