所以我有一個很長的名稱日期和小時的列,如下所示: 14/01/2017 03:30
(它們是DD/MM/YYYY HH:MM)在Excel中將月份數從完整日期單元格轉換爲文本月份
我需要獲取月份編號並將其顯示爲文本,如1月,2月等。 如果我將目標單元格格式化爲'MMM',即使給定的月份是2,3或者我們說12,所有列單元格都會顯示1月份。我還嘗試過公式= TEXT(L2,「mmmm」)(因爲給定的信息來自列F
任何想法
所以我有一個很長的名稱日期和小時的列,如下所示: 14/01/2017 03:30
(它們是DD/MM/YYYY HH:MM)在Excel中將月份數從完整日期單元格轉換爲文本月份
我需要獲取月份編號並將其顯示爲文本,如1月,2月等。 如果我將目標單元格格式化爲'MMM',即使給定的月份是2,3或者我們說12,所有列單元格都會顯示1月份。我還嘗試過公式= TEXT(L2,「mmmm」)(因爲給定的信息來自列F
任何想法
嘗試使用MID
拿到每個月只,然後TEXT()
:
=TEXT(MID(A1,SEARCH("/",A1)+1,2),"MMMM")
聽起來像你的日期和時間被存儲爲文本而不是擅長串行日期格式,你可以通過改變單元格的格式來測試它,看看是否會發生任何事情那麼它的文本就沒有變化。另一種方法是使用公式=istext(A1)
,其中A1是一個包含日期的單元格。
現在假設你有文本格式的日期,我建議將它們轉換爲Excel日期序列。有很多方法可以做到這一點。我會告訴你一個方法。
這將剝離文本的每個組成部分,然後重新組合它。我們假設你的日期是A1
地帶了一年
=MID(A1,7,4)
地帶出一個月
=MID(A1,4,2)
地帶了一天
=LEFT(A1,2)
我們重組它:
=DATE(MID(A1,7,4),MID(A1,4,2),LEFT(A1,2))
這會給你一個整數格式的日期,然後excel可以轉向並根據需要顯示。
爲了不丟失時間組件,您應該關閉該部件並將其與日期結合。記住日期是一個整數,時間就是小數點後的所有內容。把時間想象成一天中的一小部分。
爲了讓時間停止使用:
=RIGHT(A1,5)
,並把它轉換到Excel時:
=TIMEVALUE(RIGHT(A1,5))
,並獲得兩項合計,只需添加:
=DATE(MID(A1,7,4),MID(A1,4,2),LEFT(A1,2)+TIMEVALUE(RIGHT(A1,5))
的整個事情的關鍵部分是你需要格式化該單元格以顯示你想要的內容。您可以從下拉菜單中選擇預先格式化的樣式,也可以應用自定義格式。將自定義格式設置爲MMMM應該只顯示月份的全名。
如果你確實需要一個月的文本,而不僅僅是格式,那麼你可以使用公式從你的問題:
=TEXT(<insert appropriate formula from above>,"mmmm")
我不認爲它自己@brucewayne工作,但如果你把你月份去掉的部分替換成'DATE(0,<你的月份取得的月份>,1)',那麼它應該拉出月份並按照預期顯示。並通過預期顯示,你仍然需要'TEXT(<>,「mmmm」)'部分 –
@ForwardEd - D'oh!我總是忘記Date在Excel中似乎永遠不會玩。我認爲這是有效的,因爲OP的例子是1月......但是你是對的,即使我把它改爲其他月份,它仍然是'1月份'。 – BruceWayne
謝謝,夥計們 –