【问题标题】:Ordering issue with date values when creating pivot tables创建数据透视表时日期值的排序问题
【发布时间】:2013-02-04 09:11:23
【问题描述】:

我有一个包含 Dates 和 Sales 数据的 2 列电子表格,如下所示:

右键单击 -> 设置单元格格式时,日期列中的值正确显示为 日期(M/D/YYYY 格式) .这适用于除标题之外的所有日期单元格(我使用 Ctrl+Shirt+Down 进行了检查)。

但是,当我从 2 列创建数据透视表时,日期 被识别为文本并进行相应排序(即第一个按月排序,然后按天排序,然后按年排序),这搞砸了我的数据:

我定期使用这种类型的数据创建数据透视表,以前从未遇到过这个问题,我真的不知道那里有什么问题。

如何在创建数据透视表时强制识别日期值?

PS:我已经上传了pivot_table_date_porder_issue.xlsx 文件,该文件向任何想查看它的人展示了该问题。

【问题讨论】:

    标签: excel date formatting pivot-table


    【解决方案1】:

    您的问题是 excel 无法将您的“mm/dd/yyyy”文本字符串识别为其内部存储器中的日期对象。因此,当您创建数据透视表时,它不会将这些字符串视为日期。

    在创建数据透视表之前,您需要先将日期转换为实际日期值。这是一个很好的资源:@​​987654321@

    在您的电子表格中,我使用公式 =DATEVALUE(A2) 在 B 中创建了第二个日期列。使用这个新的日期列和Count of Sales 创建一个数据透视表,然后在数据透视表中正确排序(选项变为Sort Oldest to Newest 而不是Sort A to Z)。

    【讨论】:

    • 您的解决方案确实解决了问题,但是我仍然不明白为什么我首先会遇到这个问题。我有其他日期格式相同的电子表格,一切都很好,很奇怪。
    【解决方案2】:

    尝试创建一个新的数据透视表,而不仅仅是刷新。

    我曾遇到过忘记添加几个日期的情况。添加它们后,我更新了数据透视表范围并点击刷新。它们出现在数据透视表的末尾,无序。然后我尝试简单地创建一个新的数据透视表和所有日期。

    【讨论】:

      【解决方案3】:

      您需要选择包含日期的整个列,因此单击“文本到列”按钮,然后选择分隔 > 取消选中所有框,然后继续单击按钮完成。

      这将使单元格格式,然后值将被读取为日期。

      希望它会有所帮助。

      【讨论】:

        【解决方案4】:

        如果您想在 Pivot 中使用 24/11/15(2015 年 11 月 24 日)的列以正确排序,您可以通过执行以下操作确保其格式正确 - 突出显示该列,转到数据 - 文本到列 - 单击下一步两次,然后选择“日期”并使用默认的 DMY(或选择适用于您的数据)并单击确定

        当您现在进行旋转时,您应该会看到它正确排序,因为我们已将该列正确格式化为日期字段,以便 Excel 可以使用它

        【讨论】:

          【解决方案5】:

          2017 年 4 月 20 日

          我已经阅读了之前发布的所有答案,但它们需要大量额外的工作。我找到的快速简单的解决方案如下:

          1) 取消组合数据透视表中的日期字段。 2) 转到数据透视字段列表 UI。 3) 重新排列您的字段,以便日期字段首先列在 ROWS 部分。 4) 在设计菜单下,选择报表布局/以表格形式显示。

          默认情况下,Excel 按数据透视表中的第一个字段排序。您可能不希望 Date 字段排在第一位,但这是一种折衷方案,可以节省您的时间和大量工作。

          【讨论】:

            【解决方案6】:

            进入选项。您很可能已打开“手动排序”。您需要将单选按钮更改为“升序>日期”。您也可以右键单击行/列,“更多排序选项”。我花了很长时间才找到这个解决方案...

            【讨论】:

              【解决方案7】:

              我在其他地方看到了这个。我正在使用 2016 Excel。对我有用的是使用 YYYY Quarters(我正在寻找季度数据)。因此,我将源数据排序为 YYYY xQ。 2016 年 1 季度、2016 年 2 季度、2016 年 3 季度、2016 年、4 季度、2017 年 1 季度、2017 年 2 季度……你明白了。

              【讨论】:

                【解决方案8】:

                我遇到的问题是,尽管源数据的格式正确为“日期”dd/mm/yyyy,但数据透视表(例如)放置在 22/05/2019 和 16/05/2019 和 17/05/ 之间2019 年。此数据在数据透视表中可见,但位置错误。此外,数据透视图拒绝显示该日期的数据,即使“日期”过滤器允许选择它。

                就我而言,我必须:

                1. 从数据透视图中,打开“日期”过滤器菜单。

                2. 选择“从旧到新排序”选项。

                3. 宾果游戏!数据透视图现在显示缺失的日期数据。

                【讨论】:

                • 这将转换为我的日期字段“DT”的 VBA:ActiveWorksheet.PivotTables("PivotTable1").PivotFields("DT").AutoSort xlAscending, "DT"
                【解决方案9】:

                右键单击并在日期区域取消组合对我来说非常有用。

                【讨论】:

                • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
                猜你喜欢
                • 2019-11-03
                • 2015-12-27
                • 2016-06-10
                • 2015-11-16
                • 2020-05-23
                • 2017-03-29
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多