여러 시트의 vlookup 값 합계

여러 시트의 vlookup 값 합계

1월부터 12월까지 매월 통합 문서에 12개의 Excel 시트를 포함합니다. 각 시트에는 같은 행에 해당 월에 표시된 이름과 휴가가 포함되어 있으며 테이블 끝에는 각 휴가 범주에 대한 합계 값이 포함되어 있습니다. 모든 시트에서 각 사람의 이름을 찾아서 이러한 개별 시트 값을 요약해야 합니다. Excel에서 이것을 어떻게 달성할 수 있습니까?... 모든 시트에서 vlookup 합계를 시도했지만 오류가 발생하거나 결과가 없습니다.

답변1

여기서 SUMIF를 사용하는 것이 더 간단할 수 있습니다. 특정 시트에서 해당 사람을 찾을 수 없는 경우 SUMIF에서는 오류가 발생하지 않기 때문입니다(모든 시트가 존재해야 함). "jan"부터 "dec"까지의 시트가 있는 경우 다음을 시도하십시오. 12개월 합계 공식

=SUM(SUMIF(INDIRECT({"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}&"!B8:B110"),B8,INDIRECT({"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}&"!AL8:AL110")))

명명된 범위를 사용하여 이를 단축할 수 있습니다. 예:

Sheetlist ={"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}

그러면 공식은

=SUMPRODUCT(SUMIF(INDIRECT(Sheetlist&"!B8:B110"),B8,INDIRECT(Sheetlist&"!AL8:AL110")))

답변2

월간 시트를 해당 연도의 단일 데이터베이스 시트로 통합하면 이 요약을 훨씬 쉽게 수행할 수 있습니다. 그런 다음 짧은 순서로 개인별 요약을 수행하는 피벗 테이블을 설정할 수 있습니다.

각 사람이 1년에 몇 달 동안만 휴가를 내기 때문에 귀하의 vlookups 합계에 오류가 발생하는 것 같습니다. 이를 처리하는 방법은 IFERROR 함수로 조회를 래핑하는 것입니다. 따라서 수식은 다음과 같아야 합니다.

 =sum(iferror(vlookup(<person name>,<January sheet name!data range>,<leave column number>,0),0),
      iferror(vlookup(<person name>,<February sheet name!data range>,<leave column number>,0),0),
      etc.
      )

개별 열에서 매월 조회를 설정한 다음 열 전체에 걸쳐 결과를 합산하면 이 작업이 약간 덜 어색해질 수 있습니다.

제가 잘 알지는 못하지만 귀하의 요구 사항을 충족할 수 있는 또 다른 대안은 Data Consolidate 명령입니다. 명령에 대한 설명을 찾을 수 있습니다.여기.

피벗 테이블 접근 방식을 적극 권장합니다.

관련 정보