代码之家  ›  专栏  ›  技术社区  ›  urdearboy

无法按日期对透视表排序

  •  3
  • urdearboy  · 技术社区  · 6 年前

    我有一个包含两列跨越日期的数据透视表( Create Date 和; Target Date )我无法对数据透视表中的任何字段进行排序,但是 我需要能够对日期字段进行排序 . 我再次检查了格式是否为日期(当更改为数字格式时,显示日期序列号并 ISTEXT 显示 FALSE )

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

    是否由于所有字段都显示在行下而不进行排序?是否有其他方法可以根据当前设置对其进行排序?

    我对VBA解决方案持开放态度,因为我已经有了一个宏,该宏由于其他原因在每个透视图中循环。

    1 回复  |  直到 6 年前
        1
  •  1
  •   John Stark    6 年前

    发表评论中发现的内容的简短摘要:

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


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

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


    第一列排序的透视表 First column sorted pivot table

    随后对第2列进行排序(在本例中),有效地不更改表,因为 目标日期 已经绑定到 创建日期 1比1。因此,它们被锁定到为第1列选择的排序顺序。

    但是,在本例中,对第三列进行排序会改变其余字段的结构,因为 任务编号 目标日期。 下面是您可以从第三列排序中得到的表的两个版本。请注意,正在复制 目标日期 :

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


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