LibreOffice数据透视表按月分组


10

我有这样的数据:

Date      Customer   Amount Month
09-01-12  A          20     =A2 (formatted so it shows month name)
10-01-12  B          10     =A3 (formatted so it shows month name)
18-01-12  B          25     etc
05-02-12  A          15     etc

我想使用数据透视表查看每个客户每月的总金额。例如

Customer   Jan  Feb  Total
A          20   15   35
B          35        35
Total      55   15   70

我在数据中添加了一个额外的列,月份的格式为“ Jan”,“ Feb”等。在数据透视表中,它为每个日期提供了一个列,但没有按月分组。所以结果是这样的:

Customer   Jan  Jan  Jan Feb  Total
A          20            15    35
B               10   25        35
Total      20   10   25   15   70

我该如何解决?

Answers:


7

我认为问题在于“ Month”列的每个日期都有不同的值。因此,LibreOffice无法理解您要按不同月份对输出进行分组。

因此,一种解决方案可能是基于单元格A2“构造”日期,而忽略日期:

  • =A2Month”列中的公式“ ” 替换为

    =DATE(YEAR(A2),MONTH(A2),"1")

    这样,您每个月的单元格将具有相同的日期,具体取决于原始日期。

  • 然后,使用模式“ MMMM” 格式化该列,以将日期显示为“ January”。

  • 现在,刷新数据透视表或使用“ Month”中的“ Column Fields”,“ Customers”中的“ Row Fields”和“ Sum - Amount”中的“ Data Fields” 重新创建它。

这将产生期望的结果。


3
谢谢,这就是解决方案。太糟糕了,LibreOffice无法独自管理这些事情。
Lennart

14

我不确定在问这个问题时是否在LibreOffice中是可能的,但是现在这很容易做到,所以如果有人偶然发现了这个问题,这可能会有所帮助:

使用输入表中的数据(最后一列“月”是多余的)应该执行以下操作。

创建数据透视表:

  1. 选择表,然后从菜单中选择 Data > Pivot Table > Create...
  2. Column FieldsDate
  3. Row FieldsCustomer
  4. Data FieldsAmount

创建数据透视表后:

  1. 选择/单击包含日期的行中的任何单元格
  2. 从菜单中选择 Data > Group and Outline > Group
  3. 选择 Group By > Intervals
  4. 检查Months(或您想要的任何间隔)

2
效果很好,但前提是该列的格式设置为日期(而不是“标准”或文本格式)。
jmiserez '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.