【问题标题】:How to sort dates from Oldest to Newest in Excel?如何在 Excel 中将日期从最旧到最新排序?
【发布时间】:2016-10-23 06:45:14
【问题描述】:

我有将数据库中的数据导入 Excel 的代码。

为了使其具有通用性,单元格被格式化为“常规”。这行得通。

现在有人想按“从旧到新”对日期进行排序,但显示的唯一选项是 A 到 Z 或 Z 到 A。

我遵循了How to sort by dates excel? 中的所有建议。完成所有这些步骤后,我确实看到了正确的排序,所以我重新创建了工作簿来重现这一点,但不能。

为什么不将列格式化为日期显示“从最旧到最新”?

需要哪些步骤才能获得显示“从旧到新”的排序选项?

我按 F2,但它不起作用。我单击原始列中的一个单元格,该单元格通常更改为日期,但它不起作用。我单击原始列中通常更改为日期但不起作用的列标题。我单击新列中的一个单元格,该单元格粘贴了特殊值,但它不起作用。我单击新列中的列标题,该列粘贴了特殊值,但它不起作用。

【问题讨论】:

    标签: excel sorting


    【解决方案1】:

    您需要将列中的所有值转换为日期才能按日期排序。

    【讨论】:

    • 在日期列旁边创建一个新列。使用公式 =DATEVALUE(A1),其中 A1 是原始日期列的第一个单元格。然后按该新列排序。
    【解决方案2】:

    我遇到了同样的问题,发现我的一个日期不正确,我有 2017 年 11 月 31 日,但没有 17 年 11 月 31 日。当我调整到 17 年 11 月 30 日时,它排序正确。希望对您有所帮助。

    【讨论】:

    • 注意:回顾一下,这对我来说是一个不错的答案。这可能不是提出问题的人的答案,但是一些认为他们遇到这个问题(并提出这个问题)的人可能会以这种方式解决他们的问题。所以在某些情况下是部分答案。仍然不完整,所以可能是一个评论。
    【解决方案3】:

    通过“数据”选项卡将文本转换为日期格式。

    突出显示相关部分,然后从顶部菜单中选择 Data> Datat Tools > Text to Column(取决于您的版本)。

    选择“分隔”选项。

    切换分隔符选项,直到条目以所需格式显示,然后选择“下一步”。

    在数据格式下,选择日期 (DMY)

    选择“完成”,问题应该得到解决。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题,并尝试了上述所有建议。我的日期格式为 mm/dd/yyyy。无奈之下,我尝试了以下方法:

      1. 用日期突出显示整个列。
      2. 搜索 2017 年
      3. 全部替换为 2017
      4. 问题已解决(对于 2017 年的日期,其他年份重复)。

      我希望这会有所帮助。

      【讨论】:

      • 我不知道为什么会这样,但它也对我有用。
      【解决方案5】:

      以下是对未排序日期进行排序的方法:

      向下拖动列以选择要排序的日期。

      单击“排序和筛选”下的“主页”选项卡 > 箭头,然后单击“从旧到新排序”或“从新到旧排序”。

      注意:如果结果不是您所期望的,则该列可能包含存储为文本而不是日期的日期。将存储为文本的日期转换为日期。

      【讨论】:

      • 如果将格式单元格下的类别更改为日期不会使日期存储为日期,那么您能否提供有关如何执行此操作的信息?
      【解决方案6】:

      我想通了!

      按照以下步骤操作:

      1. 突出显示您要过滤的日期
      2. 从“日期”格式切换到“数字”格式。你会得到一个奇怪的数字,但没关系。
      3. 这时您排序从“最小到最大”
      4. 现在将其切换回“日期”格式

      不客气!

      【讨论】:

        【解决方案7】:

        发布后看到这个年龄,但如果有人遇到同样的问题,我的日期都是 DD.MM.YYYY 格式(SPSS 输出)即使在 Excel 中将它们格式化为日期仍然只能让我从 AZ 排序,所以基本上与月份无关的 1 日至 31 日。

        查找和替换所有“.”到“/”修复了这个问题,现在它们的格式为 DD/MM/YYYY。不知道为什么当单元格类型计为日期时它不能以其他格式工作。

        【讨论】:

          【解决方案8】:

          使用自定义格式。 Excel 无法识别,因此这可能是它无法排序的原因。

          缓解措施; 把格式改成dd/mm/yyyy,按要求排序,把格式改成dd.mm.yyyy

          【讨论】:

            【解决方案9】:

            确保标题(例如“日期”)和标题下方列中的日期值之间没有空白行。这些行可能被隐藏,因此请务必取消隐藏并删除它们。

            【讨论】:

              【解决方案10】:

              我也遇到了同样的问题。这是我发现的……我从网站复制了我的数据(贷款支付信息),粘贴到 Excel 中,然后无法按日期正确排序,我的计算公式也不起作用。我复制了日期列并在 Word 中粘贴为纯文本,然后打开格式字符并找到额外的字符,即看起来像度数符号的字符。我的货币列也是如此。所以我使用查找和替换来删除多余的字符,然后复制并粘贴回 Excel。繁荣!一切正常。

              【讨论】:

              • 请尝试将您的答案改写为逐步解决方案,而不是充满分散注意力和不必要散文的短篇小说。谢谢!
              【解决方案11】:

              另一种可能性是单元格中日期之前的前导空格 - 这通常会在左侧对齐日期,因此一旦您知道它很容易发现。删除空格会将日期向右移动,并且排序正常。

              【讨论】:

                【解决方案12】:

                尝试过并且总是成功

                当您在同一列中有 2 种格式时: A - 可以按从旧到新排序(实际日期,例如 17/4/2017) B - 另一个从 A 到 Z(不是真实日期,例如 15/3/2018 00.00.00)

                1. 仅选择 B 细胞并将“00.00.00”替换为“空白”,因此它现在显示为“15/3/2018”

                2. 仅选择 B 单元格并选择 -- 数据 -- 文本到列 -- 分隔 -- 下一个 -- 取消全选 -- 下一个 -- 日期 DMY -- 完成

                3. 选择整个单元格 A 和 B,然后按照您喜欢的方式从旧到新排序

                【讨论】:

                  【解决方案13】:

                  我遇到了这个问题,因为日期不是 Excel 可识别的格式。我使用查找和替换工具手动将它们转换为 DD/mm/yy。 Excel 仍然无法将条目识别为日期。原来在日期之前的单元格中有一个空格。我使用查找和替换删除了空格,它解决了问题。

                  【讨论】:

                    【解决方案14】:

                    有点老线程,但我今天遇到了同样的问题,所以为我的问题添加了上面没有人提到的解决方案。

                    我的日期数据是从 csv 文件下载的,但日期末尾带有时区(例如 2018 年 9 月 7 日上午 9:43:42 PDT)。 Excel 允许将其格式化为日期列,但显然不喜欢最后的时区(即 PDT)进行排序。

                    我最后删除了时区,然后排序工作。

                    我做到了: (1) 格式为时间 (mm/dd/yy xx:xx PM) (2) 搜索“M PDT”并全部替换为“M” (3) 然后 sort 为您提供“从最旧到最新”排序,而不是“从 A 到 Z”。

                    请注意,我所有的日期时间都是 PDT,因此只有一次搜索和替换,但显然如果您有其他时区,则必须为每个时区单独搜索和替换。

                    【讨论】:

                      【解决方案15】:

                      在我的情况下,格式更改没有帮助,无论我选择什么单元格格式,日期表示都没有改变。但是,我发现按 F2 时 18.11.1999 的正确日期条目是 18 11 1999 - 有空格,没有点!当我执行“搜索替换”并用空格改变点时,问题就解决了。

                      【讨论】:

                        【解决方案16】:

                        经过一番挫折后,我尝试了以下对我有用的方法:

                        如果尚未完成,请将单元格转换为日期格式。 转到数据选项卡,然后单击排序。 选择扩展选择后单击排序或继续当前选择。 按日期排序 按值顺序从 Z 到 A 排序,首先是最新日期。 单击确定。 选择“将任何看起来像数字的东西排序为数字”。

                        =)

                        【讨论】:

                          【解决方案17】:

                          以上都不适合我。 我的日期格式正确,日期格式设置正确。

                          在我的例子中,关键是“my data has headers”复选框。在我取消选中此选项后,订购功能才开始正常工作。

                          此功能在“Custom sort”选项下可用。

                          ps。我可以接受由于此选项而以错误的方式订购了第一行,但我不知道为什么在我的范围中间以错误的方式订购。 Excel 让我抓狂...

                          【讨论】:

                            【解决方案18】:

                            这个话题已经有一段时间了,但是我创建的解决方案可能对那些无法解决问题的人有用。

                            通过从 Adodb.Recordset 获取记录,可以轻松地将列中的日期从其他列中的最旧到最新排序:

                            rs.Open sorgu, con, 1, 1
                            Range("K3").CopyFromRecordset rs
                            

                            Review this link

                            【讨论】:

                              【解决方案19】:

                              将日期列复制并粘贴到记事本并返回。

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 2021-04-30
                                • 2019-09-25
                                • 2018-03-31
                                • 1970-01-01
                                • 1970-01-01
                                • 2017-09-20
                                • 1970-01-01
                                相关资源
                                最近更新 更多