질문과 답변
윈 도 우 엑셀 함수 고수님께 문의드려요.
2024.09.29 13:17
숫자 데이터에서 쌍둥수, 세쌍둥수, 네쌍둥수를 찾는 함수를
찾고 있는데요.
기존에 사용하던 함수가 있지만, 핸폰앱으로 사용시
엄청난 로딩타임이 걸리더군요.
숫자 데이터는 1500행에 각각 6개의 숫자(6열)이며,
이미 사용하는 함수가 있으나 1500행이 넘는 데이터다 보니
함수적용시 엄청나게 시간이 오래 걸립니다.
현재 사용중인 함수중 Triplets 함수는 아래와 같습니다.
=TRANSPOSE(LET(outarr,LET(arr,WRAPROWS(TEXTSPLIT(TEXTJOIN("-",,TOROW((D3:H3)&"-"&TRANSPOSE(J3#))),"-")*1,3),FILTER(arr,CHOOSECOLS(arr,1)<CHOOSECOLS(arr,2))),CHOOSECOLS(outarr,1)&"-"&CHOOSECOLS(outarr,2)&"-"&CHOOSECOLS(outarr,3)))
이 함수 말고도 다른 함수가 있었는데,
삭제하는 바람에 찾을 수가 없네요.
로딩이 오래 걸리지 않는 함수를 찾습니다.
엑셀 고수님이 계실것 같아 도움 요청합니다.
찾고 있는데요.
기존에 사용하던 함수가 있지만, 핸폰앱으로 사용시
엄청난 로딩타임이 걸리더군요.
숫자 데이터는 1500행에 각각 6개의 숫자(6열)이며,
이미 사용하는 함수가 있으나 1500행이 넘는 데이터다 보니
함수적용시 엄청나게 시간이 오래 걸립니다.
현재 사용중인 함수중 Triplets 함수는 아래와 같습니다.
=TRANSPOSE(LET(outarr,LET(arr,WRAPROWS(TEXTSPLIT(TEXTJOIN("-",,TOROW((D3:H3)&"-"&TRANSPOSE(J3#))),"-")*1,3),FILTER(arr,CHOOSECOLS(arr,1)<CHOOSECOLS(arr,2))),CHOOSECOLS(outarr,1)&"-"&CHOOSECOLS(outarr,2)&"-"&CHOOSECOLS(outarr,3)))
이 함수 말고도 다른 함수가 있었는데,
삭제하는 바람에 찾을 수가 없네요.
로딩이 오래 걸리지 않는 함수를 찾습니다.
엑셀 고수님이 계실것 같아 도움 요청합니다.
댓글 [5]
-
무월 2024.09.29 15:36
-
Caneki 2024.09.29 17:06
감사합니다.
테스트해 보겠습니다.
-
Caneki 2024.09.29 17:35
테스트 결과, Pairs의 경우 모든 경우의 수가 한열에 전부 나열됩니다.
그리고 또한 예로 올려드린 함수 내용중 J3# 은 이전 Pairs 결과값이 나온 행을 지정한 내용입니다.
즉 Triplets의 함수를 적용하기 위해서는 Pairs의 결과값의 셀을
지정해줘야 합니다.
마찬가지로 Quadruplets도 Triplets의 결과값이 생성된 셀을 지정해 줘야 하고요.
Quintuplets 역시 Quadruplets의 결과값이 나온 셀을 지정해 줘야 결과값이 생성됩니다.
알려주신 함수는 쌍둥수는 값이 나오기는 하지만 각각 셀이 분리되어야 합니다. 한 셀에 모든 경우의 수가 나오지 않게요. -
지후빠 2024.09.29 19:59
테스트 파일을 올려주시면 살펴볼 수 있을텐데요.ㅜㅜ
엑셀 함수가 문자 하나에도 민감하게 반응할텐데, 좀 막연합니다.
-
Caneki 2024.09.29 20:49
저도 copilot를 사용해서 기존 함수를 넣은 후 간소화라고 했더니 약간 줄어든 함수가 나와서 해당 파일에 적용했더니 원래는 각 행마다 이 함수가 적용되어야 하는데, copilot은 3행을 적용하는 오류를 범하더군요. 물론 완벽하기를 바라진 않았지만,
로딩이 줄어들게 하기가 어려운가 봅니다.예제파일 올렸습니다.
직접 해보진 않았지만 참고해 보세요.
https://copilot.microsoft.com/
쌍둥수 (Pairs) 찾기
=TEXTJOIN(", ", TRUE, IF(D3:H3 < TRANSPOSE(D3:H3), D3:H3 & "-" & TRANSPOSE(D3:H3), ""))
세쌍둥수 (Triplets) 찾기
=TEXTJOIN(", ", TRUE, IF(D3:H3 < TRANSPOSE(D3:H3), IF(TRANSPOSE(D3:H3) < TRANSPOSE(D3:H3), D3:H3 & "-" & TRANSPOSE(D3:H3) & "-" & TRANSPOSE(D3:H3), ""), ""))
네쌍둥수 (Quadruplets) 찾기
=TEXTJOIN(", ", TRUE, IF(D3:H3 < TRANSPOSE(D3:H3), IF(TRANSPOSE(D3:H3) < TRANSPOSE(D3:H3), IF(TRANSPOSE(D3:H3) < TRANSPOSE(D3:H3), D3:H3 & "-" & TRANSPOSE(D3:H3) & "-" & TRANSPOSE(D3:H3) & "-" & TRANSPOSE(D3:H3), ""), ""), ""))