2014-02-27 4 views
1

현재 PC 및 모니터로 구성된 자산 인벤토리 스프레드 시트를 분석하려고합니다. 현재 내가 가지고있는 문제는 PC를 두 대의 모니터에 연결하는 것입니다.Excel - 여러 기준을 사용하는 VLOOKUP

예를 들어 스프레드 시트는 다음과 같습니다

Sheet1의 - PC의

Monitor 1     Monitor 2 

Employee Name PC Tag Number  Serial ID  MonTag1 Tag Serial ID  MonTag2 Tag Serial ID 
John Smith   ABC123456  123456789  ABC123423  5465614   

시트 2 목록 - 모든 자산 :

Parent Asset (Tag) Tag Number Serial ID   Description  
ABC123456   ABC123423  5465614   24" Monitor 
ABC123456   XYZ123424  5456415   24" Monitor 

경우 부모 자산 (태그) = 컴퓨터 바 -code

나는 sheet2에 대해 PC 태그 번호 셀의 VLOOKUP을 수행했습니다. 해당 PC에 부착 된 모니터의 태그 번호를 찾으십시오. 그런 다음 일련 번호를 찾기 위해 sheet2에 대해 VLOOKUP의 태그 번호를 사용했습니다.

이제 모니터 2 정보에 VLOOKUP을 추가해야합니다. 첫 번째 VLOOKUP과 유사한 상위 자산을 찾아야하지만 대신 2 번째 모니터의 값을 제공해야합니다 (XYZ123424). EG는

Monitor 1     Monitor 2 

Employee Name PC Tag Number  Serial ID  MonTag1 Tag Serial ID  MonTag2 Tag Serial ID 
John Smith   ABC123456  123456789  ABC123423  5465614  XYZ123424 5456415 

답변

1

OK, 내 솔루션을 입력하는 방법을 생각하지 못했습니다

, 그래서 여기에 예제 파일입니다 : 내가 말을해야 https://app.box.com/s/4j79fu7vd93u0dc1rltg

, 나는 INDEX를 사용하여 선호하는 경향이 VLOOKUP에 일치하므로이 솔루션에 사용 된 콤보 (더하기 오프셋)입니다.

희망이 있으니 ... 존 스미스의 동료의 이름을 용서해주십시오. 더 많은 직원과 장비 목록을 섞어서 사용할 수 있는지 확인하기 위해 빠른 시간을 잡았습니다. : D

+0

Perfect !! 내가 필요한 것. 정말 고마워요! – user2531831

+0

이 더 이상 작동하지 않는 것 같습니다. – Apolo

+0

Odd. 방금 해봤는데 효과가있었습니다. 아마도 다시 시도하고 링크를 사용하여 다시 활성화되었는지 확인하십시오. 그렇지 않으면 다른 호스트를 찾을 것입니다. – TesseractE

1

허용 된 답변의 링크가 만료되었습니다. 아마도이 게시물을 업데이트 할 때가되었습니다.

여러 반환 또는 여러 기준을 처리하는 것이 더 중요할지 모르겠지만 일치하는 행 번호를 제공하는 AGGREGATE¹ function이 더 최신 인 INDEX formula을 구축하면 쉽게 처리 할 수 ​​있습니다.

AGGREGATE 함수는 SUMPRODUCT function처럼 순환 계산을 많이 생성하지만 전체 열 참조가 적용될 때 계산 지연이 발생합니다. 이러한 이유 때문에 모든 조회 범위는 하나의 열을 선택하고 데이터의 시작과 끝을 결정하여 동적으로 작성됩니다. 이 열의 끝 행은 다른 모든 열을 자신의 열의 끝점으로 사용합니다.

Sheet2의 기본 조회 열 (아래 sample data image 참조)은 A 열입니다. 예 : [부모 자산 태그]. 이 열의 값은 텍스트 기반이므로 다음이 데이터의 범위를 결정합니다.

Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH("zzz", Sheet2!$A:$A)) 

에서 [부모 자산 태그] 열이 숫자 있었다면,이 공식이 될 것이다는

Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH(1E+99, Sheet2!$A:$A)) 

시트 2 - 모든 자산 :

vlookup_multiple_criteria_data

시트 1 - PC 목록

,515,

vlookup_multiple_criteria_formulas

집계 기능 사용 INDEX 적절한 행 번호를 반환 SMALL sub-function는 (예를 들어). 두 번째, 세 번째 등의 일치하는 행을 반환하려면 SMALL의 k 매개 변수를 높이기 만하면됩니다.

일치하지 않는 행 번호를 #DIV/0! 오류 상태로 강제로 입력하고 옵션을 사용하여 오류를 무시하면 일치하는 행 번호가 검색됩니다.

Sheet1의 - 공식

A2의 공식은,

=IFERROR(INDEX(Sheet2!$D:$D, AGGREGATE(15, 6, ROW(Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH("zzz", Sheet2!$A:$A)))/(Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH("zzz", Sheet2!$A:$A))=$B6), COLUMN(A:A))), "") 

채우기 권리는 두 번째 모니터의 목록을 반환합니다. 이는 COLUMN function을 사용하여 수행됩니다. COLUMN(A:A)은 을 반환하지만 을 반환하는 오른쪽 채우기는 COLUMN(B:B)이됩니다. 이것은 SMALL의 k 매개 변수를 공급합니다.

D6의 수식은, 상기 제 [MonTag1 태그] 검색

=IFERROR(INDEX(Sheet2!B:B, AGGREGATE(15, 6, ROW(Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH("zzz", Sheet2!$A:$A)))/(Sheet2!$A$1:INDEX(Sheet2!$A:$A, MATCH("zzz", Sheet2!$A:$A))=$B6), 1)), "") 

. 첫 번째 [Serial ID]를 가져 오기 위해 E6에 오른쪽으로 채 웁니다. 2

=INDEX(Sheet2!B:B, AGGREGATE(15, 6, ROW(Sheet2!A$1:INDEX(Sheet2!A:A, MATCH("zzz", Sheet2!A:A)))/(Sheet2!A$1:INDEX(Sheet2!A:A, MATCH("zzz", Sheet2!A:A))=$B6), 2)) 

변경의 K 파라미터로서 F6로 공식 바를 (셀을 복사하지 않는다)를 사용 D6에서 수식을 복사한다. 그러면 두 번째 모니터의 [MonTag1 Tag]가 검색됩니다. 두 번째 [Serial ID]를 가져 오기 위해 G6에 오른쪽으로 채 웁니다.

아무 것도 없습니다. #DIV/0! 오류를 생성하는 분모에 TRUE/FALSE 문을 곱한 여러 조건 열을 추가 할 수 있습니다.


AGGREGATE function는 그것은 이전 버전에서 사용할 수 없습니다 엑셀 2010 년에 도입 된 ¹.
² IFERROR function은 Excel 2007에 도입되었습니다. 이전 버전에서는 사용할 수 없습니다.
 
Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint으로 이전 Excel 버전과의 호환성을 유지할 수 있습니다.