今天要跟大家分享一波時間和日期的計算套路。
計算間隔的分鐘數
計算兩個具體時間之間間隔的分鐘數,可以直接用結束時間減去起始時間,再乘以1440即可。
計算間隔的小時數
計算兩個具體時間之間間隔的小時數,也是直接用結束時間減去起始時間,再乘以24即可,結果這裡取一位小數。
時間和日期的合併及拆分
日期和時間的合併很簡單,直接用+符號連接就可以,注意需要把合併內容所在的單元格格式自定義設置為「yyyy/m/d h:mm:ss」。
如果把日期和時間進行拆分,提取日期則用到INT函數,向下取整為最接近的數值,這裡把時間視為小數部分,如果時間滿24小時,則會進位1天,提取時間直接減去日期即可。
計算加班時間
部分企業計算員工的加班時間,是遵循這樣的原則:不足半小時直接捨去,超過半小時的部分則按照半小時計算,這裡我們可以利用FLOOR函數進行向下捨入,計算加班時間。輸入公式:=FLOOR((B2-A2)*24,0.5)
公式說明:FLOOR函數是向下捨入(沿絕對值減小的方向)為最接近基數的倍數,它的語法結構為=FLOOR(數值,倍數)。(B2-A2)*24,結束時間減去開始時間,以天為計算單位,將差值乘以24,計算出加班的小時數,最後用FLOOR函數將小時數向下捨入到最接近0.5的倍數,即為加班工時。
計算日期所在月份的總天數
用EOMONTH函數和DAY函數結合計算指定日期當月的總天數,輸入公式:
=DAY(EOMONTH(A2,0))
公式說明:EOMONTH函數返回日期所在月份的最後一天,再利用DAY函數返回該日期是這個月第幾天,也就是這個月的總天數。
判斷上中下旬
判斷指定日期是上旬、中旬或下旬,可以利用LOOKUP函數的區間查找功能。輸入公式:=LOOKUP(DAY(A2),{0,11,21},{"上旬","中旬","下旬"})
公式說明:先用DAY函數判斷提取出該日期為本月的第幾天,然後用LOOKUP函數進行區間的近似匹配。第二個參數是一個常量數組,為上中下旬的最小日期值,查找小於或等於第一個參數的最大數值,返回第三個參數中對應位置的值。
判斷日期所屬季度
判斷指定日期所屬的季度,這裡我們演示3個比較常用的函數公式。
1、首先直接用IF函數進行月份判斷,返回不同季度,輸入公式:
=IF(MONTH(A2)<=3,"第1季度",IF(MONTH(A2)<=6,"第2季度",IF(MONTH(A2)<=9,"第3季度","第4季度")))
2、利用INT函數進行判斷,輸入公式:
="第"&INT((MONTH(A2)+2)/3)&"季度"
公式說明:先把月份加上2再除3後,用INT函數取整,即可得到所屬季度。INT函數是直接抹去小數取整,不進位。
3、最後用到的是CEILING函數,輸入公式:
="第"&CEILING(MONTH(A2)/3,1)&"季度"
公式說明:CEILING函數語法結構為=CEILING(需要捨入的數值,取整基數),是用來按指定基數大的倍數向上取整。