標題:
[發問]
發薪日 逢六日遞延
[打印本頁]
作者:
carzyindex
時間:
2011-3-2 15:41
標題:
發薪日 逢六日遞延
本帖最後由 carzyindex 於 2011-3-2 17:43 編輯
公司發薪日為每月的18號
逢六日就延到星期一
請問函數該怎麼設定佔用的儲存格越少
感覺這問題滿常見的
20110318
20110218
20110118
20101220
20101118
20101018
20100920
20100818
20100719
20100618
20100518
20100419
20100318
自己的做法滿慘的
2011/3/18
2011/2/18
2011/1/18
2010/12/18
2010/11/18
2010/10/18
2010/9/18
2010/8/18
2010/7/18
2010/6/18
2010/5/18
2010/4/18
2010/3/18
先用weekday判斷星期幾如果星期六+2星期日+1
跪求簡化
作者:
ANGELA
時間:
2011-3-2 18:04
本帖最後由 ANGELA 於 2011-3-2 22:29 編輯
用WEEKDAY 或用MOD 都一樣要用IF 去判斷,如果不增加欄位,就要用VBA去判斷18日是否為週末再直接把18日修改為下一個星期一的日期.
否則用長公式
=IF(MOD(DATE(YEAR(TODAY()),MONTH(TODAY()),18),7)=0,DATE(YEAR(TODAY()),MONTH(TODAY()),20),IF(MOD(DATE(YEAR(TODAY()),MONTH(TODAY()),18),7)=1,DATE(YEAR(TODAY()),MONTH(TODAY()),19),DATE(YEAR(TODAY()),MONTH(TODAY()),18)))
作者:
carzyindex
時間:
2011-3-2 23:36
回復
2#
ANGELA
原來公式是這樣用的,真不是普通的短啊
作者:
oobird
時間:
2011-3-3 08:09
a1輸入2011/3/18
a2=EDATE(DATE(YEAR(A1),MONTH(A1),18),-1)+CHOOSE(WEEKDAY(EDATE(DATE(YEAR(A1),MONTH(A1),18),-1),2),0,0,0,0,0,2,1)
往下拉
作者:
ANGELA
時間:
2011-3-3 11:37
回復
4#
oobird
choose這個函數幾乎被遺忘了,真管用,謝謝指導.
作者:
gong
時間:
2011-3-3 15:06
=DATE(2011,ROW(),18)+MID("0000012",WEEKDAY(DATE(2011,ROW(),18)),1)
作者:
ANGELA
時間:
2011-3-3 23:08
本帖最後由 ANGELA 於 2011-3-4 08:24 編輯
=DATE(2011,ROW(),18)+MID("0000021",WEEKDAY(DATE(2011,ROW(),18)),1)
龔兄也是我的啟蒙老師,謝謝長久來的教導,mid函也用的妙
作者:
james417
時間:
2011-3-13 19:52
=DATE(2011,ROW(),18)+MID("0000021",WEEKDAY(DATE(2011,ROW(),18)),1)
MID這招太強了
不是一般人會想到的
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)