Excel 에서 여러 조건을 충족하는 경우 중앙값을 어떻게 계산하나요?
Excel 에서 데이터셋의 중앙값을 계산하는 작업은 데이터 분석 및 보고서 작성 시 자주 필요합니다. 단순한 범위에 대한 중앙값은 표준 Excel 함수를 사용해 빠르게 구할 수 있지만, 대규모 데이터셋에서 특정 제품의 특정 날짜에 해당하는 판매 금액 중앙값처럼 여러 가지 특정 기준을 모두 충족하는 데이터만을 대상으로 중앙값을 산출해야 하는 경우가 흔히 발생합니다. 이러한 복잡한 조건부 연산을 전통적인 함수만으로 처리하는 것은 어려울 수 있습니다. 이 튜토리얼에서는 Excel 에서 여러 조건을 적용해 중앙값을 계산하는 다양한 실용적인 해결 방법을 소개하며, 수식 기반 접근법과 고급 요구사항을 위한 VBA 자동화 방법을 모두 다룹니다。
여러 조건을 충족하는 경우 중앙값 계산
아래와 같은 데이터 범위이 있다고 가정해 보겠습니다. 여기서 수행할 작업은 두 가지 기준을 모두 충족하는 중앙값을 도출하는 것입니다. 예를 들어, A 열 값이 「a」이고 C 열 날짜가 "2-Jan"인 경우 B 열 값의 중앙값을 구하는 것입니다。 이러한 상황은 판매 보고서, 학급 시험 결과 등 여러 비즈니스 또는 학술적 데이터 분석에서 다중 범주로 필터링이 필요한 경우 특히 흔하게 나타납니다。

명확성을 위해 다음과 같이 워크시트를 준비하세요. Excel 시트에서 조건을 입력하고 아래 이미지와 유사한 레이아웃을 구성합니다. 여기서 E 열은 A 열에 대한 조건을 나열하고, F 열부터 오른쪽으로 있는 1 행은 C 열의 날짜 조건을 나타냅니다。

여러 조건을 충족하는 중앙값을 계산하려면MEDIAN및IF함수를 활용한 배열 수식을 사용하여 조건에 따라 필터링된 값 목록을 생성할 수 있습니다。 다음은 그 방법입니다:
1.중앙값 결과를 표시할 셀 F2 를 클릭하고 다음 수식을 입력하세요:
=MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))) 이 수식은 각 행마다 A 열 값이 E2 의 조건과 일치하고 C 열 값이 F1 의 머리글과 일치하는지 확인합니다. 두 조건이 모두 충족되면 B 열 값을 수집하여 중앙값을 계산합니다。
2.수식을 입력한 후 Enter 키가 아니라Ctrl + Shift + Enter를 누르세요. 이는 배열 수식이기 때문입니다. 그러면 Excel 이 자동으로 수식을 중괄호{ }로 감싸 배열 수식임을 표시합니다。
3.F2 셀의 오른쪽 하단 모서리에 있는 채우기 핸들을 드래그하여 다른 관련 셀에도 수식을 복사하고, 다양한 조건에 따른 중앙값을 구하세요(아래 참조)。

매개변수 설명 및 사용 팁:수식에서$A$2:$A$12는 첫 번째 조건(예: 제품명)이 포함된 범위이고,$C$2:$C$12는 두 번째 조건(예: 날짜)에 해당하는 범위이며,$B$2:$B$12는 중앙값을 계산할 숫자 값이 포함된 범위입니다。 워크시트에 맞게 이 범위를 조정하세요。 수식을 복사할 때 범위가 이동하지 않도록 항상 절대 참조($ 기호)를 사용하세요。
주의 사항:어떤 값도 두 조건을 모두 충족하지 않는 경우 수식은#NUM!오류를 반환합니다。 혼동을 방지하려면 수식을IFERROR함수 안에 중첩하여 공백이나 사용자 지정 메시지를 반환하도록 설정할 수 있습니다:
=IFERROR(MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))),"No match") 중앙값을 계산할 열에 빈 셀 또는 숫자가 아닌 값이 포함되지 않도록 주의하세요。 그렇지 않으면 결과에 영향을 줄 수 있습니다。
이 수식 기반 접근법은 비교적 간단한 조건(일반적으로 최대 2~3 개의 기준)을 다룰 때 적합합니다。 설정이 빠르며 프로그래밍 기술이 필요 없습니다。 그러나 동적 조건이 많거나 대규모 데이터셋을 다루는 복잡한 필터링의 경우 배열 수식을 유지하거나 수정하는 것이 번거로워질 수 있습니다。
VBA 코드 - 여러 조건으로 중앙값 계산
조건부 중앙값 계산을 자동화해야 하는 상황—예를 들어 조건이 매우 많거나 데이터셋이 크며 기준 자체가 자주 변경되는 경우—에는 VBA 솔루션이 실용적인 대안이 될 수 있습니다. VBA 를 사용하면 임의 개수의 조건에 따라 중앙값을 계산하는 재사용 가능한 매크로를 구축할 수 있습니다。 VBA 기반 솔루션은 반복적인 분석을 간소화하거나 보고서 및 대시보드를 위한 맞춤형 Excel 프로세스를 개발하고자 할 때 특히 유용합니다。
조건부 중앙값 계산을 위해 VBA 를 사용하는 단계는 다음과 같습니다:
1.개발 도구>Visual Basic을 클릭합니다。 그러면 새Microsoft Visual Basic for Applications창이 열립니다。 여기서삽입>모듈을 클릭한 후 다음 코드를 모듈에 붙여넣으세요:
Sub ConditionalMedian()
Dim DataRange As Range
Dim CriteriaRange1 As Range
Dim CriteriaRange2 As Range
Dim OutputRange As Range
Dim Criteria1 As Variant
Dim Criteria2 As Variant
Dim TempArr() As Double
Dim i As Long
Dim j As Long
Dim count As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set DataRange = Application.InputBox("Select the range containing median values (e.g., B2:B12):", xTitleId, "", Type:=8)
Set CriteriaRange1 = Application.InputBox("Select the first criteria range (e.g., A2:A12):", xTitleId, "", Type:=8)
Criteria1 = Application.InputBox("Enter the first criteria value (e.g., a):", xTitleId, "", Type:=2)
Set CriteriaRange2 = Application.InputBox("Select the second criteria range (e.g., C2:C12):", xTitleId, "", Type:=8)
Criteria2 = Application.InputBox("Enter the second criteria value (e.g.,2-Jan):", xTitleId, "", Type:=2)
Set OutputRange = Application.InputBox("Select the cell to output the result:", xTitleId, "", Type:=8)
count = 0
For i = 1 To DataRange.Rows.count
If StrComp(CStr(CriteriaRange1.Cells(i, 1).Value), CStr(Criteria1), vbTextCompare) = 0 And _
CStr(CriteriaRange2.Cells(i, 1).Value) = CStr(Criteria2) Then
ReDim Preserve TempArr(count)
TempArr(count) = DataRange.Cells(i, 1).Value
count = count + 1
End If
Next i
If count = 0 Then
OutputRange.Value = "No match"
Else
Call QuickSort(TempArr, LBound(TempArr), UBound(TempArr))
If count Mod 2 = 1 Then
OutputRange.Value = TempArr(count \ 2)
Else
OutputRange.Value = (TempArr(count \ 2) + TempArr(count \ 2 - 1)) / 2
End If
End If
End Sub
Sub QuickSort(arr() As Double, first As Long, last As Long)
Dim i As Long
Dim j As Long
Dim pivot As Double
Dim temp As Double
i = first
j = last
pivot = arr((first + last) \ 2)
Do While i <= j
Do While arr(i) < pivot
i = i + 1
Loop
Do While arr(j) > pivot
j = j - 1
Loop
If i <= j Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
i = i + 1
j = j - 1
End If
Loop
If first < j Then
QuickSort arr, first, j
End If
If i < last Then
QuickSort arr, i, last
End If
End Sub 2.
실행 버튼(또는 F5 키)을 클릭하여 코드를 실행합니다。 그러면 필요한 각 범위를 선택하고 조건을 입력하라는 메시지가 표시됩니다。 프롬프트를 완료하면 모든 조건을 충족하는 중앙값이 지정한 대상 셀에 출력됩니다。
이 매크로를 사용하면 매번 실행할 때 값 범위, 조건 범위, 조건 값 및 결과 출력 위치를 유연하게 선택할 수 있습니다。 필요에 따라 코드를 쉽게 수정하여 더 많은 조건을 추가할 수도 있습니다。
팁 및 문제 해결:VBA 솔루션을 사용할 때 모든 범위 선택의 길이가 동일한지 확인하고, 조건이 올바른 데이터 유형 및 형식(예: 텍스트 대 날짜)과 일치하는지 확인하세요。 조건을 충족하는 값이 없으면 출력 결과로 「No match.」이 표시됩니다。 안정성을 위해 매크로를 실행하기 전 워크북을 저장하고, 요청 시 항상 매크로를 활성화하세요。 이 VBA 솔루션은 매크로 보안 설정에 익숙한 사용자 및 자동화된 Excel 워크플로우에서 사용하기에 적합합니다。
요약하자면, VBA 접근법은 수식만으로는 번거롭거나 어렵게 수행되는 복잡한 중앙값 계산을 자동화합니다。 특히 조건이 가변적이거나 자주 재계산해야 하며 데이터셋이 큰 경우에 매우 적합합니다。
관련 문서:
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약