진입월과 해당월 다르고
해당월 25일 이상
(또는) 해당월 마지막주 (해당월 몇 번째 주 구하는 수식)
검색해서 찾아 보니 요일이나 요주를 숫자로 반환해 주는 수식이 있는데 사용하면 (진입이후) 년도가 바뀌면서 먹통이 됩니다.
수식 부탁 드립니다.
답변 1
예스스탁
예스스탁 답변
2020-11-09 17:57:51
안녕하세요
예스스탁입니다.
1
25일 이상은 아래와 같이 지정하시면 됩니다.
Var : Year(0),Month(0),ndate(0),DJ(0),lastJD(0),lastday(0),weekLastday(0);
nday = sDate%100;
if nday >= 25 Then
{
}
2
이번달 마지막주는 아래와 같습니다.
이번달 마지막 월요일이후이면 condition1이 true가 됩니다.
Var : Year(0),Month(0),ndate(0),DJ(0),lastJD(0),lastday(0),weekLastday(0);
Year = Floor(sDate / 10000)*10000;
month = Floor(FracPortion(sdate/10000)*100)*100;
#다음달1일의 날짜
if Month+100 <= 1200 Then
ndate = year+(month+100)+1;
Else
ndate = (year+10000)+100+1;
#다음달1일의 줄리안데이트
DJ = DateToJulian(ndate);
#그전일(이번달말일의 줄리안데이트)
lastJD = Dj-1;
#이번달 말일의 날자
lastday = JulianToDate(lastJD);
#이번달 말일의 요일
WeekLastday = DayOfWeek(lastday);
if (WeekLastday == 0 and DateToJulian(sDate) >= lastJD-6) or
(WeekLastday == 6 and DateToJulian(sDate) >= lastJD-5) or
(WeekLastday == 5 and DateToJulian(sDate) >= lastJD-4) or
(WeekLastday == 4 and DateToJulian(sDate) >= lastJD-3) or
(WeekLastday == 3 and DateToJulian(sDate) >= lastJD-2) or
(WeekLastday == 2 and DateToJulian(sDate) >= lastJD-1) or
(WeekLastday == 1 and DateToJulian(sDate) >= lastJD-0) Then
Condition1 = true;
Else
Condition1 = False;
#마지막주이면
if Condition1 == true Then
{
}
즐거운 하루되세요
> 달무드 님이 쓴 글입니다.
> 제목 : 수식 부탁 드립니다.
> 진입월과 해당월 다르고
해당월 25일 이상
(또는) 해당월 마지막주 (해당월 몇 번째 주 구하는 수식)
검색해서 찾아 보니 요일이나 요주를 숫자로 반환해 주는 수식이 있는데 사용하면 (진입이후) 년도가 바뀌면서 먹통이 됩니다.
수식 부탁 드립니다.