Excel — Группировка по дубликатам и СУММЕ или СРЕДНЕМУ ЗНАЧЕНИЮ

#excel

#превосходить

Вопрос:

У меня есть этот лист (данные из Google Analytics) :

 A |B |C |D  URI |Views |ViewsUn. |Time  -----------------------------------------------------  /uri-1 |123 |100 |10  /uri-2 |200 |180 |5.2  /uri-1 |50 |35 |5  

Я хочу сгруппироваться по URI, добавить количество просмотров и уникальных просмотров и сделать среднее значение по времени, я хочу, чтобы этот вывод :

 A |B |C |D  URI |Views |ViewsUn. |Time  -----------------------------------------------------  /uri-1 |173 |135 |7.5  /uri-2 |200 |180 |5.2  

Я пытаюсь, SUMPRODRUCT но похоже, что у меня уже должен быть весь мой uri-1 без дубликата, а затем зациклить этот новый массив.

Есть ли способ сделать это быстрее ? Или через интерфейс / функциональные возможности ?

Комментарии:

1. Вероятно, это выполнимо с помощью сводной таблицы?

2. почему 10 5 в итоге равняются 7,5 ?

Ответ №1:

Есть несколько способов сделать это. Одним из них была бы сводная таблица; другим было бы, по сути, создание вашей собственной сводной таблицы с формулами. Лично я предпочитаю последнее, потому что сводные таблицы не обновляются автоматически при добавлении данных в источник, и нелегко определить, просто посмотрев на сводную таблицу, была ли она обновлена или нет.

Чтобы создать сводную таблицу…

Выберите данные и на вкладке Вставка выберите сводная таблица:

введите описание изображения здесь

Установите поля сводной таблицы, как показано ниже:

введите описание изображения здесь

Сделать то же самое с формулами, чтобы содержимое всегда было в актуальном состоянии…

Если вы используете Microsoft 365, вы можете использовать УНИКАЛЬНУЮ функцию. Допустим, ваши данные находятся в столбцах от A до D. Введите следующие функции:

 Cell G1 =UNIQUE(A:A) Cell G1 ="URI" Cell G2 =IF($F2="","",SUMIF($A:$A,$F2,$B:$B)) [Drag this down] Cell H1 ="Views" Cell H2 =IF($F2="","",SUMIF($A:$A,$F2,$C:$C)) [Drag this down] Cell I1 ="ViewsUn" Cell I2 =IF($F2="","",AVERAGEIF($A:$A,$F2,$B:$B)) [Drag this down] Cell J1 ="Time" Cell J2 =IF($G2="","",AVERAGEIF($A:$A,$G2,$B:$B)) [Drag this down]  

В приведенной выше стратегии таблица будет оставаться живой или актуальной, пока вы продолжаете добавлять дополнительные URI, пока вы перетаскиваете формулы вниз, чтобы охватить все возможные строки URI, которые могут быть заполнены, но оператор IF гарантирует, что они будут пустыми, если URI не обнаружен.

Если вы не используете Microsoft 365, у вас не будет доступа к УНИКАЛЬНОЙ функции. В этом случае существует несколько других способов получения уникальных списков. В вашем случае я бы, вероятно, сделал следующее:

 Cell F1 ="Index" Cell F2 =1 Cell F3 =$F2 1 [Drag this down] Cell G1 ="URI" Cell G2 =" /uri-"amp;F2 [Drag this down] Columns H:J as above