Excel - 如何按月份顺序排列列

Excel - 如何按月份顺序排列列

在 Excel 工作表中,我想按月份顺序重新排列几列。到目前为止,我一直在手动执行此操作,这变得非常繁琐。

我试图在这里说明我的问题:

月份和年份以文本格式而不是日期格式书写(格式为 mmm'yy - 包括撇号)。我尝试为月份创建自定义格式,并尝试在此基础上重新排列行,但自定义排序似乎呈灰色。我是 Excel 初学者,所以任何帮助都将不胜感激。

答案1

正确排序的诀窍是 Excel 需要知道它是一个日期。

您可以使用 C4 中的以下公式将单元格 C3 中的文本(例如)转换为日期:

=DATE(2000+RIGHT(C3,2),XLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12)),1)

在此处输入图片描述

它看上去又长又笨重,但分解后就变得相当简单。

我们正在使用该DATE函数。它需要三个参数(以逗号分隔):

年份是2000+RIGHT(C3,2)。这只是将文本中最右边的两个字符添加到 2000 以获取年份。如果您有 2000 年之前的日期,则需要调整此部分。

月份是XLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12))。这表示“在此月份列表中查找单元格 C3 中的前三个字符。从 开始返回相同位置的值(即,如果是 4 月,则为列表中的第 4 个位置)SEQUENCE(1,12)。”此 SEQUENCE 只是从 1 到 12 的数字列表。因此,我们将三个字符的月份转换回数字,以便在 DATE 函数中使用它。

天数只有 1。这可以是小于或等于 28 的任意数字,因为所有月份至少都有那么多天数。

因此,对于 C3,年份是 2000+21,月份是 4 月 - 即第 4 个月,所以是 4,日期是 1。所以我们有DATE(2021,4,1)

答案2

您也可以在单元格 C4 中尝试此公式

=DATE(2000+RIGHT(C3,2),MONTH(1&LEFT(C3,3)),1) 

答案3

人们缺少专门用于这项工作的功能。

选择一个“辅助行”。它可以是第 4 行或第 999 行,或者任何你想放的位置。

在该行的 C 列(例如,在单元格 C4 中)输入

=DATEVALUE(SUBSTITUTE(C3, "'", " 20"))

SUBSTITUTE撇号替换为空格和 20。例如​​,这会更改Apr'21为 Apr 2021。然后,该 DATEVALUE函数将该文本值更改为相应的日期值。

然后 —— 这是其他人没有提到的“明显”部分 —— 您可以按照辅助行对数据进行排序。

如果你愿意,你可以使用

=DATEVALUE(LEFT(C3,3) & " 20" & RIGHT(C3,2))

如果你有非 21 世纪的数据(即年份不是 20年年),则需要添加逻辑来确定世纪数字。

相关内容