메뉴

댓글 9

e
exceller1 9월 17일
[퀴즈_Q8] 에서 제가 [퀴즈 속 퀴즈] 문제와 동일합니다.
파워쿼리로 만들어 봅니다.
(힌트 : 구분 기준 ✅ 가 규칙성이 있음)
마
마법의손 작성자 9월 17일
삭제된 댓글입니다.
e
exceller1 9월 17일
@마법의손 님 붙임문서가 수정분이 아닌게 올려져 있었네요..불규칙 데이터로 크로스테이블 만드는 퀴즈였습니다.
마
마법의손 작성자 9월 17일
@exceller1 님 앗 그렇게 된 거군요. 불규칙한 것 맞네요
라
라온보리 9월 17일
=IFERROR(LET(rngCn,A1:A1877, xHead,(LEFT(rngCn,1)="✅")+(LEFT(rngCn,1)="☑"), xGpIdx,SCAN(0,xHead,LAMBDA(xAcc,irng, xAcc+irng)), xCnIdx,SCAN(0,xHead,LAMBDA(xAcc,irng, IF(irng,1,xAcc+1))), xMax,MAX(xCnIdx),
ReVe,MAP(SEQUENCE(MAX(xGpIdx)*xMax),LAMBDA(iseq, LET(xQuo,QUOTIENT(iseq-1,xMax)+1, xMod,MOD(iseq-1,xMax)+1, IFNA(INDEX(FILTER(rngCn,(xGpIdx=xQuo)*(xCnIdx=xMod)),1),"")))),
WRAPROWS(ReVe,xMax)),"")
마
마법의손 작성자 9월 17일
@라온보리 님  
아하...scan으로....좋은 방법이네요....파워쿼리같은 방법으로 처리하셨군요..
 
더
더블유에이 9월 17일
=LET(r,A1:A1877,v,
SCAN(0,REGEXTEST(r,"✅"),SUM),
DROP(IFNA(REDUCE("",SEQUENCE(MAX(v)),LAMBDA(a,b,VSTACK(a,TOROW(FILTER(r,v=b))))),""),1))
마
마법의손 작성자 9월 18일
처음에 만든 수식..
=LET(Area,$A$1:$A$1877,
sData,TOCOL(IF(LEFT(Area)="✅",ROW(Area),NA()),3),
vData, VSTACK(sData,1+ROW(TAKE(Area,-1))),
위치, DROP(REDUCE("",SEQUENCE(ROWS(vData)-1),LAMBDA(a,b,VSTACK(a,"A"&INDEX(vData,b)&":A"&INDEX(vData,b+1)-1))),1),
IFNA(DROP(REDUCE("", 위치, LAMBDA(a,b, VSTACK(a, TOROW(INDIRECT(b))))),1),""))

라온보리님+더블유에이님 보고 만든것.. scan해서 그러면...pivotby사용할수 있겠다 생각해서
=LET(r,A1:A1877,
v,SCAN(0, (LEFT(r,1)="✅")*1, LAMBDA(a,b,a+b)),
w,SCAN(0, r, LAMBDA(a,b,IF(LEFT(b,1)="✅",1, a+1))),
DROP(PIVOTBY(v,w,r, CONCAT, 0,0,,0),1,1))
reduce는 데이터 수가  많아지니 좀 많이 느려지네요....
위의 제 indirect+reduce버전은 45104개 처리하라고 했더니 죽을려고함..-_-;;;
pivotby 버전이 적어도 10배이상 빠른 것 같네요
 
 
원
원조백수 9월 20일
IF문으로 행/열 구분 넣어주고, CONCAT한후에 TEXTSPLIT
=TEXTSPLIT(CONCAT(IF(LEFT(TRIM(A1:A1877),1)="✅","#",";")&A1:A1877),";","#",TRUE,,"")

 

이야기 게시판의 최근 글

스크랩 완료