본문 바로가기

엑사남180

[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.
[GAS] 영역처리하기 [ ARRAY _ OBJECT ] 이런식의 데이터가 있을 때, VBA 기준으로 [B4].CURRENTREGION 코드를 입력하게 되면 영역이 [B4:E] E열의 끝까지 영역이 잡힌다. 물론 C열과 D열이 분리되어 있다면 문제가 없겠지만 저렇게 붙어 있을 때 [B4:C] 의 데이터의 끝 영역만 알고자 할때 쓰는 코드를 정리하려고 한다. 1. [B4] 와 연결된 모든 데이터를 배열에 담는 코드이다. function getDataFromSpreadsheet() { let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); let data = sheet.getRange("B4").getDataRegion().getValues(); console.log(data) return data.. 2023. 11. 2.
[기초방] VBA 100제 #90 [ 부분합 구하기 ] 부분합을 구하는 문제이다. https://1stminokingdom.tistory.com/310 [VBA] 대량 데이터에서 부분합구하기 부분합에 대한 고민이다. 23000건 정도의 데이터이니 이걸 우리가 아는 부분합으로 구한다면 셀 사이사이를 부분합이 들어가야 하기 때문에 분명히 에러가 발생할 것이다. 질문자의 고민도 그런 1stminokingdom.tistory.com 몇일전에 이렇게 부분합을 구한적이 있었다. 365를 도입하면서 본인이 알고 있던 모든 로직들이 변화고 있다. 물론 365가 없다고 하면 어쩔 수 없지만...그때는 만일 의뢰를 맡긴다면 돈을 많이 받을테야..ㅋㅋㅋㅋ 암튼 365를 하나씩 보면서 정말 엑셀이 막강해지고 있음을 느낀다. 365로 함수도 그렇고 본인 vba 코드도 그러고 방식은.. 2023. 11. 1.
[365 함수리뷰] 서랍님 달력리뷰(feat. to_do List) 몇일전 수식한줄의 달력을 포스팅 한적이 있다. https://1stminokingdom.tistory.com/330 [365 함수리뷰] 달력만들기 365 함수로 달력만들기이다. 본인은 이런 비슷한 달력들을 많이 만들어보았다.. 의뢰에도 이런 비슷한 문의가 들어왔기 때문에 지저분한 코드에 비해서 어렵지않게 만들어 왔던거 같다.. 하지만 1stminokingdom.tistory.com 이녀석이 애들 장난이었다면, 어마무시한 코드를 서랍님이 공개했다. 서랍님이 올린 코드를 한번 리뷰해보도록 하겠다. =LAMBDA([month], [range_todo], [rows_todo], LET( →STEP1, 과거10년전부터 향후 10년까지 일정 추가 가능, _month, IF(ISOMITTED(month), 0, mo.. 2023. 10. 29.