본문 바로가기

VBA/365 FUNCTION16

[365 함수리뷰] MAKEARRAY 구구단 만들기 코드 한줄.... 참 쉽쥬~~ =MAKEARRAY(9,8,LAMBDA(r,c,(c+1) & " X " & r & " = " & (c+1)*r)) 1. MAKEARRAY로 신규배열 생성 2. 행렬의 값을 각각 9,8로 LAMBDA에 매개변수 r,c에 인자 전달 3. MAKEARRAY로 전달된 값의 1부터 전달된 값까지 반복한다. 4. 만들어진 구구단을 보면서 흡족해한다. 2023. 10. 19.
[365 함수리뷰] 해당기간의 [월]을 표시 이번에 리뷰해볼 수식은 서랍님이 엑사남 방에 올려주신 시작일과 종료일사이에 해당하는 월을 O으로 표기하는 수식을 리뷰해 보려고 한다. 시작일과 종료일의 날짜의 차이에 +1을 하는 이유는 시작일 : 2016-03-25 종료일 : 2023-06-05 라고 할때, 2023 - 2016의 차는 7이지만 실제로는 8부터이기 때문에 모든 날짜 계산에 +1을 해야한다. _day_list, UNIQUE(EOMONTH(SEQUENCE(_end - _start + 1, , _start), -1) + 1), 두기간 사이의 날짜를 구해서 그 날짜들의 EOMONTH(날짜 , -1)를 구하면 전월의 마지막이 나오게 되는데 그 값의 +1을 하게되면 결국 해당월의 처음을 구할 수 있고 그 값들의 고유값을 구하게 되면 각 해당 월에 .. 2023. 10. 19.
[365 함수리뷰] PIVOT 구현하기 서랍님의 코드 리뷰이다. 더보기 LAMBDA(range, TRANSPOSE( IFERROR(HSTACK(UNIQUE(CHOOSECOLS(range, 1)), DROP(REDUCE("", UNIQUE(CHOOSECOLS(range, 1)), LAMBDA(acc, val, VSTACK(acc, TRANSPOSE(FILTER(CHOOSECOLS(range, 2), val = CHOOSECOLS(range, 1)))))), 1)), "") ) )(A4:B49) * 서랍님 수식 리뷰 1. LAMBDA // 함수선언 범위는 9행의 (A4:B49) 2. TRANSPOSE // 행렬 변환 3. IFERROR(...) // 에러처리 HSTACK(이름,담당구역 ) // 이름과 담당구역을 수평으로 나열 UNIQUE(CHOO.. 2023. 10. 18.
[365 함수리뷰] 동적으로 출력되는 테이블 본인의 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으로 한번은 선택해서 취하고 한번은 선택해서 버리는 코드 전개.. 2023. 10. 16.