尝试计算花费最多和最少的用户 - Excel
Trying to calculate user whos spent the most and the least - Excel
我有一个用户交易的电子表格,自然有些用户会有一个或多个交易。我的objective是把每个用户的total(spent)相加(不用显示),显示花费最多和最少的用户。
我不能使用数据透视表 table,如果您能给我看下面带有简单 table 的公式,那将非常有帮助。
我已经尝试了 max
和 averageIF
函数,但我无法使代码工作。这只是一个示例 table 但概念将适用。
用户ID |金额
1 | 122
2 | 400
3 | 122
1 | 300
4 | 400
5 | 100
2 | 50
1 | 600
3 | 400
2 | 320
因此最终结果将是最大支出 = 1 且最小支出 = 5 的用户
这对我 Excel 2013 年有效。它们是数组公式,因此您必须按 ctrl+shift+enter 才能输入它们。这假设 A 列是您的 ID,B 列是您的金额。
=INDEX($A:$A,MATCH(MAX(SUMIF($A:$A,A1:A10,$B:$B)),SUMIF($A:$A,A1:A10,$B:$B),0))
=INDEX($A:$A,MATCH(MIN(SUMIF($A:$A,A1:A10,$B:$B)),SUMIF($A:$A,A1:A10,$B:$B),0))
我试过了,我有一个解决方案,但由于我不能只粘贴 excel sheet,所以有点难以解释。反正我试试...
假设您的数据从 A2 和 B2 开始,带有用户 ID 和金额,那么我们在第 1 行中有以下标题:用户 ID、金额、累积、用户总计(在 D1 和 E1 列上)、最小值、最大值、最小支出者、最大支出者。
- 按照UserID升序排列数据
- 在 C2 中输入公式
=IF(A2=A1;B2+C1;B2)
并将其复制到每个数据行。这会将金额累加在一起。
- 在 D2 中输入公式
=IF(A2=A3;"";A2)
并将其复制到每个数据行。这只留下了总金额的用户 ID,并消除了其他噪音。
- 在 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!)。
我有一个用户交易的电子表格,自然有些用户会有一个或多个交易。我的objective是把每个用户的total(spent)相加(不用显示),显示花费最多和最少的用户。
我不能使用数据透视表 table,如果您能给我看下面带有简单 table 的公式,那将非常有帮助。
我已经尝试了 max
和 averageIF
函数,但我无法使代码工作。这只是一个示例 table 但概念将适用。
用户ID |金额
1 | 122
2 | 400
3 | 122
1 | 300
4 | 400
5 | 100
2 | 50
1 | 600
3 | 400
2 | 320
因此最终结果将是最大支出 = 1 且最小支出 = 5 的用户
这对我 Excel 2013 年有效。它们是数组公式,因此您必须按 ctrl+shift+enter 才能输入它们。这假设 A 列是您的 ID,B 列是您的金额。
=INDEX($A:$A,MATCH(MAX(SUMIF($A:$A,A1:A10,$B:$B)),SUMIF($A:$A,A1:A10,$B:$B),0))
=INDEX($A:$A,MATCH(MIN(SUMIF($A:$A,A1:A10,$B:$B)),SUMIF($A:$A,A1:A10,$B:$B),0))
我试过了,我有一个解决方案,但由于我不能只粘贴 excel sheet,所以有点难以解释。反正我试试...
假设您的数据从 A2 和 B2 开始,带有用户 ID 和金额,那么我们在第 1 行中有以下标题:用户 ID、金额、累积、用户总计(在 D1 和 E1 列上)、最小值、最大值、最小支出者、最大支出者。
- 按照UserID升序排列数据
- 在 C2 中输入公式
=IF(A2=A1;B2+C1;B2)
并将其复制到每个数据行。这会将金额累加在一起。 - 在 D2 中输入公式
=IF(A2=A3;"";A2)
并将其复制到每个数据行。这只留下了总金额的用户 ID,并消除了其他噪音。 - 在 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!)。