Попытка вычислить пользователя, который потратил больше всего и меньше всего - Excel - PullRequest
0 голосов
/ 31 мая 2019

У меня есть таблица пользовательских транзакций, и, естественно, у некоторых пользователей будет одна или несколько транзакций. Моя цель - сложить общее количество (потраченных) каждого пользователя (не обязательно отображать его) и отобразить пользователя, который потратил больше всего и потратил меньше всего.

Я не могу использовать сводную таблицу, и если вы можете показать мне формулу с простой таблицей ниже, это было бы очень полезно.

Я пробовал функции max и averageIF, но не могу заставить код работать. Это просто пример таблицы, но концепция будет применяться.

UserID | Сумма

1     |      122        
2     |      400        
3     |      122        
1     |      300        
4     |      400        
5     |      100        
2     |      50     
1     |      600        
3     |      400        
2     |      320

Таким образом, конечным результатом будет пользователь с максимальным расходом = 1 и минимальным расходом = 5

Ответы [ 2 ]

1 голос
/ 31 мая 2019

Это работает для меня в Excel 2013. Они являются формулами массива, поэтому вы должны нажать Ctrl + Shift + Enter, чтобы ввести их.Предполагается, что столбец A - это ваш идентификатор, а столбец B - ваша сумма.

=INDEX($A$1:$A$10,MATCH(MAX(SUMIF($A$1:$A$10,A1:A10,$B$1:$B$10)),SUMIF($A$1:$A$10,A1:A10,$B$1:$B$10),0))

=INDEX($A$1:$A$10,MATCH(MIN(SUMIF($A$1:$A$10,A1:A10,$B$1:$B$10)),SUMIF($A$1:$A$10,A1:A10,$B$1:$B$10),0))
0 голосов
/ 31 мая 2019

Я попробовал это, и у меня есть решение, но так как я не могу просто вставить лист Excel, это немного сложно объяснить.В любом случае, я пытаюсь ...

Предполагая, что ваши данные начинаются с A2 и B2 с UserID и Amount, тогда у нас есть следующие подписи в строке 1: UserID, Amount, Cumulation, Usertotals (по столбцам D1 и E1),Мин., Макс., Мин. Спонсор, Макс. Спонсор.

  • Сортируйте данные в соответствии с UserID по возрастанию
  • в C2, введите формулу =IF(A2=A1;B2+C1;B2) и скопируйте ее для каждой строки данных.Это суммирует суммы вместе.
  • в D2 поместите формулу =IF(A2=A3;"";A2) и скопируйте ее для каждой строки данных.Это оставляет только идентификатор пользователя для общей суммы и исключает другие помехи.
  • в E2, введите формулу =IF(A2=A3;"";C2) и скопируйте ее для каждой строки данных.Это оставляет только общее количество каждого пользователя и устраняет другие шумы.
  • в B13 (после последней строки данных в столбце B), чтобы определить минимальное количество, введите формулу =MIN(E2:E11).
  • в B14 (после минимального значения B13) введите формулу =MAX(E2:E11) для определения максимальной суммы.
  • в F2 поместите формулу =B13 и в F3 =F2 и скопируйте ее для каждой информациистрока.Это просто для упрощения доступа к минимальному значению.
  • в G2 поместите формулу =B14 и в G3 =G2 и скопируйте ее для каждой строки данных.Это просто для упрощения доступа к максимальному значению.
  • в H2, введите формулу =IF(F2=E2;D2;"") и скопируйте ее для каждой строки данных.Это определяет пользователя, который потратил наименьшее количество денег.
  • в I2 поместите формулу =IF(G2=E2;D2;"") и скопируйте ее для каждой строки данных.Это определяет пользователя, который потратил наибольшее количество денег.
  • в A13 (после последней строки данных в столбце A) поместите формулу =MAX(H2:H11) для перевода пользователя, потратившего наименьшую сумму.
  • в A14 (после минимальной суммы пользователя) введите формулу =MAX(I2:I11) для перевода пользователя, потратившего наибольшую сумму денег.
  • скрыть столбец C в I.

НадеюсьЯ не допустил ошибок при переводе формул из моего немецкого Excel (не очень хорошая идея переводить также ключевые слова, Microsoft!).

...