2017-01-20 5 views
0

나는 2 개의 워크 북에 AIH라는 하나의 명명 된 스케줄을 가지고 있습니다. 둘 다 고유 식별자가있는 에이전트가 있습니다.VLookup then nested If의

AIH 통합 문서에는 상담원이 훈련 된 작업 그룹이 있습니다. 기본, 일반, 중급, 특수, 비 발송, HP, MB의 범위입니다. 상담원이이 교육을 받으면 X로

두 통합 문서에있는 고유 식별자를 기반으로 일정 통합 문서에서 이러한 작업 그룹간에 "최고의 교육 가치"를 끌어낼 수 있기를 바랍니다.

내 다음과 같다 경우 중첩 :

=IF([headcount.xlsx]Sheet1!$N$2="X", _ 
    [headcount.xlsx]Sheet1!$N$1,IF([headcount.xlsx]Sheet1!$M$2="X", _ 
    [headcount.xlsx]Sheet1!$M$1,IF([headcount.xlsx]Sheet1!$L$2="X", _ 
    [headcount.xlsx]Sheet1!$L$1,IF([headcount.xlsx]Sheet1!$K$2="X", _ 
    [headcount.xlsx]Sheet1!$K$1,IF([headcount.xlsx]Sheet1!$J$2="X", _ 
    [headcount.xlsx]Sheet1!$J$1,IF([headcount.xlsx]Sheet1!$I$2="X", _ 
    [headcount.xlsx]Sheet1!$I$1,IF([headcount.xlsx]Sheet1!$H$2="X", _ 
    [headcount.xlsx]Sheet1!$H$1,"Not Trained"))))))) 

그래서 내 세포를 통해이 소총은 X를 찾기 위해 뒤로 열을 통해 내가 소총으로 가장 높은 훈련 작업 그룹을 표시합니다.

문제점은 에이전트 ID (고유 식별자)를 기반으로 올바른 정보를 얻을 수 있도록 열의 고유 식별자와 일치시키기 위해 vlookup을 수행해야하고 vlookup이 나를 원할 때 확신 할 수없는 방법입니다. 특정 열의 값을 반환합니다.

Excel에서 매우 새로운 기능이므로 더 자세히 대답하면 나에게 더 좋습니다.

미리 감사드립니다.

+1

긴 수식은'= INDEX ([headcount.xlsx] Sheet1! $ H $ 1 : $ N $ 1, MATCH ("Y", [headcount.xlsx] Sheet1! H2 : N2)) ' –

+0

또한 고유 식별자가있는 열은 무엇입니까? –

답변

0

귀하의 공식은 다음과 같이 될 것이다 : A2 당신이 [headcount.xlsx]Sheet1! 시트에 조회하고 싶은 [headcount.xlsx]Sheet1!A:A는 고유 식별자가 발견되는 그 시트에 열을가 고유 식별자입니다

=INDEX([headcount.xlsx]Sheet1!$H$1:$N$1,MATCH("Y",INDEX([headcount.xlsx]Sheet1!H:H,MATCH(A2,[headcount.xlsx]Sheet1!A:A,0)):INDEX([headcount.xlsx]Sheet1!N:N,MATCH(A2,[headcount.xlsx]Sheet1!A:A,0)))) 

.

그런 다음 열을 아래로 복사 할 수 있습니다.

+0

고마워요, 제가 들어가는 순간 이걸 시도 할게요. – Benumb

+0

이것은 완벽하게 작동했습니다! 인덱스 일치를 좀 더 읽어야합니다. 여기서 일어나는 일을 막연하게 알 수 있습니다. – Benumb

+0

@Benumb 답장 옆의 체크 표시를 클릭하여 올바른 것으로 표시하십시오. –

0

아직 설명이 필요하지는 않지만 확실하지는 않습니다.

누군가가 오류를 발견하면 알려 주시면 해결하겠습니다.

MATCH(value-to-find,range-to-look-in,[match-type]) 

하나의 키가 거기 무엇이다 "외부"MATCH() 보면

, "Y"를 찾는 사람이, 정의가 ... - 즉, @ScottCraner하지 않았다 일치 유형을 지정하십시오. 따라서 기본값은 1입니다.이 경우 가장 큰 값은 "Y"보다 작거나 같습니다. 가장 큰 값을 찾는 과정에서 값이 부족할 때까지 계속 "Y"를 찾습니다.이 값은 항상 "X"가있는 가장 오른쪽 열입니다. "X"가 "Y"보다 작고 모든 값이 "X"이기 때문에 작동합니다. 그것은 또한 "Y"대신에 "X"를 찾기 위해 노력할지라도. (Scott이 "Y"를 사용하는 이유는 확실하지 않습니다.)

그래서 "외부"MATCH()의 역할을 설명합니다. 그러나 그것은 어디에서보고 있습니까?

range-to-look은 두 개의 INDEX() 함수로 구성되어 범위의 [왼쪽]과 [오른쪽]을 제공합니다. 첫 번째 INDEX()은 찾고있는 식별자 (A2)가있는 행의 H 열에있는 셀을 반환합니다. 두 번째 INDEX()은 같은 행에있는 N 열의 셀을 반환합니다.연결된 "내부"MATCH() 함수는 일치 유형에 대해 0을 가지므로 첫 번째 완전 일치를 찾습니다. N20, 그리고 외부 MATCH()는 그 범위에서 가장 오른쪽에있는 "X"를 검색하고, 외부 INDEX() : 사용자 식별자 (A2)이 행 (20)에 나타나는 경우

따라서는 범위 - 투 - 볼는 H20이됩니다 대응하는 헤더 (H와 N의 선두 행)를 돌려줍니다.

IFERROR() 또는 다른 IF 함수를 사용하여 원래 수식의 마지막 부분 ("훈련되지 않음") 에서처럼 "X"가 전혀없는 경우를 처리해야합니다.