![Excel:如何按字段汇总然后按其排序?](https://linux22.com/image/1278542/Excel%EF%BC%9A%E5%A6%82%E4%BD%95%E6%8C%89%E5%AD%97%E6%AE%B5%E6%B1%87%E6%80%BB%E7%84%B6%E5%90%8E%E6%8C%89%E5%85%B6%E6%8E%92%E5%BA%8F%EF%BC%9F.png)
我有如下的客户支持案例数据:
Customer Time
Account_A 90
Account_A 45
Account_B 25
Account_B 90
Account_B 35
Account_C 100
Account_C 120
我该如何按客户姓名进行汇总,计算所花费的时间总和,然后按所花费的时间对汇总行进行排序?
所以我的最终结果是这样的:
Customer Time
Account_C 220
Account_B 150
Account_A 135
我使用了 Excel 2010 中的 subtotal 函数,然后隐藏了详细信息,但这只让我获得了摘要,我无法按摘要排序,也无法弄清楚如何将摘要行复制到新的工作表中并在那里对其进行排序。
答案1
这是一个稍微好一点的方法。假设你的列是 a 和 b,你可以使用这个:
在 c 列的第一个单元格中,=IF(A1=A2,B1+B2,B1)
除了第一个单元格之外,其他所有 c 列单元格中都放置=IF(A10=A11,C10+B11,B11)
这确实不理想。它会为您生成运行总数,但不会很好地分解数据。
编辑:为了更好地分解数据,请将其放在=IF(NOT(A1=A2),"Account name: "&A1&" Total : "&C1,)
D 列中。粘贴特殊值以将数据放在其他位置,然后对其进行排序以删除零(这样它们都会进入底部,然后您就可以擦除它们)。
数据确实需要按账户进行预先排序。
答案2
答案3
这是一个解决方案:
首先,创建一个新的工作表,其中包含“客户”和“时间”两列。添加各个客户的名称。
其次,在原始工作表上,按“客户”排序。使用排序按钮并按 AZ 排序。
第三,对于每个客户,一次性突出显示所有时间单元格。因此,在您的示例中,对于客户 A,突出显示包含 90 和 45 的单元格。这将在右下角显示这些单元格的总和。
最后,将每个单元格的总和添加到新工作表中。
答案4
我使用了 Excel 2010 中的 subtotal 功能,然后隐藏了详细信息,但这只让我获得了摘要,我无法按摘要进行排序......
您应该能够按摘要进行排序。请确保选择“无标题行”(至少是 Excel 97),然后能够按“B 列”进行排序。我刚刚在 Excel 97 中尝试过此操作,从您的原始数据开始,得到了这个...
我无法想象在 Excel 2010 中这会变得更难吗?