Используйте регулярное выражение с переключателем - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть список текста в столбце A, и мне нравится запускать переключатель на основе наличия регулярного выражения в этой ячейке.

A1 = "https://www.amazon.es/dp/B07PHPXHQS/ref=gw_es_desk_h1_aucc_cr_vd20?pf_rd_p=b1bd6d90-90a7-419a-8a6e-8c943ef52b62&pf_rd_r=XKJEDGQX6TSJ91JF0B6Y"

=switch(A1,REGEXMATCH(A1, "amazon."),"amazon",REGEXMATCH(A1, "lifehacker."),"LFH",REGEXMATCH(A1, "engadget."),"ENG","other")

Если ссылка на amazon.com/, какая бы она ни была, должна возвращать "amazon" и т. Д.

Я не получаю ошибки ... но я всегда получаю "прочее", как если бы здесь не работало регулярное выражение.

Есть ли другой способ сделать это?

1 Ответ

1 голос
/ 09 февраля 2020

Это своего рода ошибка категории, потому что в вашем операторе switch вы пытаетесь сравнить всю строку в A1 с результатом вызовов функции REGEXMATCH, которые на самом деле будут TRUE, TRUE и FALSE. Чтобы сделать это с помощью оператора switch, вам нужно сделать что-то вроде этого:

=iferror(switch(regexextract(A1,"amazon.|lifehacker.|engadget."),"amazon.","amazon","lifehacker.","LFH","engadget.","ENG"),"other")

, но я подозреваю, что есть более элегантные способы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...