在Excel工作表單元格我有一個日期值,如:Excel的日期到字符串轉換
01/01/2010 14:30:00
我想那個日期轉換爲文本,並希望文本外觀酷似日期。所以Date值01/01/2010 14:30:00
應該看起來像01/01/2010 14:30:00
,但內部應該是Text。
我如何在Excel中做到這一點?
在Excel工作表單元格我有一個日期值,如:Excel的日期到字符串轉換
01/01/2010 14:30:00
我想那個日期轉換爲文本,並希望文本外觀酷似日期。所以Date值01/01/2010 14:30:00
應該看起來像01/01/2010 14:30:00
,但內部應該是Text。
我如何在Excel中做到這一點?
=TEXT(A1,"DD/MM/YYYY hh:mm:ss")
(24小時)
=TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")
(標準時間)
您節省了我的一天,謝謝! – 2013-01-15 16:28:16
完全引用TEXT函數,尤其是瞭解如何設置格式:請參閱此頁上的日期和時間格式指南http://office.microsoft.com/zh-cn/excel-help/text-function-HP010062580.aspx – codea 2013-09-09 21:07:53
當我嘗試做這個轉換時,有一個「#AD?」文字,它說什麼是錯的。 – AloneInTheDark 2014-03-31 13:08:42
在某些情況下,預先使用'字符將會起作用,但如果您保存爲CSV並再次加載,這是不可能的。
'01/01/2010 14:30:00
這裏是一個VBA方法:
Sub change()
toText Sheets(1).Range("A1:F20")
End Sub
Sub toText(target As Range)
Dim cell As Range
For Each cell In target
cell.Value = cell.Text
cell.NumberFormat = "@"
Next cell
End Sub
如果您正在尋找無需編程的解決方案,這個問題應轉移到超級用戶。
這裏的另一種選擇。使用Excel內置的「文本到列」嚮導。它位於Excel 2007的「數據」選項卡下。
如果您選擇了一列,文件類型和分隔符的默認值應該可以工作,然後它會提示您更改列的數據格式。選擇文本強制它爲文本格式,以確保它不被存儲爲日期。
如果你沒有使用那麼編程執行下列操作 (1)選擇列 (2)點擊右鍵,選擇設置單元格格式 (3)選擇「自定義」 (4)就在「類型:」類型dd/mm/yyyy hh:mm:ss
在Excel 2010中,marg's answer僅適用於我在電子表格中導入的一些數據(它已導入)。以下解決方案適用於所有數據。
Sub change()
toText Selection
End Sub
Sub toText(target As range)
Dim cell As range
Dim txt As String
For Each cell In target
txt = cell.text
cell.NumberFormat = "@"
cell.Value2 = txt
Next cell
End Sub
所選答案對我無效,因爲Excel仍未將文本轉換爲日期。這是我的解決方案。
假設在第一列A中,您的數據類型爲2016/03/25 21:20:00
,但存儲爲文本。然後在B列寫=DATEVALUE(A1)
並在列C寫=TIMEVALUE(A1)
。
然後在D列做=B1+C1
添加數字格式的日期和時間。
最後,通過在列E中單擊右鍵,將D中的值複製到E列中並選擇Paste Special -> Paste as Values
。
突出顯示E列中的數值並將數據類型更改爲日期 - 我更喜歡使用表格YYYY-MM-DD HH:MM:SS
的自定義日期。
我不知道問題的發表年份;現在可能已經老了。所以,我希望我的答案能夠成爲我發佈後的未來類似問題的參考資料。
我不知道那裏有沒有人給出類似於我將要給予的答案,這可能會導致 - 我認爲 - 是最簡單,最直接,最有效的:如果某人已經給出它,我很抱歉,但我沒有看到它。在這裏,我的回答使用而不是文本CStr的:
Asuming單元格A1包含日期和使用VBA代碼:
Dim strDate As String 'Convert to string the value contained in A1 (a date) strDate = CStr([A1].Value)
可以,此後,操縱它作爲任何一個普通字符串中使用字符串功能(MID,左,右,LEN,CONCATENATE(&)等)
不可能得到TEXT()式工作
最簡單的搜索解決方案n爲複製粘貼到記事本,然後返回到Excel中設置粘貼回
之前文本列或者你也可以做同樣的,像這樣
=DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)
勢利的程序員很多人認爲的Excel公式不是一個編程環境,所以可能會關閉這個問題。我希望他們不要,但只是爲了警告你。 – 2010-04-14 09:16:13
Excel可能不是一個完整的IDE,但如果您在Excel中給出數據並且需要Excel中的結果,則某些VBA編程會產生各種意義。 – brichins 2011-12-03 00:02:22