Vba:두 날짜 사이에 추가하는 방법


셀이 두 날짜 사이에 있는 경우 VBA에서 다음 구문을 사용하여 합계를 계산할 수 있습니다.

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

이 특정 예에서는 A2:A9 범위의 날짜가 셀 E1 의 시작 날짜와 셀 E2 의 종료 날짜 사이에 속하는 경우에만 B2: B9 범위의 값을 합산합니다.

그러면 합계가 E3 셀에 표시됩니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA에서 두 날짜 사이에 If를 추가하는 방법

소매점에서 다양한 날짜에 판매된 총 제품 수에 대한 정보가 포함된 다음 데이터 세트가 있다고 가정합니다.

01/07/2023 에서 01/26/2023 사이의 날짜에 대해서만 매출 합계를 계산한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
                                                       Range(" A2:A9 "), " <= " & [E2])
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

E3 에는 값 16 이 포함되어 있습니다.

날짜가 2023년 1월 7일부터 2023년 1월 26일 사이인 판매 열의 값의 합을 나타냅니다.

Date 열의 해당 값이 2023년 1월 7일부터 2023년 1월 26일 사이인 Sales 열의 값 합계를 수동으로 계산하여 이것이 올바른지 확인할 수 있습니다.

매출 합계: 3 + 7 + 6 = 16 .

이는 VBA에서 계산한 값에 해당합니다.

E1E2 셀의 시작 날짜 값과 종료 날짜 값을 각각 변경하고 매크로를 다시 실행하면 새 날짜에 대한 매출 합계가 계산됩니다.

참고 : 날짜 열의 값은 이미 Excel에서 날짜 형식으로 지정되어 있다고 가정합니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: SUMIF 및 SUMIFS 함수 작성 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법
VBA: AVERAGEIF 및 AVERAGEIFS 함수 작성 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다