5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
퀴즈

[퀴즈_19] 그룹의n번째 값들 합계 구하기

마법의손
6월 9일 조회 588
엑셀정보공유의 새 게시물을 보고 문제를 생각해봤습니다..~

이번 문제는 크게 어렵지는 않습니다..^^.

풀이 도구는 어떤 방법이든 상관없습니다.. m365, 파이썬, vba매크로 또는 vba함수, 스크립트, ....기타등등...

 

댓글 6

더블유에이 채택된 답변 6월 9일
이번 퀴즈는 제가 1등이군요~~^^

1번
=LET(rng,C3:C28,arr,IFERROR(TEXTSPLIT(REGEXREPLACE(TEXTJOIN(",",FALSE,rng),",{2,}",";"),",",";")*1,0),
BYROW(SEQUENCE(5),LAMBDA(a,SUM(CHOOSECOLS(arr,a)))))

2번
=LET(rng,C3:C28,arr,REGEXREPLACE(TEXTJOIN(",",FALSE,TRIMRANGE(rng)),",{2,}",";"),IFERROR(TRANSPOSE(TEXTSPLIT(arr,",",";")),""))
원조백수 6월 9일
첫번째,  Trim함수는 중간에 있는 공백도 1개만 남기는 특성을 이용
1 =BYROW(SEQUENCE(5),LAMBDA(r, SUM(CHOOSECOLS(TEXTSPLIT(TRIM(REDUCE(,C3:C25,LAMBDA(t,c, t&IF(c=""," ",",")&c))),",", " ,",,,0)*1,r))))
두번째가 숫자가 아니어도 된다면
2 =TRANSPOSE(TEXTSPLIT(TRIM(REDUCE(,C3:C25,LAMBDA(t,c,t&IF(c=""," ",",")&c))),","," ,",,,""))
꼭 숫자여야 한다면,
2 =IFNA(TRANSPOSE(TEXTSPLIT(TRIM(REDUCE(,C3:C25,LAMBDA(t,c,t&IF(c=""," ",",")&c))),","," ,")*1),"")
츠츠°º⁰ 6월 9일
2번 답처럼 출력하도록  먼저 만들어서,
행별 sum해서 1번답이 되도록 해보았습니다.
=LET(r,$B$3:$B$25, t,TRIM(TEXTSPLIT(TEXTJOIN(" ",,IF(r>0,r,";")),,";")),
c,TRANSPOSE(IFERROR(DROP(REDUCE("",FILTER(t,t<>""),LAMBDA(a,b,VSTACK(a,--TEXTSPLIT(b," ")))),1),"")),
BYROW(c, LAMBDA(a, SUM(a))))
생선벽지 6월 10일
저는 실무상 사용하던 꼼수를 살짝 얹어서 풀어봤습니다

박정호2 6월 10일
왠일로 저 같은 2019가 풀 수 있는 문제를 내주시다니
감사합니다. 솔직히 filter 쓰면 더 쉬울꺼 같아요
마법의손 작성자 6월 10일
1번문제는 scan함수로 처리후, 해당값으로 합계, 또는 groupby로 해서 처리
=LET(Data,$C$3:$C$25,scData,SCAN(0,Data,LAMBDA(a,b,IF(b="",0,a+1))),SUM(FILTER(Data,scData=ROW(A1)))) 

or 

=LET(Data,$C$3:$C$27,scData,SCAN(0,Data,LAMBDA(a,b,IF(b="",0,a+1))), DROP(GROUPBY(scData,Data,SUM,0,0),1))

 

2번문제는 해결법이 거의 같은것 같네요...
=TRANSPOSE(TEXTSPLIT( SUBSTITUTE(TEXTJOIN(",",0,C3:C47),",,", ";"), ",", ";", TRUE,,""))

이야기 게시판의 최근 글

스크랩 완료