数据透视表问题中的排序日期

时间:2019-06-20 17:12:19

标签: excel pivot-table

我有一个名为“日历日期”的字段,其值跨越2年。

它以“ mm / dd / yyyy”格式格式化为Date,并且用于生成该日期的公式源自

= text(A2,“ mm / dd / yyyy”)

其中A2的日期格式带有小时,分钟和秒。我只希望日期,并使用“日历日期”列将mm / dd / yyyy hh:mm:ss转换为mm / dd / yyyy。

我的问题是,每当我对日历日期进行排序时,排序选项就会显示为“从Z到A”或“从A到Z” ...表示将其格式化为数字。它无法正确排序。即使“日历日期”的值显然是日期格式。

我该怎么办?我尝试了几件事,但似乎没有任何效果。

我检查了所有日期的格式,并确保所有内容都格式化为日期。原始的日期列似乎格式正确,因为当我将其拖到行字段中时,会弹出3个字段(年,QTR和日期)。我将使用此列而不是“日历日期”,但是日期字段是按月而不是按天排序的。

插入原始日期后的数据透视表视图(该月的几天中没有进一步细分的月份):

Pivot Table View after Inserting Original Date (no further breakdown of months into the days of the month)

2 个答案:

答案 0 :(得分:0)

这是将powerpivot排序日期作为文本(而不是日期)的一种变通方法:使用“原始日期”,该日期将按照您的数据透视表按年,季度和月进行分组:

  1. 右键单击任何月份(或年份或季度),选择组screenshot
  2. 将“天”添加到您的选择screenshot
  3. 在创建上下文功能区中,选择Report layout,然后选择表格形式的screenshot
  4. 基本上就是这样,您可以通过右键单击escreenshot
  5. 来删除月份小计

最终结果截图: Final result screenshot

答案 1 :(得分:0)

您同时拥有日期值和文本字符串值:

  • 您的原始数据值显然是日期值,正如您的数据透视表屏幕截图所证明的那样。
    它们以缩进的年,季,月显示。

  • 当您通过=TEXT(...)将其转换为“日历日期”时,
    每个结果都是文本字符串,并且不再是日期值。
    它看起来像一个日期值,但Excel无法将其识别为日期。
    因此,将“ A到Z”排序后的结果是没有用的。

解决方案:无需进行其他转换。

  1. 使用原始的 date 值,就像您的屏幕截图中显示的一样
  2. 右键单击其一项,然后选择“取消分组...”。
    然后,它们不会按照缩进的年,季,月(和/或天,小时,...)的形式“分组”,而是显示为sortable(!)日期值。
  3. 如果它们显示分钟和/或秒,而您不希望这样做,则选择“字段设置...”,并将其“数字格式”更改为预定义或自定义的数字格式。