4 способа посчитать потоварные расходы на рекламу ВБ
Привет, друзья-аналитики! 👋 Сегодня разберем интересную задачу из нашего чата. Готовы прокачать свои навыки работы с формулами? Поехали! 🚀
🎯 Задача:
У нас есть два листа: "Воронка" и "Реклама". Нужно перенести данные о расходах на рекламу с листа "Реклама" на лист "Воронка", сопоставляя их по артикулу и дате. При этом на листе "Реклама" может быть несколько записей для одной комбинации артикула и даты.
Давайте разберем предложенные решения:
1️⃣ Формула с #XLOOKUP:
=ARRAYFORMULA(
IF(A2:A="";
;
XLOOKUP(
A2:A&B2:B;
'Реклама'!B2:B&'Реклама'!A2:A;
'Реклама'!D2:D;
"Не найдено"
)
)
)
Как это работает:
A2:A&B2:B - создает уникальный ключ из артикула и даты на листе "Воронка"
'Реклама'!B2:B&'Реклама'!A2:A - делает то же самое на листе "Реклама"
XLOOKUP ищет соответствие этих ключей и возвращает значение из столбца D листа "Реклама"
⚠️ Ограничение: Эта формула найдет только первое соответствие для каждой комбинации артикула и даты.
2️⃣ Формула с #VLOOKUP:
=ARRAYFORMULA(
IFNA(
VLOOKUP(
B2:B&" "&A2:A;
{'Реклама'!A2:A&" "&'Реклама'!B2:B\ 'Реклама'!D2:D};
2;
0
);
)
)
Как это работает:
B2:B&" "&A2:A - создает ключ поиска из даты и артикула
{'Реклама'!A2:A&" "&'Реклама'!B2:B\ 'Реклама'!D2:D} - создает временный массив для поиска
VLOOKUP ищет соответствие в этом массиве
⚠️ Ограничение: Как и предыдущая, эта формула найдет только первое соответствие.
3️⃣Продвинутая формула с #QUERY:
=ARRAYFORMULA(
IFNA(
VLOOKUP(
B2:B&" "&A2:A;
QUERY(
{'Реклама'!A2:A&" "&'Реклама'!B2:B\ 'Реклама'!D2:D};
"Select Col1, SUM(Col2) group by Col1"
);
2;
0
);
)
)
Как это работает:
QUERY - суммирует все расходы для каждой уникальной комбинации даты и артикула
VLOOKUP - затем ищет соответствие в этом предобработанном массиве
👍 Преимущество: Эта формула корректно обрабатывает случаи с несколькими записями для одной комбинации артикула и даты.
4️⃣Элегантное решение с #MAP и #LAMBDA:
=ArrayFormula(
MAP(
A2:A;
B2:B;
LAMBDA(
a;b;
SUMIF(
'Реклама'!B2:B&'Реклама'!A2:A;
a&b;
'Реклама'!D2:D
)
)
)
)
Как это работает:
MAP - применяет функцию к каждой паре значений из A2:A и B2:B
LAMBDA - создает временную функцию, которая использует SUMIF
SUMIF суммирует все соответствующие расходы для каждой комбинации артикула и даты
👍 Преимущество: Это решение и гибкое, и эффективное, корректно обрабатывающее множественные записи.
💡Итог: Третья и четвертая формулы наиболее универсальны, так как они суммируют все расходы для каждой комбинации артикула и даты.
А какое решение кажется вам наиболее элегантным? Поделитесь своим мнением в комментариях!
Раздел: #формулы #решения
Функции: #ARRAYFORMULA #XLOOKUP #VLOOKUP #QUERY #MAP #LAMBDA #SUMIF
Присоединяйтесь к сообществу профессионалов Google Таблиц, делитесь знаниями и помогайте друг другу!
💬 Чат
📢 Канал
#GoogleSheets #АнализДанных #Формулы #РаботаСДанными
2 минуты
24 сентября 2024