我有一个用户交易的电子表格,自然有些用户会有一笔或多笔交易。我的目标是添加每个用户的总(花费)(不需要显示它)并显示花费最多和花费最少的用户。
我无法使用数据透视表,如果您可以通过下面的简单表格向我展示公式,那将非常有帮助。
我尝试过
max
和 averageIF
功能,但我无法让代码工作。这只是一个示例表,但概念将适用。
用户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$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))
我尝试了一下,我有一个解决方案,但由于我不能只粘贴 Excel 工作表,所以有点难以解释。无论如何我都会尝试...
假设您的数据从 A2 和 B2 开始,包含用户 ID 和金额,那么我们在第 1 行中有以下标题:用户 ID、金额、累计、用户总计(在 D1 和 E1 列上)、最小值、最大值、最小支出者、最大支出者。
=IF(A2=A1;B2+C1;B2)
并将其复制到每个数据行。这会将金额累加在一起。=IF(A2=A3;"";A2)
并将其复制到每个数据行。这样就只留下了总金额的用户 ID,并消除了其他噪音。=IF(A2=A3;"";C2)
并将其复制到每个数据行。这样只留下每个用户的总量并消除其他噪音。=MIN(E2:E11)
以确定最小金额。=MAX(E2:E11)
来确定最大金额。=B13
,在F3中输入=F2
并将其复制到每个数据行。这只是为了简化对最小值的访问。=B14
,在 G3 中输入=G2
,并将其复制到每个数据行。这只是为了简化对最大值的访问。=IF(F2=E2;D2;"")
并将其复制到每个数据行。这决定了花费最少钱的用户。=IF(G2=E2;D2;"")
并将其复制到每个数据行。这决定了花费最多钱的用户。=MAX(H2:H11)
以转移花费最少金额的用户。=MAX(I2:I11)
来转移花费最多金额的用户。我希望我在翻译德文 Excel 公式时没有犯任何错误(微软,翻译关键字也不是一个好主意!)。