Microsoft Excel에서 VBA를 사용하여 여러 기준을 SUMIF 기능
이 기사에서는 VBA 코드를 사용하여 Excel에서 여러 조건으로 VBA에서 SUMIF 함수를 사용하는 방법을 배웁니다.
출력을 얻기 위해 OFFSET 및 COUNTA 함수의 조합을 사용하여 Name Manager List를 생성합니다.
예를 들어 이해합시다 :
-
2012 년부터 2014 년까지 판매원, 지역 및 제품에 대한 판매 보고서가 있습니다.
-
다음 조건을 충족하는 매출액 수치를 찾고 싶습니다 .-
-
모든 조건에 대해; Salesman에 대한 동적 이름 범위를 만들려면 이름 범위를 만들어야합니다.
CTRL + F3 단축키를 누르고 New를 클릭하고 수식을 = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A : $ A) -1)
마찬가지로 다른 조건에 대해 명명 된 범위를 만듭니다. * Ctrl + F3을 눌러 이름 관리자 창을 엽니 다 (이미 생성 된 목록 참조)
-
수식 탭의 이름 붙여 넣기 기능을 사용하면 전체 정의 된 이름 범위 목록이 셀에 표시됩니다.
-
목록 붙여 넣기를 클릭하세요
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을 선택합니다.
-
삽입을 클릭 한 다음 모듈
-
이렇게하면 새 모듈이 생성됩니다.
-
모듈 하위 VBASumifs () mysalesman = [H3] myregion = [H4] myproduct = [H5]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)
[H6] = tsales End Sub
리본 삽입> 모양> 그림 그리기를 클릭하십시오. 그림을 마우스 오른쪽 버튼으로 클릭하고 매크로 할당을 클릭하십시오
-
매크로 할당 후; Update Sales 버튼을 클릭하면 H6 셀에 출력이 표시됩니다
참고 :-판매원 이름, 지역 및 제품을 변경 한 후 판매 업데이트를 클릭해야합니다.
두 날짜 사이의 조건을 충족하는 판매를 찾으려면 다음은 기준의 스냅 샷입니다.
다음 코드를 사용합니다.
하위 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
-
ALT + F8 단축키를 눌러 매크로 창을 열고 매크로를 선택합니다.
-
또는 F5 키를 눌러 VBA 화면에서 코드를 실행할 수 있습니다.
-
매크로를 실행하면 H8 셀에 출력이 표시됩니다
이것이 VBA에서 SUMIF 다중 기준을 사용하여 두 날짜 사이의 총 매출을 계산하는 방법입니다.