如何使用自动过滤器对日历月份“mmm”进行正确排序?

如何使用自动过滤器对日历月份“mmm”进行正确排序?

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

Data > Sort > Custom可以,但我无法让过滤器工作。月份位于一列中,例如 SEP、APR、JAN、APR 等。

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

答案1

它将正确排序如果它们是实际日期。假设我们从以下开始:

在此处输入图片描述

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

在此处输入图片描述

使用自动筛选我们对列进行排序:

在此处输入图片描述

如你所见先到先得!

答案2

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

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

屏幕截图 1

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

屏幕截图 2

如您所见,我已经为星期几和月份创建了简短版本和详细版本。添加完所需的列表后,在左侧列表中选择它并点击OK

答案3

我们很难理解你的问题。我猜你对以文本形式输入月份名称感到不满

                                                               

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

                                               

这些值按字母顺序列出。

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

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

并被拖下:

       

  • A2 & "1"将裸月份名称 ( 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,使其不被人看到,或者您可以隐藏它,仅在需要更改过滤器时才取消隐藏它。

相关内容