본문 바로가기

업무 프로그램/MS 엑셀

SUMPRODUCT 사용법과 자주 발생하는 오류(#VALUE, #N/A)

목차

    엑셀 함수가 다 그렇지만 SUMPRODUCT도 직관적인 이름답게 기본적으로 곱하고 더하는 역할을 하는 함수입니다.

    하지만 더하기, 빼기, 나누기도 가능합니다.

    SUMPRODUCT를 이용하지 않고 IFS, SUM 등의 함수를 섞어서 같은 계산을 할 수 있지만 SUMPRODUCT와 같은 함수를 상황에 맞게 사용할 경우 식이 더 간단해지고 추후에도 수정하기 편리합니다.

     

    SUMPRODUCT 설명 예시
    SUMPRODUCT 설명 예시

     

    위 테이블을 예시로 전체 합계를 구하는 방식과 선택적으로 합계를 구하는 방식을 알아보겠습니다.

    그리고 또한 성별이 남자이고 근무일이 화요일인 사람들의 주급의 총 합계는 얼마인지도 구해보겠습니다.

     

    =SUMPRODUCT(array1, [array2], [array3], ...)
    array1 (필수): 첫 번째 배열입니다.
    [array2], [array3],... (선택): 두 개 이상의 배열로 2~355까지 가능합니다.

     

    목차

    1. 기본적인 SUMPRODUCT 사용법
    2. SUMPRODUCT의 응용법
    3. SUMPRODUCT에서 자주 발생하는 오류와 주의사항

     

     

     


    1. 기본적인 SUMPRODUCT 사용법

     

    위 예시에서 전체 주급의 합을 구하려면 Ayaan, Connor, Dylan... 각각의 주급을 구해서 더해야 합니다.

     

    기본적인 SUMPRODUCT 사용법
    기본적인 SUMPRODUCT 사용법

     

    각 직원의 근무시간 x 시급을 하여 개별적인 주급의 합계를 구했습니다.

    그리고 6명의 주급의 합계를 전부 더하면 이번주 주급의 총계가 나올 것입니다.

     

     

    기본적인 SUMPRODUCT 사용법 - 함수 사용 안함
    기본적인 SUMPRODUCT 사용법 - 함수 사용 안함

     

    주급의 총계는 170,500원이 나왔습니다.

    즉, 이러한 표에서 주급의 총계를 구하기 위해서는 두 단계를 거쳐야 하는 것을 알 수 있습니다.

    1. 개별적인 주급을 구한다
    2. 전부 더한다

    SUMPRODUCT는 이러한 단계를 한 번에 단축시켜 줍니다.

    =SUMPRODUCT(D2:D7,E2:E7)

    이런 식 하나만 있으면 전체 주급의 총계를 구할 수 있는 것입니다.

     

     

    기본적인 SUMPRODUCT 사용법 - 함수 사용
    기본적인 SUMPRODUCT 사용법 - 함수 사용

     

    F9열에 있는 SUMPRODUCT는 D2:D7의 첫 번째인 D2와 E2:E7의 첫번째인 E2를 곱합니다.

    그다음 D3*E3, D4*E4 ... D7*E7 까지 계산을 하고 전체를 더합니다.

     

     

    기본적인 SUMPRODUCT 사용법 - 원리
    기본적인 SUMPRODUCT 사용법 - 원리

     

    이러한 과정을 거쳐 전에 계산했던 결과와 똑같은 170,500원이 나온 것을 볼 수 있습니다.

    하지만 SUMPRODUCT를 활용하면 조금 더 복잡한 계산을 할 수 있습니다.

     

     

     


    2. SUMPRODUCT의 응용법

    SUMPRODUCT의 기본 활용에서는 같은 범위를 콤마(,)로 구분하고 각 행을 곱하고 전체를 더하는 역할이었습니다.

    하지만 응용법을 이용하면 IF 없이도 IF를 사용한 효과를 나타낼 수 있습니다.

     

     

    SUMPRODUCT의 응용법
    SUMPRODUCT의 응용법

     

    위 예시에서 성별이 남이고 화요일에 근무하는 사람의 주급의 합계는 얼마인지 계산해 보겠습니다.

     

     

    SUMPRODUCT의 응용법 - 조건주기
    SUMPRODUCT의 응용법 - 조건주기

     

    =SUMPRODUCT(($B$2:$B$7=$D$14)*($C$2:$C$7=$E$14)*($D$2:$D$7*$E$2:$E$7))

    위와 같은 수식을 입력하면 남자이면서 화요일에 근무하는 사람의 주급 합계를 구할 수 있습니다.

    이렇게 보니 복잡해 보이니 식을 이해하는데 필요 없는 부분을 제외시키면 아래와 같이 볼 수 있습니다.

    SUMPRODUCT의 응용법 - 함수 인수
    SUMPRODUCT의 응용법 - 함수 인수

    표에 성별과 근무일을 다시 표시하면 아래와 같이 됩니다.

     

     

    SUMPRODUCT의 응용법 - 계산 과정
    SUMPRODUCT의 응용법 - 계산 과정

     

    6명의 성별*근무일*근무시간*시급을 더해야 하는데 성별이 여자인 경우 0, 근무일이 화요일이 아닌 경우 0이 곱해지게 되어 해당 부분은 최종적으로 0이 되므로 합계에 영향을 미치지 않습니다.

    그래서 Ayaan, Eric의 주급만 합해져서 36,000이 나오게 되는 것입니다.

     

     


    3. SUMPRODUCT에서 자주 발생하는 오류와 주의사항

     

     

    SUMPRODUCT VALUE 오류
    SUMPRODUCT VALUE 오류

     

    SUMPRODUCT에서 입력되는 배열의 크기(차원)가 다르면 #VALUE! 오류가 발생합니다.

     

     

    SUMPRODUCT N/A 오류
    SUMPRODUCT N/A 오류

     

    응용하여 사용 시 배열의 크기(차원)가 다르면 #N/A 오류가 발생합니다.

     

    또한 SUMPRODUCT 함수에서는 숫자가 아닌 항목이 있으면 0으로 간주합니다.

    그리고 성능 및 오류가 있을 수 있기 때문에 열 전체(A:A)와 같은 배열은 사용하지 않는 것이 좋습니다.