對於一些未正規化的日期,如有些人會使用971127(String)來代表11/27號,有些人則會用2008/11/27來表示
在excel中,這些會被視為不同的格式,因此無法進行加減運算,也無法去判別其相差幾天
這時候最重要的就是把資料正規化,正規化之後才可以作加減。以下是excel內內建含數的介紹:
DATE 傳回日期的時間序列值。
DATEVALUE 將文字型態的日期資料改為數字的日期型態。
DAY 傳回時間數值所代表的日期數。
DAYS360 根據一年360天(12個月都是30天)的曆法(用於某些會計計算),
傳回兩個日期間的日數。
HOUR 傳回時間數值所代表的小時數。
MINUTE 傳回時間數值所代表的分鐘數。
MONTH 傳回時間數值所代表的月份。
NOW 傳回現在日期與時間。
SECOND 傳回對應於日期和時間序列的秒數部分。
TIME 傳回指定時間。
TIMEVALUE 傳回對應於時間文字的序列值。
TODAY 傳回電腦系統內建時鐘的現在日期的序列值。
WEEKDAY 求日期的星期數。
YEAR 傳回對應於日期序列值的年份數(範圍為1900~9999)
很明顯是使用date或是date value來作處理
如果是使用date來作加減的話:
可以利用Left, right, mid三個含數來作處理:
因此:把971127正規化的就可以寫成:
DATE(LEFT(971127,2)+6,MID(971127,3,2),RIGHT(971127,2)) 即可,當然,要記得把那一格欄位的格式改成「日期」
完成了以後,就可以開始作日期的加減了(通常是使用days360)
其他有一些含數也可以使用,也有所幫助,歡迎自行試驗。
可以迴船線在的時分秒嗎? NOW()只有時分,沒有秒! 謝謝~
回覆刪除版主回覆:(11/09/2008 10:34:03 AM)
now()其實有含秒數喔~你用 SECOND(NOW())
就可以抓出其秒數了
或是按右鍵,選擇儲存格格式-->數值 那邊選一個有秒數的即可。