이 기사에서는 VBA 코드를 사용하여 Excel에서 여러 조건으로 VBA에서 SUMIF 함수를 사용하는 방법을 배웁니다.

출력을 얻기 위해 OFFSET 및 COUNTA 함수의 조합을 사용하여 Name Manager List를 생성합니다.

예를 들어 이해합시다 :

  • 2012 년부터 2014 년까지 판매원, 지역 및 제품에 대한 판매 보고서가 있습니다.

img1

  • 다음 조건을 충족하는 매출액 수치를 찾고 싶습니다 .-

img2

  • 모든 조건에 대해; Salesman에 대한 동적 이름 범위를 만들려면 이름 범위를 만들어야합니다.

CTRL + F3 단축키를 누르고 New를 클릭하고 수식을 = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

img3

마찬가지로 다른 조건에 대해 명명 된 범위를 만듭니다. * Ctrl + F3을 눌러 이름 관리자 창을 엽니 다 (이미 생성 된 목록 참조)

img4

  • 수식 탭의 이름 붙여 넣기 기능을 사용하면 전체 정의 된 이름 범위 목록이 셀에 표시됩니다.

img5

  • 목록 붙여 넣기를 클릭하세요

img6

nDate * = OFFSET (Sheet1! $ A $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

nProduct * = OFFSET (Sheet1! $ D $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

nRegion * = OFFSET (Sheet1! $ C $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

nSales * = OFFSET (Sheet1! $ E $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

nSalesman * = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)

VB 편집기를 시작하려면 아래에 언급 된 단계를 따라야합니다. 개발자 탭을 클릭합니다. 코드 그룹에서 Visual Basic을 선택합니다.

img7

  • 삽입을 클릭 한 다음 모듈

img8

  • 이렇게하면 새 모듈이 생성됩니다.

  • 모듈 하위 VBASumifs () mysalesman = [H3] myregion = [H4] myproduct = [H5]

tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)

[H6] = tsales End Sub

img9

리본 삽입> 모양> 그림 그리기를 클릭하십시오. 그림을 마우스 오른쪽 버튼으로 클릭하고 매크로 할당을 클릭하십시오

img10

img11

  • 매크로 할당 후; Update Sales 버튼을 클릭하면 H6 셀에 출력이 표시됩니다

img12

참고 :-판매원 이름, 지역 및 제품을 변경 한 후 판매 업데이트를 클릭해야합니다.

두 날짜 사이의 조건을 충족하는 판매를 찾으려면 다음은 기준의 스냅 샷입니다.

img13

다음 코드를 사용합니다.

하위 Sumifs2Dates ()

mysalesman = [H3] myregion = [H4] myproduct = [H5]

표준 날짜 = [H6]

EndDate = [H7]

tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct, [ndate], “> =”& stdate, [ndate], “⇐”& EndDate)

[H8] = tsales End Sub

img14

  • ALT + F8 단축키를 눌러 매크로 창을 열고 매크로를 선택합니다.

  • 또는 F5 키를 눌러 VBA 화면에서 코드를 실행할 수 있습니다.

  • 매크로를 실행하면 H8 셀에 출력이 표시됩니다

img15

이것이 VBA에서 SUMIF 다중 기준을 사용하여 두 날짜 사이의 총 매출을 계산하는 방법입니다.