我在 Excel 中有一列顯示日期,但不是日期格式,它是文字格式,並且那些具有一個字元表示月份或日期的日期的值前面不包含零。
例如,我們有 2017/1/3 或 2017/11/4,但我想將它們更改為 2017/01/03 // 2017/11/04。
我怎樣才能在不使用日期格式的情況下以簡單的方式做到這一點?這是我嘗試過的太長且複雜的方法:
- 將日期拆分為年、月、日
- 如果月份長度 < 2 ,則在月份前加上 0
- 如果一天的長度 < 2 ,則在一天前加上 0
- 建立新日期
答案1
您用作範例的所有日期都可以被 Excel 完全識別為日期。因此,如果您想要“真實”日期,您可以根據需要設定格式,並且 Excel 可以直接在數學中使用:
1)如果您想保留原始數據並獲得可用的可格式化日期數據,則只需在您希望進行工作的任何地方(可能超過幾列,或在另一頁上......無論適合您的方案)。並按照您的意願設定格式(“yyyy/mm/dd”或“yyyy/dd/mm” - 您的範例不會消除您擁有的是 md 或 dm)。
[我可能會補充一點,雖然您對這個問題似乎不感興趣,但如果您有文本日期並且只想在其他公式中使用它們,而通常只需引用它們即可(如...A1) +7 ……一週後得到一個日期)在你的公式中,也許會有一個奇怪的,甚至獨特的情況,你會這樣做,但仍然會失敗。在這種情況下,只需執行此乘法即可,上面的範例將是... A1*1+7...]
2)如果您希望用“真實”日期替換原始數據,可以將日期範圍從“文字”重新格式化為自訂格式“yyyy-mm-dd”,然後在儲存格中的某處輸入“1”,複製該單元格,再次選擇日期範圍,然後貼上|特殊|相乘。這克服了當您從文字更改為數字時,Excel 永遠不會根據該想法重新計算的事實。對於單一儲存格,重新格式化後按 F2,然後 Enter(立即,不進行任何變更)將執行相同的操作,而不會造成負擔,但如果您有 14,293 個這樣的日期...
3) 您也可以透過「文字分列」功能實現 2) 的結果。只需選擇資料並點擊“文字到列”,然後選擇“固定寬度”並將寬度線標記放置在“10”處,最後按一下“日期”作為列資料格式。按“完成”,您將有一列實際日期可供您應用所需的格式。
老實說,對於一次性使用,3) 似乎比 2) 更簡單,而且它發生在“原地”,因此不會擾亂您的結構。但您不想多年來每次有人日復一日地添加日期時都這樣做。請注意,「一次性使用」可能會反覆發生:假設您每周清空資料並載入一組新資料。那麼3)就不會是火雞了。而且它的方法會更容易製作一個小的錄製巨集以供每次使用。
好吧,一個小小的答案變得很長,所以......
答案2
由於您的日期是文字格式,因此我想建議您將它們轉換為 Excel 日期的最簡單方法。
請執行下列操作:
- 輸入
0
儲存格並複製,或者您也可以複製任何空白儲存格。 - 選擇日期範圍。
- 右鍵點擊& 從彈出式功能表中點選特殊貼上然後從手術選項點擊 添加並結束於 好的。
- 現在日期將看起來像數字,即
43322
。 - 由於日期已經選定,所以只需右鍵點擊& 從選單中點選設定單元格格式命令。
- 最後應用
yyyy/mm/dd
格式並完成好的。