close

2313

年資計算以每個年度一月底為基準

補習班一位學生在月中提出了一個蠻不錯的問題!她說:錦子老師,如果我們公司計算的基準是以每年的131日來計算其可休假天數,則公式要如何寫呢?

其實只要運用DATEDIFDATEYEARIFIFERRORVLOOKUP函數即可完成這個公式的計算。

1、新增一張工作表,輸入各個年資對應的可休假天數表格(目前放在SHEET2)

2、點取B3儲存格輸入公式:

=IFERROR(IF(TODAY()<DATE(YEAR(TODAY()),1,31),DATEDIF(A3,DATE(YEAR(TODAY()-1),1,31),"M")/12,DATEDIF(A3,DATE(YEAR(TODAY()),1,31),"M")/12),0)

再將公式複製到B4:B12儲存格。

【公式解說】

DATEDIF(A3,DATE(YEAR(TODAY()),1,31),"M")/12 傳回系統日期當年131日減去A3儲存格的日期之間差距月份除以12的值。

IF(TODAY()<DATE(YEAR(TODAY()),1,31),DATEDIF(A3,DATE(YEAR(TODAY()-1),1,31),"M") /12,DATEDIF(A3,DATE(YEAR(TODAY()),1,31),"M")/12) 如果系統日期小於當年度131日,則傳回系統日期前一年131日減去A3儲存格的日期之間差距月份除以12的值,否則傳回系統日期當年131日減去A3儲存格的日期之間差距月份除以12的值。

IFERROR(IF(TODAY()<DATE(YEAR(TODAY()),1,31),DATEDIF(A3,DATE(YEAR(TODAY()-1),1,31),"M")/12,DATEDIF(A3,DATE(YEAR(TODAY()),1,31),"M")/12),0) 如果A3儲存格日期大於系統日期當年131日則傳回0

3、點取C3儲存格輸入公式:

=VLOOKUP(B3, Sheet2!$A$2:$B$28, 2, TRUE)

再將公式複製到C4:C12儲存格。

部落格相關範例

2021.03.01

2176Excel VBA 時間無法正確比較的問題

2020.12.27

2126Excel如何找到所有符合相同排序的欄位,並傳回下一欄位的值?-VBA

2020.12.21

2120Excel VBA對照字串並自動按順序排列

2020.11.30

2096EXCEL提取不重複值的五種方法()VBA程式法

2020.11.05

2073Excel尋找字串,並複製資料至新位置-VBA

2020.10.27

2063函數寫成VBA

2020.10.14

2053Excel VBA 如何自動查找右方黑色的資料,然後複製成左方紅色的格式 ?

2020.09.11

2032如何在 Excel中表達出級數-VBA

2020.08.05

1098EXCEL列出清單方法-VBA

2019.10.24

2274隱藏範圍名稱處理

2019.09.16

2212儲存格的顏色依自己的設定做改變-VBARGBCELLS

2019.09.02

Q75Excel 連結VBA

2019.04.28

101PPT批量修改幻燈片字體、大小、顏色的方法

2019.04.03

VBA008快速定位欄最後一個非空儲存格的實現方法

2019.03.24

2058Excel VBA 如何檢查工作表(名稱)是否存在

2018.05.24

Q134VLOOKUP與合併儲存格-VBA超強版

2018.05.08

Q74Word停用 VBA-Font.Name

2018.01.05

VBA007使Excel視窗自動最大化的方法

2017.02.25

VBA005 英文字的大小寫轉換

2017.02.24

VBA004 取得啟用中的儲存格位址

 


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()