我有一个有关用户交易的电子表格,很自然,一些用户将进行一个或多个交易。我的目标是将每个用户的总花费(不必显示),并显示花费最多,花费最少的用户。
我无法使用数据透视表,如果您可以通过下面的简单表格向我展示该公式,将会很有帮助。
我已经尝试过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”的用户
答案 0 :(得分:1)
这在Excel 2013中对我有效。它们是数组公式,因此您必须按ctrl + shift + enter来输入它们。假设A列是您的ID,B列是您的金额。
SELECT C1, COALESCE(C2, C1) AS C2
FROM T1;
答案 1 :(得分:0)
我尝试了一下,并找到了解决方案,但是由于我不能只粘贴Excel工作表,因此很难解释。我还是尝试...
假设您的数据以UserID和Amount在A2和B2处开始,则在第1行中包含以下标题:UserID,Amount,累积,Usertotal(在D1和E1列上),Min,Max,Min支出者,Max支出者
=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)
以转移花费最多金额的用户。我希望翻译德语公式时不会犯任何错误(Microsoft也不能翻译关键字!)