본문 바로가기

3659

[365 함수리뷰] 각행에서 숫자들만 뽑아서 출력하기 서랍님의 문제이다.. 각행에서 숫자만 뽑아서 나열하는것이다. VBA로 하면 정규식으로 뽑았을 것이다. 최근에도 비슷한 문제를 다룬적이 있어서 그것에 대해서 리뷰는 하지 않겠다. 행 단위로 움직이기 때문에 BYROW 함수를 만지작 거릴수도 있으나, BYROW함수는 배열을 인자로 받아서 하나의 결과값만을 도출한다. 가령 각셀에 값들을 출력하는 문제가 아니라 한셀에 콤마 또는 구분자로 연결된 식의 문제이면 BYROW를 사용하여도 된다. 이버네 서랍님은 영역을 순환하는 함수중 기초방77번에서 다룬 REDUCE함수를 사용하여 문제를 풀었는데, 그 코드에 대해서 리뷰를 해보려면 이렇다. =LET( →step1, 전체영역설정, _r, B4:B6, →step2, 대분류 LAMBDA설정, _f, LAMBDA(x, →st.. 2023. 10. 26.
[기초방] VBA 100제 #84 [ 교차 테이블 만들기] 몇일전에 써봤던 IFNA(목록1, 목록2) 하게 되면 목록들이 해당영역만큼 차지하게 되는데 그걸 한줄로 바꿔서 각각의 위치에 넣어주면 된다. 물론 IFERROR로 해도 된다.. 어찌되었든...음 365-1 =HSTACK(TOCOL(IFNA(B4:B14,TRANSPOSE(D4:D7))),TOCOL(IFNA(TRANSPOSE(D4:D7),B4:B14))) 365-2 =TEXTSPLIT(TEXTJOIN("/",TRUE,TOCOL(B4:B14&","&TRANSPOSE(D4:D7)),","),",","/") VBA vtemp1 = .IfNa(Va, .Transpose(Vb)) vtemp2 = .IfNa(.Transpose(Vb), Va) vtemp1 = Split(.TextJoin(",", , vtemp1), ".. 2023. 10. 20.
[365 함수리뷰] 달력만들기 365 함수로 달력만들기이다. 본인은 이런 비슷한 달력들을 많이 만들어보았다.. 의뢰에도 이런 비슷한 문의가 들어왔기 때문에 지저분한 코드에 비해서 어렵지않게 만들어 왔던거 같다.. 하지만 365함수로 만든 달력을 보면서 진짜 [대단하다] 말밖에는 생각나지 않는다. =LET( →step1, 요일표시, _head, {"일", "월", "화", "수", "목", "금", "토"}, →step2, SEQUENCE 함수로 달력표시 - WEEKDAY 함수로 요일 위치를 찾아감, _date, SEQUENCE(5, 7, B2) - WEEKDAY(B2) + 1, →step3, 해당월이 아니면 표시안함 / 날짜 표시는 일자만 나오도록, _modify, IF(MONTH(B2) MONTH(_date), "", TEXT(_d.. 2023. 10. 20.
[기초방] VBA 100제 #78 [ 열선택하여 조건에 맞는값 출력 ] 원본테이블에서 일부열을 선택 후 조건에 맞는 값을 도출하는 문제이다. 이런 문제에 FILTER함수가 너무 특화되어 있기 때문에 이러한 문제는 365 사용자라면 VBA까지 들어오지 않을 것같다. 단 한줄.... =SORT(FILTER(FILTER(A4:F80,F4:F80>J3),{0,1,0,0,1,0}),2) 물론 이중 FILTER대신 CHOOSECOLS를 사용해도 된다. 여하튼 이번 문제의 핵심은 아래 구문인데, 이해가 잘 안되시는 분은 본인의 포스팅 중 배열 슬라이싱에 대해서 한번 더 짚고 오길 바란다. https://1stminokingdom.tistory.com/153 [VBA] 배열 슬라이싱(feat. 배열맛집) 오늘은 배열 슬라이싱에 관해서 알아보자. 본인이 쓴글에 간간히 배열 슬라이싱에 관해서.. 2023. 10. 19.