#if-statement #google-sheets #find #google-sheets-formula
Вопрос:
В данный момент я занят электронной таблицей для анализа результатов по URL-адресу. Проблема в том, что когда я хочу составить список уникальных URL-адресов, URL-адреса с параметром за ними (например,»? fbads») будут рассматриваться как уникальные, вместо этого мне нужно, чтобы эти результаты смешивались с основным URL-адресом. См. Пример ниже:
https://www.holidayguru.nl/deal/accommodatie/luxe-strandvakantie-in-ijmuiden-5e25ba62-e001-4072-8eb5-b6c3b0e7e66f/?fbclid=IwA
amp;
https://www.holidayguru.nl/deal/accommodatie/luxe-strandvakantie-in-ijmuiden-5e25ba62-e001-4072-8eb5-b6c3b0e7e66f/
Должно быть и то, и другое: https://www.holidayguru.nl/deal/accommodatie/luxe-strandvakantie-in-ijmuiden-5e25ba62-e001-4072-8eb5-b6c3b0e7e66f/
Я уже исправил это с помощью формулы, но мне нужен один список со всеми URL-адресами. Поэтому я рассматриваю два варианта. Или в
=СЛЕВА(A11,НАЙТИ(«?»,A11)-1)
То, что я использую прямо сейчас, мне нужно найти способ, как я могу сказать. Если вы не найдете»?», чем просто скопируйте ячейку A11
Или…
Я должен работать с функцией if, чтобы сказать, содержит ли A11″?», чем выполнить =левая функция, в противном случае используйте A11.
Мне не удается заставить формулу работать. Демонстрационный лист ниже :). Спасибо!
Ответ №1:
Удалите все из листа 1!A:A (включая заголовок) и поместите следующее в лист 1!A1:
=ArrayFormula({"UNIQUE URLS"; UNIQUE(FILTER(REGEXEXTRACT(URLs!A2:A,"[^?] "),URLs!A2:A<>""))})
Это создаст заголовок (который вы можете изменить как угодно в самой формуле) и уникальный список URL-адресов, определяемых только частью перед вопросительным знаком (если такой знак существует) или до конца исходного URL-адреса.
Для справки, выражение [^?]
означает «строка наибольшей длины, которая может быть извлечена без буквального вопросительного знака».
[ ]
= «любой из символов, содержащихся в настоящем документе»
[^ ]
= «ни один из этих персонажей»
= буквальный маркер (т. е. все, что будет следующим, будет рассматриваться как буквальный символ)
?
= буквальный вопросительный знак (использование буквального маркера перед ?
«необходимо», так как только » ?
имеет отдельное специальное значение в выражениях типа регулярных выражений)
= «один или несколько предшествующих символов или группа символов»
Комментарии:
1. Всегда пожалуйста, Сами. Я добавил в свой ответ краткое руководство по компонентам регулярных выражений, используемым в этом решении.