Board logo

標題: [發問] 如何用最簡易的輸入,顯示需求日期? [打印本頁]

作者: av8d    時間: 2014-10-13 21:11     標題: 如何用最簡易的輸入,顯示需求日期?

在Excel中,經常會繕打日期,例如:2014/10/10
由於經常繕打,因此將儲存格格式改為:"2014/"##"/"##
由此一來,則可以直接打1010,就會自動顯示:2014/10/10
但是如果是繕打0805,就會自動顯示:2014/8/05
月份8是對了,可是天數05如何讓顯示5呢?
需要答案為:2014/8/5

或是因為我儲存格格式改為:"2014/"##"/"##
其實是錯的,是否有夠好或更簡易輸入的辦法呢?
作者: ML089    時間: 2014-10-13 21:51

回復 1# av8d

在Excel中,經常會繕打日期,例如:2014/10/10
由於經常繕打,因此將儲存格格式改為:"2014/"##"/"##
由此一來,則可以直接打1010,就會自動顯示:2014/10/10
但是如果是繕打0805,就會自動顯示:2014/8/05
月份8是對了,可是天數05如何讓顯示5呢?
需要答案為:2014/8/5

或是因為我儲存格格式改為:"2014/"##"/"##
其實是錯的,是否有夠好或更簡易輸入的辦法呢?
   



這不是EXCEL標準日期的輸入方式,只是用儲存格格式讓這些數字看起來像是日期格式,若要做運算仍要用公式重新轉為日期
0805 儲存格格式 "2014/"##"/"## 可以顯示為2014/08/05,

若要顯示為 2014/8/5 需要另外使用公式轉換,或使用VBA來處理

A1 = 0805
B1 = DATE(2014,A1/100,RIGHT(A1,2))
作者: av8d    時間: 2014-10-13 22:07

回復 2# ML089


    因為會用到大量A1,B1,C1,E1
輸入後除了利用隱藏外,是否還有其他方式呢?
不過已經很方便了~受益良多,萬分感謝。
作者: ML089    時間: 2014-10-15 17:16

回復 3# av8d

大概只能這樣
作者: luhpro    時間: 2014-10-18 05:17

本帖最後由 luhpro 於 2014-10-18 05:45 編輯
在Excel中,經常會繕打日期,例如:2014/10/10
由於經常繕打,因此將儲存格格式改為:"2014/"##"/"##
由此 ...
由此一來,則可以直接打1010,就會自動顯示:2014/10/10
但是如果是繕打0805,就會自動顯示:2014/8/05...
av8d 發表於 2014-10-13 21:11

儲存格格式中用 # 時,若該位置數字為 0 時會不顯示,
但若想要顯示 0 則可以用 0 取代 # (如下圖)
[attach]19364[/attach]

至於要簡易輸入符合 Excel 日期格式的內容也是可以的喔,
只要事先設定好儲存格格式為 yyyy/mm/dd
在輸入日期時輸入 月份-日期 即可.
若欲顯示日期為 2014/06/09 則輸入 6-9 ( 0 不用輸入)即可.  (如下圖)
(若輸入 8-9 , 則當日期格式 yyyy/m/d 顯示 2014/8/9 , yyyy/mm/dd 顯示 2014/08/09 , e/m/d 顯示 103/8/9)
[attach]19365[/attach]

以下是題外話: (這是我測試歸納結果後, 理解出來的 Excel 輸入規範, 歡迎指正)
也正因為 數字-數字 的輸入方式 Excel 依下列規範可能會自動轉換為日期,
所以若只是單純想輸入 數字-數字 文字的人,
會得到非預期的結果,(日期)
這時要在前面加上 '
Excel 才會真的辨識為文字.

當我們輸入 8-5 會自動變成 2014/8/5
(若 - 前面數字小於 13 且 該月份中有 - 後面數字的日期, 會視為輸入 月份-日期,
但若 - 前面數字的日期大於13 且 - 後面數字小於 13且  - 後面數字月份中有 - 前面數字的日期, 會視為輸入 日期-月份)

(以上日期的年份會自動帶入今年)

而輸入 65-8 會自動變成 1965/8/1
(若不符合上面所述日期的範圍, 則若 - 前面數字小於 100 且 - 後面數字小於 13 則視為輸入 年份-月份-1,  否則視為輸入文字)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)