본문 바로가기

VBA/365 FUNCTION16

[365함수] FILTER 함수가 없는 누군가에게 엑셀을 조금 배웠다 할때가 VLOOKUP으로 좀 까불던 때가 아닐까 한다. 하지만 VLOOKUP도 정확히 일치하는 값이 다수일때는 가장 첫번째 값만 가져오기에 이 또한 후 가공을 해줘야했다.. 이러한 번거로움을 해결하기 위해 365에서는 FILTER함수라는 녀석을 가지고 나왔다. 예전에는 위와 같은 문제를 해결하기 위해서 FILTER를 걸어서 해결하였다면 최근에는 365에서 간단하게 처리할 수 있다. =FILTER([출력할영역],[찾을값의 영역]=[찾을값]) 위와같이 하면 [찾을값의 영역]에서 [찾을값]과 일치하는것을 [출력할영역]에 설정된 DATA를 모두 가져오는 것을 볼수 있다. 허나 엑셀 365가 아닌 유저들에게 복잡하지만, 한줄기 빛같은 유용한 수식을 공개하려고 한다. ㅁ데이터의 영역 =INDEX.. 2024. 2. 16.
[365리뷰] 엑셀365함수와 수식시리즈_84[feat. 우노사설님] 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테이블을 순환하면.. 2024. 2. 11.
[365리뷰] 칸트차트 만들기[feat. 서랍님] https://www.youtube.com/watch?v=SVO32ur-69I 서랍님 칸트차트 리뷰이다. =LAMBDA(테이블,시작일,일정, LET( →step1, "람다함수를 통해서 테이블 시작일 일정의 값을 받는다", 기간,SEQUENCE(1,일정,시작일), →step2, "함수를 만들어서 각 행의 TRUE 값을 반환받는다", 함수,LAMBDA(r,IF((INDEX(테이블,r+1,2)=기간),1,"")), →step3, "반복할 행값을 구한다", 테이블갯수, ROWS(테이블)-1, →step4, "각 행을 반복하며 스텝2에서 만들어진 함수값의 반환값을 REDUCE의 결과값으로 호출한다", x, REDUCE("",SEQUENCE(테이블갯수), LAMBDA(a,v,VSTACK(a,함수(v)))), →st.. 2024. 2. 10.
[365 함수리뷰] 영역에서 중복되지 않은 5개 뽑아내기 다음과 같은 리스트가 주어졌을 때, 중복되지 않은 랜덤한 값 5개를 뽑아내는 문제이다. 랜덤한 값을 뽑아내는 문제는 RAND 함수를 사용하면 되는데, 365에서는 RANDARRAY 함수로 야무지게 뽑아 낼 수 있어 소개하려고 한다. 우선 각 리스트에 랜덤한 값을 부여하는 코드는 이렇다. =LET( _tbl,HSTACK(RANDARRAY(COUNTA(C3:D9),1,0,1,0), TOCOL(C3:D9)), _tbl ) 코드 설명을 하면 리스트 영역만큼 행의 값을 주고, 열값은 1, 최소값 0, 최대값 1인 영역에 정수가 아닌 소수로 구성된 영역이 만들어 지고, 그 옆의 열에는 리스트 값을 한줄로 길게 나열하라는 의미이다. 이렇게 주어진 영역을 LET 함수에서 _tbl로 설정한다. 주어진 랜덤한값에서 5개의.. 2023. 11. 8.