LibreOffice 数据透视表按月分组

LibreOffice 数据透视表按月分组

我有这样的数据:

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

我该如何解决?

答案1

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

因此,解决方案可能是根据单元格 A2“构造”一个​​日期,忽略日期:

  • =A2将“ ”列中的公式“ ”替换Month

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

    这样,根据原始日期,每个月份单元格都会有相同的日期。

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

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

这应该会产生期望的结果。

答案2

我不确定在提出这个问题时在 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(或您想要的任何间隔)

相关内容