Excel中這些常常被忽略的日期函數,居然讓工作效率提高几倍

新精英充電站 發佈 2020-02-10T02:54:48+00:00

打開股 票 交 易 信 息 統 計.xlsx, 在 C2 單 元 格 中 輸 入 公 式【=YEARFRAC】, 計算出第一次購買和賣出股票的日期在全年所占的百分比數據, 如圖所示。

日常工作中,我們經常使用的日期函數就那麼幾個,但其實,在Excel中,還有很多日期函數,學會了能大大提高我們的工作效率。

下面就介紹幾個被忽略的日期函數的使用方法。

1.使 用DAYS360 函數以 360 天為準計算兩個日期間天數

用 DAYS360 函數可以按照一年360 天的算法(每個月以 30 天計,一年共計 12 個月) 計算出兩個日期之間相差的天數。

語法結構:

DAYS360(start_date,end_date, [method])

參數:

● start_date:必需參數,表示時間段開始的日期。

● end_date:必需參數,表示時間段結束的日期。

● method:可選參數,是一個邏輯值,用於設置採用哪一種計算方法。當其值為 TRUE時,採用歐洲算法;當其值為FALSE 或省略時,則採用美國算法。

技術看板

歐洲算法: 如果起始日期或終止日期為某一個月的 31 號, 都將認為其等於本月的 30 號。美國算法: 如果起始日期是某一個月的最後一天, 則等於同月的 30號。如果終止日期是某一個月的最後一天,並且起始日期早於 30 號, 則終止日期等於下一個月的 1 號, 否則, 終止日期等於本月的 30 號。

DAYS360 函數的計算方式是一些借貸計算中常用的計算方式。 如果會計系統是基於一年 12 個月, 每月30 天來建立的, 那麼在會計計算中可用此函數幫助計算支付款項。

例如, 小胡於 2016 年 8 月在銀行存入了一筆活期存款, 假設存款的年利息是 6%, 在 2019 年 10 月 25 日將其取出, 按照每年 360 天計算, 要通過 DAYS360 函數計算存款時間和可獲得的利息, 具體操作步驟 如下。

Step 01 計算存款時間。新建一個空白工作簿, 輸入如圖所示的相關內容,在 C6 單元格中輸入公式【=DAYS360(B3,C3)】, 即可計算出存款時間。

Step 02 計算存款利息。 在 D6 單元格中輸入公式【=A3*(C6/360)*D3】,即可計算出小胡的存款 1160 天后應獲得的利息, 如圖所示。

技術看板

如 果 start_date 參 數 的 值 在 end_date 參數值後, 那麼 DAYS360 函數將返回一個負數。

2.使用 EDATE 函數計算從指定日期向前或向後幾個月的日期

EDATE 函數用於返回表示某個日期的序列號, 即該日期與指定日期相隔(之前或之後) 的月份數。

語法結構:

EDATE (start_date,months)

參數:

● start_date:必需參數,用於設置開始日期。

● months:必需參數,用於設置與 start_date 間 隔 的 月 份 數。若取值為正數,則代表未來日期;否則代表過去的日期。

例 如, 某 員 工 於 2018 年 9 月20 日入職某公司, 簽訂的合同為 3年, 需要推斷出該員工的合同到期日。 在 Excel 中輸入公式【=EDATE (DATE(2018,9,20),36)-1】 即可。

技術看板

在使用 EDATE 函數時, 若 start_date 參數不是有效日期, 則函數返回錯誤值【#VALUE!】; 若 months 參數不是整數, 則截尾取整。

3.使用 EOMONTH 函數計算從指定日期向前或向後的某個月最後一天的日期

EOMONTH 函數用於計算特定月份的最後一天, 即返回參數 start_date 之前或之後的某個月份最後一天的序列號。

例如, 某銀行代理基金為了方便管理, 每滿 3 個月才在當月的月末從基金擁有者的帳戶上扣取下一次的基金費用。 小陳於當年的 6 月 12 日購買基金, 想知道第二次扣取基金費用的具體時間。 此時, 可使用函數 EOMONTH 計算正好在特定月份中最後一天到期的日期, 即輸入公式【=EOMONTH(DATE(,6,12),3)】。

語法結構:

EOMONTH (start_date,months)

參數:

● start_date:必需參數,一個代表開始日期的日期。應使用DATE 函數輸入日期,或者將日期作為其他公式或函數的結果輸入。

● months: 必 需 參 數, start_date之前或之後的月份數。 months為 正 值 將 生 成 未 來 日 期; months為負值將生成過去日期。

技術看板

EOMONTH 函數的返回值是日期的序列號, 因此如果希望以日期格式的形式顯示結果, 就需要先設置相應的單元格格式。 如果 start_date 參數值加 month 參數值產生了非法日期值,那麼函數將返回錯誤值【#NUM!】。

4.使 用NETWORKDAYS函數計算日期間所有工作日數

NETWORKDAYS 函數用於返回參數 start_date 和 end_date 之間完整的工作日天數, 工作日不包括周末和專門指定的假期。

例如, 某公司接到一個項目, 需要在短時間內完成, 現在需要根據規定的截止日期和可以開始的日期, 計算排除應有節假日外的總工作時間, 然後展開工作計劃, 具體操作步驟如下。

語法結構:

NETWORKDAYS (start_date,end_date,[holidays])

參數:

● start_date:必需參數,一個代表開始日期的日期。

● end_date:必需參數,一個代表終止日期的日期。

● holidays:可選參數,代表不在工作日曆中的一個或多個日期所構成的可選區域,一般用於設置這個時間段內的假期。該列表可以是包含日期的單元格區域,也可以是表示日期序列號的數組常量。

Step 01 輸入表格數據。 新建一個空白工作簿, 輸入如圖所示的相關內容, 目的是要依次統計出該日期間的法定放假日期。

Step 02 計算工作總天數。 在 B9 單元格 中 輸 入 公 式【=NETWORKDAYS (A2,B2,C2:C7)】, 即可計算出該項目總共可用的工作日時長, 如圖所示。

技能拓展——NETWORKDAYS.INTL 函數

如果在統計工作日時, 需要使用參數來指明周末的日期和天數, 從而計算兩個日期間的全部工作日數, 就可以使用 NETWORKDAYS.INTL 函 數。 該 函數的語法結構為 NETWORKDAYS.INTL (start_date,end_date, [weekend],[holidays]),其中的 weekend 參數用於表示在 start_date 和 end_date 之間但又不包括在所有工作日數中的周末日。

5.使用 WEEKNUM 函數返回日期在一年中是第幾周

WEEKNUM 函數用於判斷某個日期位於當年的第幾周。

語法結構:

WEEKNUM(serial_number,[return_type])

參數:

● serial_number:必需參數,代表一周中的日期。應使用 DATE函數輸入日期,或者將日期作為其他公式或函數的結果輸入。

● return_type:必需參數,用於確定一周從哪一天開始。若return_type 取值為 1,則一周從周日開始計算;若取值為 2,則一周從周一開始計算。若取值為其他內容,則函數將返回錯 誤 值【#NUM!】。 return_type 默認值為 1。

例如, 輸入公式【=WEEKNUM (DATE(2018,6,25))】, 即可返回該日期在當年的周數是第 26 周。

6.使 用WORKDAY 函數計算指定日期向前或向後數個工作日的日期

WORKDAY 函數用於返回在某日期(起始日期) 之前或之後與該日期相隔指定工作日的某一日期的日期值。

語法結構:

WORKDAY(start_date,days, [holidays])

參數:

● start_date:必需參數,一個代表開始日期的日期。

● days:必需參數,用於指定相隔的工作日天數(不含周末及節假日)。當 days 為正值時將生成未來日期;當 days 為負值時將生成過去日期。

● holidays:可選參數,一個可選列表,其中包含需要從工作日曆中排除的一個或多個日期,如各種省 \ 市 \ 自治區和國家 \ 地區的法定假日及非法定假日。該列表可以是包含日期的單元格區域,也可以是由代表日期的序列號所構成的數組常量。

有些工作在開始工作時就根據工作日給出了完成的時間。 例如,某 個 項 目 從 2017 年 2 月 6 日 正 式啟動, 要求項目在 150 個工作日內完成, 除去這期間的節假日, 使用WORKDAY 函數便可以計算出項目結束的具體日期, 具體操作步驟如下。

Step 01 輸入表格數據。 新建一個空白工作簿, 輸入如圖所示的相關內容, 主要是依次輸入可能完成任務的這段時間內法定放假的日期,可以儘量超出完成日期來統計放假日期。

Step 02 輸入公式。 在 B2 單元格中輸入公式【=WORKDAY(A2,150,C2:C7)】,按【Enter】 鍵即可得到日期序列號,如圖所示。

Step 03 設置日期格式。 在【開始】 選項卡【數字】組中的列表框中選擇【長日期】 命令, 如圖所示。

Step 04 查看最終完成的日期。 經過上步操作後, 即可將計算出的結果轉換為日期格式, 得到該項目預計最終完成的日期, 如圖所示。

7.使 用YEARFRAC 函數計算從開始日期到結束日期所經歷的天數占全年天數的百分比

YEARFRAC 函數用於計算 start_date 和 end_date 之間的天數占全年天數的百分比, 使用 YEARFRAC 函數可判別某一特定條件下全年效益或債務的比例。

語法結構:

YEARFRAC (start_date,end_date, [basis])

參數:

● start_date:必需參數,一個代表開始日期的日期。

● end_date:必需參數,一個代表終止日期的日期。

● basis:可選參數,用於設置日計數基準類型,該參數可以設置為 0、 1、 2、 3、 4。 basis 參數的取值含義如表所示。

例如, 某人在一年中不定時買入和賣出股票, 需要使用 YEARFRAC函數計算出每一次股票交易時間長度占全年日期的百分比, 具體操作步驟如下。

Step 01 輸入計算公式。 打開股 票 交 易 信 息 統 計.xlsx, 在 C2 單 元 格 中 輸 入 公 式【=YEARFRAC(A2,B2,3)】, 計算出第一次購買和賣出股票的日期在全年所占的百分比數據, 如圖所示。

Step 02 設置百分比格式。使用 Excel的自動填充功能判斷出後續購買和賣出股票的日期在全年所占的百分比數據,保持單元格區域的選擇狀態,單擊【開始】 選項卡【數字】 組中的【百分比】 按鈕, 即可使數據以百分比格式顯示, 如圖所示。

關鍵字: