Как вывести значение между символами в Excel с помощью регулярных выражений
Получая выгрузки по содержимому utm_меток мы получаем длинный список значений, которые необходимо обработать перед использованием в аналитике. Обрабатывать можно разными способами, но я чаще всего использую регулярные выражения.
Например есть вот такой список utm_меток выгруженных из ad_content Гугл Аналитикса. Цель вытащить из них id объявлений, чтобы в дальнейшем построить отчёт по их эффективности до kpi конверсий.
Пример выгрузки ad_content по разным источникам из Гугл Аналитикса
Нужный нам id объявлений хранится между нескольких элементов. В Яндексе это |aid| и |adp|.
Чтобы вытащить этот id необходимо с помощью регулярного выражения обработать эту ссылку.
Пример регулярного выражения для Яндекса
С помощью этой регулярки \|aid\|(\S+?)\|adp\| мы говорим:\|aid\| — начни с этого текста. Символы \ экранируют настоящее значение |, т.к. без экранирования смысл у этих символов другой;\S+? — возьми все символы кроме пробела;\|adp\| — до этого текста.
Чтобы сделать аналогичную операцию в Гугл Таблицах используем функцию REGEXEXTRACT.
И на выходе получаем чистый id, по которому можно будем связать расходы из рекламных площадок.
Обратите внимание на то, что в формуле я фильтрую условие по источнику, т.к. utm_метки были записаны по разному и текст нужно выводить между разными элементами.
Я подготовил на основе своего примера разные варианты вывода, но по хорошему нужно фиксить эту проблему на этапе формирования utm_меток, чтобы по одному регулярному выражению получать сразу по всем источникам нужные данные.
А также прикрепляю ссылку на сервис проверки регулярных выражений.