본문 바로가기

365함수11

[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.
[기초방] VBA 100제 #79 [ 로또번호 정렬하기 ] 결합되어 있는 로또번호를 풀어서 각 사람의 로또 번호를 정렬하는 구문이다. 이 문제를 해결하기 위해서는 2가지를 알고 있어야 한다. 1. 문제에서는 숫자들이 문자열로 조합이 되어 있기 때문에 저상태에서 SPLIT를 하게 되면 숫자들이 문자화 되어서 정렬을 하게 될경우, 숫자가 아닌 문자로 인식하기에 문자열 정렬이 된다 rngX.Resize(1, 7).NumberFormatLocal = "G/표준" rngX.Resize(1, 7).Value = rngX.Resize(1, 7).Value 영역을 선택 후 초기화 한후 다시 VALUE값으로 씌어주면 된다. 두번째는 행단위 정렬이다. rngX(1, 2).Resize(1, 6).Sort rngX(1, 2), Orientation:=2 이 두 구문을 모를 경우 문제.. 2023. 10. 19.
[기초방] VBA 100제 #77 [ 고유값 pivot ] 고유값을 Pivot 하는 문제이다. 이문제의 관건은 담당자의 고유값을 세로에서 가로로 뿌린 후 FILER함수를 이용하여 값을 구할 수 있느냐에 있다. 통상 FILTER함수는 = FILTER(배열, 조건, [못찾을때]) 이것을 VBA 식으로 표현하면 With Application V = Application.Filter(rngAll.Columns(2), rngAll.Columns(1) = rngA, "not Found")) rngA(2, 1).Resize(UBound(V, 1), 1) = V End With 이렇게 하면 될것 같지만 해당되지 않는다. FILTER함수의 부분일치값을 가져오는 ISNUMBER + SEARCH 조합으로 구하면 해결된다. For Each rngA In rngF With Applic.. 2023. 10. 17.
[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.