https://www.youtube.com/watch?v=ArRyv21LlnI&t=50s
시작일과 종료일사이의 제외요일을 제외한 나머지 날짜와 요일을 출력하는 문제이다.
논리식으로 시작일과 종료일 사이의 날짜의 요일을 제외요일과 비교하여 같으면 TRUE를 다르면 FALSE값을 반환하므로, FALSE값의 날짜와 요일만 출력하면 되는 문제이다.
=LAMBDA(시작일,종료일,제외1,제외2,
LET(
→step1, "입력된 날짜로 date 테이블구성",
date, 시작일+SEQUENCE(종료일-시작일+1,,0),
→step2, "제외1과 제외2 값을 비교하는 함수구성",
f, LAMBDA(r, OR(TEXT(r,"aaaa")=제외1,TEXT(r,"aaaa")=제외2)),
→step3, "date테이블을 순환하면서 함수값이 false인 값이 나오면 하나씩 쌓아나감",
result, REDUCE("", date, LAMBDA(a,v,IF(f(v)=FALSE,VSTACK(a,v),a))),
→step4, "결과출력",
x, DROP(result,1),
HSTACK(x,TEXT(x,"aaaa")))
)(B1,B2,"수요일","금요일")
최초 LAMBDA로 초기값들을 받은 후, LET 구문에서 값들을 도출하는 코드이다.
→step2, "제외1과 제외2 값을 비교하는 함수구성",
f, LAMBDA(r, OR(TEXT(r,"aaaa")=제외1,TEXT(r,"aaaa")=제외2)),
해당 함수구문에서
→step3, "date테이블을 순환하면서 함수값이 false인 값이 나오면 하나씩 쌓아나감",
result, REDUCE("", date, LAMBDA(a,v,IF(f(v)=FALSE,VSTACK(a,v),a))),
date 테이블에서 하나씩 값을 입력받아 함수구문에서 반환되는 값이 false인 값들만 쌓아가면서 만들어 가는 코드이다.
'VBA > 365 FUNCTION' 카테고리의 다른 글
[365함수] 병합풀기도 한방에 고고 (2) | 2024.02.17 |
---|---|
[365함수] FILTER 함수가 없는 누군가에게 (0) | 2024.02.16 |
[365리뷰] 칸트차트 만들기[feat. 서랍님] (0) | 2024.02.10 |
[365 함수리뷰] 영역에서 중복되지 않은 5개 뽑아내기 (0) | 2023.11.08 |
[365 함수리뷰] 서랍님 달력리뷰(feat. to_do List) (0) | 2023.10.29 |
댓글