Раздел 42 · Аналитика данных с нуля

Excel и Google Sheets глазами аналитика

junior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Бран · продюсер «Хроник Пограничья»

Программисты выгрузили мне покупки за пятницу, 27 марта, в Excel. Я сложил столбец с суммами, вышло 8759 рублей. Это и есть выручка? И ещё: хотел подтянуть названия офферов через ВПР, а у меня половина ячеек #Н/Д. Почини, пожалуйста.

Доступа к базе у Брана нет, зато есть файл. Так начинается половина задач в первый рабочий день: заказчик уже что-то выгрузил в таблицу и уже что-то в ней посчитал. В прошлом уроке таблицы промелькнули в обзоре инструментов. Сегодня откроем их как следует: формулы, ссылки, ВПР, сводные и ловушки, на которых спотыкается каждый. В конце ответим Брану, сколько студия заработала в пятницу.

Выгрузка Брана

Вот лист «Покупки» целиком. Первый столбец это номер строки в Excel, он понадобится для формул. Время в UTC, как и в базе игры.

СтрокаA ПокупкаB ВремяC ПочтаD ОфферE ПлатформаF СуммаG СтатусH Чек
252509:23frostfire4752@gmail.com9android599paidand-3b5293e98930
352609:29nightstorm@bk.ru1android99paidand-6ac133780453
452711:05fireraven@mail.ru6android149paidand-99da6ce635ca
552814:46thul14@mail.ru4android1990paidand-95a618f7724b
652917:06nightstorm@bk.ru4android1990paidand-4c745f186051
753017:07bearstone283@mail.ru7ios299paidios-4852d84cc734
853117:16qa.nikita@studio.dev1android99paidand-bfe8f3236dc4
953217:22qa.gleb@studio.dev2android499paidand-0c13f52a6e63
1053317:22qa.gleb@studio.dev2android499paidand-0c13f52a6e63
1153418:16nightstorm@bk.ru11android349paidand-1624bf3a853b
1253518:48blade_torul@gmail.com7android299paidand-ec59afaa6782
1353619:04bearstone283@mail.ru1ios99paidios-a70e1a1e595e
1453719:09ghoststorm3698@mail.ru2ios499paidios-e83b31466a0b
1553820:33stormwolf@gmail.com15android1290refundedand-a14c542bc2e7

Присмотрись, прежде чем читать дальше. Тут спрятаны три вещи, из-за которых 8759 не равно выручке. Одну мы уже обсуждали в уроке про данные.

Ячейка, формула, ссылка

Таблица похожа на шахматную доску: столбцы названы буквами, строки цифрами, и у каждой клетки есть адрес. F5 это сумма покупки 528, 1990 рублей.

В клетку можно положить значение, а можно формулу. Бран сделал так:

=СУММ(F2:F15)        английский Excel: =SUM(F2:F15)

F2:F15 это диапазон: все клетки от F2 до F15. Формула ответила 8759, и арифметически она права. Неправ вопрос, который она решает, но об этом чуть позже.

Названия функций зависят от языка программы. В русском Excel пишут СУММ, в английском SUM, а аргументы в русской настройке разделяют точкой с запятой, в английской запятой. Дальше в уроке русское имя идёт первым, английское рядом.

Доллар в адресе

Теперь ВПР Брана. Он хотел видеть рядом с номером оффера его название. Названия лежат на втором листе, «Офферы». Вот его кусок с теми офферами, что встретились в пятницу:

СтрокаA idB НазваниеC ТипD Цена
21Горсть гемовgems99
32Мешок гемовgems499
54Гора гемовgems1990
76Набор новичкаbundle149
87Сундук герояbundle449
109Боевой пропуск: Веснаpass599
1211Премиум на месяцsubscription349
1615Ездовой волкcosmetic1290

Всего на листе 18 офферов, в строках со 2-й по 19-ю. Бран написал в ячейку I2 формулу и протянул её мышкой вниз до I15:

=ВПР(D2;Офферы!A2:B19;2;ЛОЖЬ)       =VLOOKUP(D2,Офферы!A2:B19,2,FALSE)

ВПР читается так: найди значение из D2 в первом столбце диапазона A2:B19 на листе «Офферы» и верни второй столбец той же строки. ЛОЖЬ значит «только точное совпадение».

В I2 всё работает: оффер 9 нашёлся, «Боевой пропуск: Весна». А вот что стало, когда формулу протянули вниз. Таблица считает адреса относительными: «через одну строку вниз от меня». Скопировал формулу на строку ниже, и все адреса сдвинулись на строку ниже:

I2:  =ВПР(D2;Офферы!A2:B19;2;ЛОЖЬ)
I3:  =ВПР(D3;Офферы!A3:B20;2;ЛОЖЬ)    оффер 1 живёт в строке 2, а поиск начался с 3-й: #Н/Д
I6:  =ВПР(D6;Офферы!A6:B23;2;ЛОЖЬ)    оффер 4 в строке 5, снова мимо

Номер оффера D3 сдвинулся правильно, а справочник уехал вместе с ним. В итоге #Н/Д вышел в восьми строках из четырнадцати, причём вперемешку: где оффер лежит ниже начала сдвинутого диапазона, там повезло.

Лечится долларом. Знак $ перед буквой или цифрой запрещает ей сдвигаться при копировании:

  • $A$2 не двигается никуда, это абсолютная ссылка;
  • $A2 держит столбец, а строку двигает;
  • A$2 держит строку, а столбец двигает.

В Excel на Windows и в Google Sheets доллары расставляет клавиша F4: нажимай её, стоя курсором на адресе, и она перебирает все четыре варианта. Правильная формула Брана:

=ВПР(D2;Офферы!$A$2:$B$19;2;ЛОЖЬ)

Почему ВПР ломается и чем его заменить

У ВПР есть вторая слабость, хитрее первой. Номер столбца 2 это просто число. Допустим, кто-то вставил на лист «Офферы» новый столбец B «Гемы», между id и названием. Таблица честно растянет диапазон до $A$2:$C$19, но двойку не тронет. Теперь второй столбец диапазона это гемы, и в колонке «Название» у Брана молча появятся числа. Ошибки нет, есть неправильный ответ.

В Excel 2021 и Microsoft 365, а ещё в Google Sheets есть функция ПРОСМОТРX, по-английски XLOOKUP. Она берёт два столбца отдельно: где искать и что вернуть.

=ПРОСМОТРX(D2;Офферы!$A$2:$A$19;Офферы!$B$2:$B$19;"нет в справочнике")
=XLOOKUP(D2,Офферы!$A$2:$A$19,Офферы!$B$2:$B$19,"нет в справочнике")

Вставят новый столбец, и ссылка $B$2:$B$19 уедет вместе с названиями. Нет оффера в справочнике, и вместо #Н/Д будет понятная фраза. Если у коллеги старый Excel без ПРОСМОТРX, связка ИНДЕКС и ПОИСКПОЗ (INDEX и MATCH) делает то же самое.

Последняя тонкость про справочник. У «Сундука героя» в листе «Офферы» цена 449, а в покупке 530 он стоит 299. Справочник хранит текущую цену: сундук подорожал 14 мая. Подтягивать из справочника то, что меняется со временем, опасно, и это та же история, что с продовой базой из урока про данные.

урок из курса

Урок из курса «Аналитика данных с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.