如何使用AutoFilter正确对日历月“mmm”进行排序?


3

我需要使用过滤器以mmm格式对日历月进行排序。

Data > Sort > Custom会这样做,但我不能使过滤器工作。月份在列中,例如SEP,APR,JAN,APR等。

过滤器只是按字母顺序排序,因此它将所有APR放在第一位。


你究竟是如何应用自定义排序的?您可以使用Jan,Feb,Mar等列表。完成后,在过滤器选项中,您可以通过勾选/取消勾选来过滤月份。
亚斯2015年

Answers:


1

如果它们是实际日期,它将正确排序假设我们从:

在此输入图像描述

我们将日期格式化为“mmm”,我们现在有:

在此输入图像描述

使用AutoFilter我们对列进行排序:

在此输入图像描述

如你所见Jan先来!


1

如其他答案中所述,您可以创建一个包含实际日期值的帮助列,并根据该列进行排序。我认为最简单的方法是使用在文本=DATEVALUE(A2&"1")A2保存月份名称的位置。这将为您提供当年每个月的第一天,但​​这仅适用于排序目的。

但是,您可能没有能力或权利这样做。在这种情况下,您可以在Excel中添加自定义排序列表。打开排序对话框后,Custom List...Order下拉列表中选择。

截图1

在打开的对话框窗口中,单击NEW LIST左侧,然后在右侧创建列表,使用换行符分隔每个项目。完成后,单击Add

截图2

正如您所看到的,我已经为一周中的几天和一年中的几个月创​​建了短版和长版。完成添加所需的任何列表后,在左侧列表中选择它,然后单击OK


0

我们很难理解你的问题。当你输入月份名字作为文字时,我想你很难过

                                                               

并在列上设置过滤器,然后单击过滤器三角形:

                                               

值按字母顺序列出。

一种解决方案是创建一个辅助列,B2等于

=TEXT(MONTH(DATEVALUE(A2 & "1")), "0# ") & A2`

并拖了下来:

       

  • A2 & "1"将裸月name(JAN)转换为看起来像日期(JAN1)的东西。
  • DATEVALUE(A2 & "1") 将该日期字符串转换为数字日期/时间值。
  • MONTH(DATEVALUE(A2 & "1")) 从该日期值计算月份编号(1-12)。
  • TEXT(MONTH(DATEVALUE(A2 & "1")), "0# ") 格式为前导零(必要时)和尾随空格的数字。
  • TEXT(MONTH(DATEVALUE(A2 & "1")), "0# ") & A2 将两位数字与月份名称连接起来。

现在,如果您筛选列,则按正确的顺序列出月份:

                                               

您可以将此辅助列放在列中Z,它将在视线之外,或者您可以将其隐藏,仅将其取消隐藏,以便更改过滤器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.