LibreOffice 数据透视表按月分组

Len*_*art 14 pivot-table openoffice-calc libreoffice-calc

我有这样的数据:

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
Run Code Online (Sandbox Code Playgroud)

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

Customer   Jan  Feb  Total
A          20   15   35
B          35        35
Total      55   15   70
Run Code Online (Sandbox Code Playgroud)

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

Customer   Jan  Jan  Jan Feb  Total
A          20            15    35
B               10   25        35
Total      20   10   25   15   70
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

小智 21

我不确定这在 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认同)

toh*_*ohu 8

我认为问题在于“ Month”列对每个日期都有不同的值。所以 LibreOffice 不明白您想按不同的月份对输出进行分组。

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

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

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

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

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

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

这应该会产生所需的结果。

  • 谢谢,这就是解决方案。太糟糕了 LibreOffice 不能自己管理这些东西。 (3认同)