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

[퀴즈_24] 섞인 단어 찾기

마법의손
6월 20일 조회 669
문제1: 철자를 섞어놨습니다. 원래의 영단어를 왼쪽의 영단어목록에서 찾아주세요

문제2: 영단어 3개가 섞인 문자열에서 3단어를 찾기입니다.

풀이도구 : m365, 파이썬, vba, 스크립트.... 그외 기타등등 할수 있는 모든 방법으로..

 



 

(영단어 아래의 adventure에 뒷부분에 공백있었으니 체크해보세요..지금은 수정했습니다.)

 

문제2 풀만하네요.. 좋은 문제임..^^

댓글 14

원조백수 6월 20일
LET함수에서 아래의 Lambda 함수를 이용해서 풀었습니다.
LAMBDA(d, CONCAT(SORT(MID(d,SEQUENCE(LEN(d)),1))))

두번째 문제를 대강 3차원 배열로 만들어 풀려다가 Excel이 계산을 하다 죽어 버려서...
목록을 축약해서 처리했습니다.   위 람다 함수를 동일하게 사용했습니다.
마법의손 작성자 6월 20일
@원조백수 님 b^^ 역시 잘 풀었네요
더블유에이 6월 20일


=LET(o,E25,a,B3:B52,b,DROP(a,1),c,DROP(a,2),l,TOCOL(TOCOL(a&","&TRANSPOSE(b))&","&TRANSPOSE(c)),d,SUBSTITUTE(l,",",""),f,LAMBDA(tt,CONCAT(SORT(MID(tt,SEQUENCE(LEN(tt)),1)))),v,MAP(d,LAMBDA(t,f(t))),XLOOKUP(f(o),v,l))

콤비조합으로 해결해보았습니다 ㅎㅎ

 
마법의손 작성자 6월 21일
@더블유에이 님 크헐~~엄청 짧네요 b^^)..... 근데 넘 느리네요..^^

데이터전체로 조합하지말고 가능한 글자들로 조합하면 훨훨 빨라질겁니다..
츠츠°º⁰ 6월 21일
1번을 byrow로 해서ㅡ  2번도 byrow로 파다가....  안되네요..
더블유에이님  map 보고  정리해보았습니다. 🤣   이제 map만 써야쥐~~ㅎ

마법의손님 항상 감사합니다.~

마법의손 작성자 6월 21일
etoycomtieattarreacirltmovgcnyerovinunttnihnoss

 
원조백수 6월 21일
@마법의손 님 반복되는 구간을 재귀사용이 가능할 것 같은데
시간이 없어서 최적화를 못했어요...
=LET(T,E26,fN,LAMBDA(d,MAP(UNIQUE(SORT(MID(d,SEQUENCE(LEN(d)),1))),LAMBDA(r,CONCAT(REGEXEXTRACT(d,r,1,1))))),
La,$B$3:$B$52,Ta,CONCAT(fN(T)),PTa,MAP(La,LAMBDA(r,CONCAT(fN(r)&".*"))),
FLa, FILTER(La,REGEXTEST(Ta,PTa)),
Lb, UNIQUE(TOCOL(MAKEARRAY(ROWS(FLa),ROWS(FLa),LAMBDA(r,c,TEXTJOIN(",",,SORT(VSTACK(INDEX(FLa,r),INDEX(FLa,c)))))))),
Tb, CONCAT(fN(Ta&",")), PTb, MAP(Lb, LAMBDA(r, CONCAT(fN(r)&".*"))),
FLb, FILTER(Lb,REGEXTEST(Tb,PTb)), FSb, UNIQUE(MAP(FLb, LAMBDA(r, TEXTJOIN(",",,SORT(TEXTSPLIT(r,,",")))))),
Lc, UNIQUE(TOCOL(MAKEARRAY(ROWS(FSb),ROWS(FLa),LAMBDA(r,c,TEXTJOIN(",",,SORT(VSTACK(INDEX(FSb,r),INDEX(FLa,c)))))))),
Tc, CONCAT(fN(Tb&",")), PTc, MAP(Lc, LAMBDA(r, CONCAT(fN(r)&".*"))),
FLc, FILTER(Lc,REGEXTEST(Tc,PTc)), FSc, UNIQUE(MAP(FLc, LAMBDA(r, TEXTJOIN(",",,SORT(TEXTSPLIT(r,,",")))))),
Ld, UNIQUE(TOCOL(MAKEARRAY(ROWS(FSc),ROWS(FLa),LAMBDA(r,c,TEXTJOIN(",",,SORT(VSTACK(INDEX(FSc,r),INDEX(FLa,c)))))))),
Td, CONCAT(fN(Tc&",")), PTd, MAP(Ld, LAMBDA(r, CONCAT(fN(r)&".*"))),
FLd, FILTER(Ld,REGEXTEST(Td,PTd)), FSd, UNIQUE(MAP(FLd, LAMBDA(r, TEXTJOIN(",",,SORT(TEXTSPLIT(r,,",")))))),
Le, UNIQUE(TOCOL(MAKEARRAY(ROWS(FSd),ROWS(FLa),LAMBDA(r,c,TEXTJOIN(",",,SORT(VSTACK(INDEX(FSd,r),INDEX(FLa,c)))))))),
Te, CONCAT(fN(Td&",")), PTe, MAP(Le, LAMBDA(r, CONCAT(fN(r)&".*"))),
FLe, FILTER(Le,REGEXTEST(Te,PTe)), FSe, UNIQUE(MAP(FLe, LAMBDA(r, TEXTJOIN(",",,SORT(TEXTSPLIT(r,,",")))))),
FSe)

 
마법의손 작성자 6월 21일
@원조백수 님  

와~~ 빠르게 찾네요 b^^). 반복 줄이는건 나중에 시간날 때 하면 되죠.

이번에도 다른 변수가 없다면 원조백수님 수식 채택이네요^^
수미수 6월 21일
.
원조백수 6월 22일
@수미수 님 god와 good를 구별하지 못하는 문제점이 있습니다.
같은 이유로 i가 1개인 consultant,explosion,technology와 i가 2개인 explosion,population,technology를 구별하지 못한 것입니다.
수미수 채택된 답변 6월 22일
@원조백수 님 .
마법의손 작성자 6월 22일
@수미수 님  

COMBIN.ITEMS는 UDF인가요
마법의손 작성자 6월 22일
@수미수 님  

이번에도 역시나 많은 깨우침을 주시네요. 감사합니다.
마법의손 작성자 6월 23일
=LET(섞인문자열,E25, 조합단어수,3, tlen, LEN(섞인문자열),
  sf, LAMBDA(wd, CONCAT(SORT(MID(wd, SEQUENCE(LEN(wd)), 1)))), sfword, sf(섞인문자열),
  wsf, LAMBDA(wd, TEXTJOIN("*", 1, SORT(MID(wd, SEQUENCE(LEN(wd)), 1)))),
  가능한단어, FILTER($B$3:$B$52, MAP($B$3:$B$52, LAMBDA(m, ISNUMBER(SEARCH(wsf(m), sfword))))),

  단어조합필터, LAMBDA(단어목록,
  LET(  조합, TOCOL( IF(단어목록<TOROW(가능한단어), 단어목록 & "*" & TOROW(가능한단어),NA()),3),
         FILTER(조합, MAP(조합, LAMBDA(m, ISNUMBER(SEARCH(wsf(m), sfword)))))   )  ),

  조합단계수, 조합단어수-1,
  모든조합, REDUCE(가능한단어, SEQUENCE(조합단계수), LAMBDA(a,_, 단어조합필터(a))),
  길이패스조합, FILTER(모든조합, LEN(모든조합) =(조합단계수+tlen) ),
  UNIQUE(DROP(REDUCE("", 길이패스조합, LAMBDA(acc,b, VSTACK(acc, SORT(TEXTSPLIT(b, "*"), , , TRUE)))), 1))
)

 

이야기 게시판의 최근 글

스크랩 완료