엑셀 수식 관련해서 궁금한 점이 있어요.

data

사남매가사는곳 아기젤리 메인

쏠스마미 백일해예방접종 메인

쏠스마미 백일해 서브

쏠스마미 골다공증에좋은음식 메인

쏠스마미 골감소증 서브

푸들ol 술빨리깨는법 메인

푸들ol 숙취해소법 서브

푸들ol 숙취해소음료 서브

LET(

data, $R$2:$T$9,

infls, INDEX(data,,1),

keywords, INDEX(data,,2),

types, INDEX(data,,3),

seqData, SEQUENCE(ROWS(data)),

result, MAP(FILTER(seqData, types="메인"), LAMBDA(i, LET(

endRow, LET(nextMain, FILTER(seqData, (i<seqData)*(types="메인")),

IFERROR(INDEX(nextMain, 1)-1, INDEX(seqData, ROWS(seqData)))),

cal, endRow - i + 1,

groupedIdx, MAKEARRAY(cal,1,LAMBDA(r,c, i + r - 1)),

groupedKeys, INDEX(keywords, groupedIdx),

TEXTJOIN(", ", TRUE, groupedKeys)))),

result

)

해당 테이블에서 이 수식을 적용했을 때,

결과값이

아기젤리

백일해예방접종

골다공증에좋은음식, 골감소증

술빨리깨는법

이렇게 나옵니다.

예상 결과값은

아기젤리

백일해예방접종, 백일해,

골다공증에좋은음식, 골감소증

술빨리깨는법, 숙취해소법, 숙취해소음료

인데, 논리의 문제가 있을까요?

function의 기능 결함일까요?

1개의 답변이 있어요!

  • 안녕하세요. 조원우 정보처리기사입니다.

    그룹 범위계산이 잘못되어 해당 현상이 발생하는걸로 보입니다. TEXTJOIN 이전에 메인기준 그룹번호를 만들고 TEXTJOIN을 해보시면 해결되지 않을까 합니다.

    답변이 도움이 되었길 바랍니다.