Excel에서 2개의 데이터 세트를 비교하고 여러 열이 일치하면 값을 반환합니다.

Excel에서 2개의 데이터 세트를 비교하고 여러 열이 일치하면 값을 반환합니다.

이름과 3가지 속성(직무, 직급, 위치)이 포함된 직원용 데이터 세트가 있습니다. 그런 다음 요청 번호와 3가지 속성(직업 기능, 직급 및 직업 위치)이 포함된 공석 위치에 대한 데이터 세트를 갖게 됩니다. 모든 직원에 대해 이와 관련된 세 가지 속성을 공석의 동일한 세 가지 속성과 비교하고 일치하는 각 직원에 대해 해당 요청 번호가 표시되도록 하려고 합니다.

답변1

=IF(SUMPRODUCT((B2=F2)*(C2=G2)*(D2=H2))=1,A2)

여기에 이미지 설명을 입력하세요

답변2

예제 스프레드시트는 다음과 같이 제공됩니다.http://www.bumpclub.ee/~jyri_r/Excel/Employees_and_vacancies_matched.xls

테스트 레이아웃:
A:E열 - 사원명(A), 직무(B), 직급(C), 위치(D)
E열: - B:E
열 연결 I:L - 요청번호(I), 직무 기능(J), 직급(K), 위치(L)
M열: - J:L열이 연결됨

F 열에는 배열 수식이 포함되어 있습니다(수식 창에서 Shift-Ctrl-Enter를 눌러 삽입하고 중괄호는 사용자가 아닌 Excel에서 삽입함).

={SMALL((IF($M$2:$M$100=$E2,OFFSET($M$2:$M$100,0,-4),"*")),1)}

수식은 공석( IF($M$2:$M$100=$E2)에서 직원 데이터와 일치하는 항목을 검색하고, 긍정적인 경우 해당 요청 번호( OFFSET($M$2:$M$100,0,-4)를 반환하고, 그렇지 않으면 를 반환합니다 "*". 결과는 배열에 저장되며 이를 직접 표시할 수 있는 방법은 없습니다. 따라서 현재 열에는 가장 작은 요청 번호가 표시됩니다( SMALL(array;1)).

두 번째 일치 항목이 다음 열에 표시됩니다. 수식을 복사한 후 를 ),1)}로 바꿔야 합니다 ),2)}.

이러한 솔루션이 효과가 있다면 수식을 작성하여 일치하는 결과를 모두 표시하기에는 열 수가 너무 적은 경우 사용자에게 경고할 수 있습니다.

답변3

나는 당신이 세 가지 속성을 연결하는 것이 올바른 방향에 있다고 생각합니다. 그런 다음 아래와 같이 피벗할 수 있습니다.

SU503767 예시

가독성을 돕기 위해 적어도 처음에는 'Job'과 'Vacancy'를 추가했습니다. 세트 AAA의 경우 한 명이 고용되어 있고(#401) 요청이 없습니다(공석은 비어 있음). 세트 ABC에는 요청(req# 3a)이 있고 한 사람이 이미 해당 기술 세트(#123)에 고용되어 있습니다.

관련 정보