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

기준 데이터 집합과 가장 많이 일치하는 데이터 집합을 갖는 데이터를 반환하고싶습니다.

미르
3월 17일 조회 861
안녕하세요? 고등학교에서 학생 선택과목에 맞는 학과를 추천하는 시트를 제작하고 있습니다.

적합한 함수가 어떤 것인지 문의드립니다.

예를 들어

학생A의 선택과목이 [생명과학1, 지구과학1, 화학1, 생활과 과학, 생활과 윤리]이고

B학과 관련 선택과목은 [생명과학1, 지구과학1, 물리학1, 생활과 과학, 생활과 윤리]

C학과 관련 선택과목은 [생명과학1, 생활과 윤리, 사회문화, 생활과 과학, 세계지리]이라고 할 때

학생A의 선택과목과 가장 많이 겹치는 학과는 B학과이므로

추천 학과로 B학과를 반환하는 함수를 만들려고 하는데, 적합한 함수가 무엇일지 문의드립니다.

시트를 제작하기 전이어서 엑셀 파일을 첨부하지 못하는 점 양해부탁드립니다ㅠㅜ

댓글 7

마법의손 3월 17일
 

=COUNT(MATCH(A학생선택과목, B학과선택과목,0))

C학과도해서 최대값을  선택하면 됩니다
원조백수 3월 18일
이 건 우선 파일 샘플을 만들어 올려 보시는 게 좋겠습니다.
미르 작성자 3월 18일
@원조백수 님 샘플파일 제작해서 올려봅니다! 마법의손님께서 댓글 달아주신대로 count, match 함수에 배열수식을 적용하여 일치하는 과목의 수를 반환한 뒤 max 함수를 사용해서 최대값을 찾고, 최대값에 해당하는 과목을 index, match로 다시 찾아내었는데요. 문제는 index, match를 쓰면 최대값이 일치하는 데이터 중 최상단에 있는 값만 반환되어, 최대값이 일치하는 데이터 모두 반환하는 방법을 찾고 있습니다.

더 좋은 방법이 있으면 조언 부탁드립니다.

감사합니다!
마법의손 채택된 답변 3월 18일
@미르 님  

F4=REPLACE(CONCAT(IF($AB$7=AA9:AA26, ","&C9:C26,"")),1,1,"")
미르 작성자 3월 18일
@마법의손 님 감사합니다! 엑셀 2016버전에서는 concat 함수를 사용할 수 없는데, 2016버전에서도 제안해주신 수식과 같은 결과값을 반환할 수 있는 방법은 없을까요?
원조백수 3월 19일
@미르 님 CONCAT함수가 없으므로 아래 수식을 오른쪽으로 복사
F4 =IFERROR( INDEX($C$1:$C$39,1/LARGE(INDEX(($AA$9:$AA$39=$AB$7)/ROW($AA$9:$AA$39),),COLUMN(A1))), "")
아래로 복사하려면, Column(A1) -> Row(A1)으로 변경하세요.
미르 작성자 3월 19일
@원조백수 님 정말 귀한 가르침 감사합니다! 제안해주신 수식 연구해보겠습니다!

질문답변 게시판의 최근 글

스크랩 완료