본문 바로가기
VBA/365 FUNCTION

[365 함수리뷰] 동적으로 출력되는 테이블

by 일등미노왕국 2023. 10. 16.

 

본인의 365 함수 코드들은 기초방에 올리고 있기 때문에 따로 서랍님 코드를 리뷰해보려고 한다.

더보기
=LAMBDA(range, n, [op],
    LET(
        _range, range,
        _n, n,
        _op, IF(ISOMITTED(op), 1, op),
        _rn, TAKE(_range, , 1),
        _rm, DROP(_range, , 1),
        _u, UNIQUE(_rn),
        TAKE(SORT(HSTACK(_u, SUMIFS(_rm, _rn, _u)), 2, IF(_op = 1, -1, 1)), _n)
    )
)(G7:H90, C3)

이번 코드의 핵심은,

_rn, TAKE(_range, , 1),
_rm, DROP(_range, , 1),

 TAKE 와 DROP으로 한번은 선택해서 취하고 한번은 선택해서 버리는 코드 전개로 두열을 모두 가져오는 코드를 보여주었다.

 

대단대단..

 

서랍님 코드에 ISOMITTED 함수가 자주 등장하는데, 녀석이 낯설뿐 이해하기에는 어렵지는 않다.

VBA 내장함수중 OPTIONAL과 비슷한 녀석으로 생각하면된다.

_op, IF(ISOMITTED(op), 1, op),

IF(ISOMITTED(값),1,값) : 값이 생략되었으면 1을 반환하고, 값이 있으면 값을 반환하라는 뜻이다.

 

365함수를 빠르게 익히기 위해서는 

 

LET함수 부분에서는 본인처럼 LET함수절에서 변수와 값을 묶어서 줄바꿈으로 가독성을 높혀가면서 디버깅하면서 보게 되면 언제가는 쉽게 눈에 들어오게 될것이다.

 

=LET(
	변수1, 값1,
	변수2, 값2,
	변수1
)

LET 함수의 마지막은 결과물이다. 이렇게 하면 변수1을 출력한다. 이런식으로 단계별로 LET함수의 변수명을 넣어가면서 값이 제대로 나오는지 파악하는것도 아주 중요하다

 

=LET(
	변수1, 값1,
	변수2, 값2,
	변수1 + 변수2
)

이렇게 하면 변수1과 변수2의 합을 출력하게 된다.

 

=LET(변수1, 값1,변수2, 값2,변수1+변수2)

이렇게 일열로 나열된 수식을 변수와 값으로 분리해서 코드를 보기 시작하면 좀 더 빠르게 365를 배울수 있을 것이다. 

 

서랍님 역시 블로그를 운영하고 있으니, 다양한 영감을 받으시길....

https://itseorab.tistory.com/

 

자유롭고 편안한 기록, 잡다한 취미생활의 집합체

뚠뚠뚠.

itseorab.tistory.com

 

기초방76.xlsx
0.02MB

댓글