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 中的前三個字元。從 中返回同一位置的值(即,如果是 Apr,則為列表中的第四個位置)SEQUENCE(1,12)。”此 SEQUENCE 只是從 1 到 12 的數字列表。

該天僅為 1。 這可以是小於或等於 28 的任何數字,因為所有月份都至少有那麼多天。

所以,對於 C3,年份是 2000+21,月份是 Apr - 即第 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 世紀的資料(即年份不是 20yy),您將需要添加邏輯來確定世紀數。

相關內容