无法按日期对数据透视表进行排序

时间:2018-07-31 21:51:59

标签: excel vba pivot-table

我有一个数据透视表,其中有两列跨越日期(Create DateTarget Date)。我无法对数据透视表中的任何字段进行排序,但是我需要能够对日期字段进行排序。我已经仔细检查了格式是否为日期(当更改为数字格式时,将显示日期序列,并且ISTEXT显示FALSE

下面的字段列表和相关列的照片。底部的照片只是为了说明格式确实是日期。
enter image description here enter image description here enter image description here enter image description here

由于所有字段都显示在行下,因此不会排序吗?有没有其他方法可以根据当前设置对此进行排序?

我对VBA解决方案持开放态度,因为我已经有了一个宏,它可以出于其他原因遍历每个枢轴。

1 个答案:

答案 0 :(得分:1)

快速发布评论中未发现的内容:

tl; dr: 如果您具有表格形式的数据透视表,则应用于列的排序将仅应用于子分组的字段,而不会对表的所有列进行排序(因此第一列是唯一能够对表的所有行进行重新排序的字段。


如果您从表完全未排序开始,并对第一列进行排序,则它将重新排列所有列中的所有行,因为所有其他列都是第一列的子列(子列):

未排序的起始数据透视表 unsorted pivot table


第一列数据透视表 First column sorted pivot table

随后对第二列进行排序(在此示例中),实际上没有做任何更改表格的操作,因为 Target Date 中的值已经与 Created Date 一对一。因此,它们被锁定为为第1列选择的排序顺序。

在这种情况下,对第三列进行排序会改变其余字段的结构,因为任务编号目标日期之间存在2对1的关系。您可以在对第三列进行排序时得到表格的两个版本。请注意,正在对目标日期的重复项中的进行排序:

任务编号从大到小排序 Third column sorted largest to smallest pivot table


任务编号从最小到最大排序 Third column sorted smallest to largest pivot table