5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무 위키응용 공식엑셀 여러 조건을 만족하는 최대값 공식

엑셀 여러 조건을 만족하는 최대값 공식

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

여러 조건에 맞는 값 중 가장 큰 값을 구하는 공식입니다.

엑셀 여러 조건을 만족하는 최대값 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01MAXIFS 함수 공식 (Excel 2019 이후)

=MAXIFS ( 최대값범위, 조건범위1, 조건1, 조건범위2, 조건2 )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
최대값범위필수조건을 만족하는 행에서 최대값을 구할 숫자가 입력된 범위입니다.
조건범위1필수첫 번째 조건을 비교할 값이 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
조건1필수조건범위1에서 찾을 조건입니다. 와일드카드나 비교 연산자를 사용할 수 있습니다. 예) "A*", ">="&100
조건범위2필수두 번째 조건을 비교할 값이 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
조건2필수조건범위2에서 찾을 조건입니다.
G4=MAXIFS(D2:D8,A2:A8,G2,B2:B8,G3)
A
B
C
D
E
F
G
H
1
부서
품목
주문일
금액
조건
2
영업팀
A형
2026-07-01
180
대상부서
영업팀
3
영업팀
B형
2026-07-02
260
대상품목
A형
4
기획팀
A형
2026-07-03
310
최대금액
340
5
영업팀
A형
2026-07-04
240
6
영업팀
A형
2026-07-05
290
7
기획팀
B형
2026-07-06
330
8
영업팀
A형
2026-07-07
340
9
A2:A8에서 영업팀이고 B2:B8에서 A형인 주문액은 180, 240, 290, 340이며, 그중 가장 큰 340을 G4 셀에 반환합니다.

02FILTER 함수 공식 (Excel 2021 이후·M365)

=MAX ( FILTER ( 최대값범위, ( 조건범위=조건 ) * ( WEEKDAY ( 날짜범위, 2 )<=요일번호 ), 0 ) )
인수 설명 자세히 보기
인수구분설명
최대값범위필수조건을 만족하는 행에서 최대값을 구할 숫자가 입력된 범위입니다.
조건범위필수일반 조건을 비교할 값이 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
조건필수조건범위에서 찾을 조건입니다.
날짜범위필수WEEKDAY 함수로 요일 번호를 계산할 날짜가 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
요일번호필수WEEKDAY 함수의 반환형식 2에서 허용할 요일 번호의 상한입니다. 월요일은 1, 금요일은 5입니다.
G4=MAX(FILTER(D2:D8,(A2:A8=G2)*(WEEKDAY(C2:C8,2)<=G3),0))
A
B
C
D
E
F
G
H
1
부서
품목
주문일
금액
조건
2
영업팀
A형
2026-07-01
180
대상부서
영업팀
3
영업팀
B형
2026-07-02
260
요일번호 상한
5
4
기획팀
A형
2026-07-03
310
최대금액
340
5
영업팀
A형
2026-07-04
240
6
영업팀
A형
2026-07-05
290
7
기획팀
B형
2026-07-06
330
8
영업팀
A형
2026-07-07
340
9
영업팀 주문 중 WEEKDAY 함수의 요일 번호가 5 이하인 평일 주문액은 180, 260, 340이며, 그중 가장 큰 340을 G4 셀에 반환합니다.

03구버전 MAX 함수·IF 함수 배열 수식

{=MAX ( IF ( ( 조건범위1=조건1 ) * ( 조건범위2=조건2 ), 최대값범위 ) )}
인수 설명 자세히 보기
인수구분설명
조건범위1필수첫 번째 조건을 비교할 값이 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
조건1필수조건범위1에서 찾을 조건입니다.
조건범위2필수두 번째 조건을 비교할 값이 입력된 범위입니다. 최대값범위와 같은 행 수로 지정합니다.
조건2필수조건범위2에서 찾을 조건입니다.
최대값범위필수조건을 만족하는 행에서 최대값을 구할 숫자가 입력된 범위입니다.
G4{=MAX(IF((A2:A8=G2)*(B2:B8=G3),D2:D8))}
A
B
C
D
E
F
G
H
1
부서
품목
주문일
금액
조건
2
영업팀
A형
2026-07-01
180
대상부서
영업팀
3
영업팀
B형
2026-07-02
260
대상품목
A형
4
기획팀
A형
2026-07-03
310
최대금액
340
5
영업팀
A형
2026-07-04
240
6
영업팀
A형
2026-07-05
290
7
기획팀
B형
2026-07-06
330
8
영업팀
A형
2026-07-07
340
9
두 조건을 모두 만족하는 주문액 배열에서 가장 큰 340을 G4 셀에 반환합니다. 동적 배열을 지원하지 않는 Excel에서는 Ctrl+Shift+Enter로 입력합니다. IF 함수 안에는 LEN 함수 같은 계산 조건도 넣을 수 있지만, 글자 수가 두 개인 텍스트 조건은 MAXIFS 함수의 "??" 조건으로도 처리할 수 있습니다.
이 공식이 사용하는 함수

동작 원리

02FILTER 함수 공식 (Excel 2021 이후·M365)

WEEKDAY 함수는 날짜를 요일 번호로 바꾸고 FILTER 함수는 조건에 맞는 주문액만 남기며, MAX 함수는 그중 최대값을 계산합니다.

FILTER 함수 공식 (Excel 2021 이후·M365)의 예제 시트에서 G4 셀이 340을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

WEEKDAY 함수가 요일 번호를 계산합니다

WEEKDAY 함수의 반환형식 2는 월요일부터 일요일까지를 1부터 7로 반환합니다. 2026년 7월 1일부터 7일까지의 요일 번호는 3부터 7, 1, 2입니다.

=WEEKDAY ( C2:C8, 2 )
= {3;4;5;6;7;1;2} C2:C8의 각 날짜에 대응하는 요일 번호입니다.
2

FILTER 함수가 두 조건에 맞는 주문액을 남깁니다

부서가 영업팀이면서 요일 번호가 5 이하인 행은 2·3·8행입니다. FILTER 함수는 이 행의 주문액 180, 260, 340만 세로 배열로 반환합니다.

=FILTER ( D2:D8, ( A2:A8=G2 ) * ( WEEKDAY ( C2:C8, 2 )<=G3 ), 0 )
= {180;260;340} 영업팀의 평일 주문액입니다.
3

MAX 함수가 배열의 최대값을 계산합니다

MAX 함수는 FILTER 함수가 반환한 세 주문액 중 가장 큰 값인 340을 반환합니다.

=MAX ( FILTER ( D2:D8, ( A2:A8=G2 ) * ( WEEKDAY ( C2:C8, 2 )<=G3 ), 0 ) )
= 340 조건을 만족하는 주문액의 최대값입니다.

03구버전 MAX 함수·IF 함수 배열 수식

IF 함수는 두 조건을 모두 만족하는 행의 주문액만 배열에 남기고 MAX 함수는 그중 최대값을 계산합니다.

구버전 MAX 함수·IF 함수 배열 수식의 예제 시트에서 G4 셀이 340을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

IF 함수가 조건을 만족하는 주문액을 남깁니다

부서가 영업팀이고 품목이 A형인 행은 2·5·6·8행입니다. IF 함수는 이 행의 주문액을 남기고 나머지 행은 FALSE로 반환합니다.

=IF ( ( A2:A8=G2 ) * ( B2:B8=G3 ), D2:D8 )
= {180;FALSE;FALSE;240;290;FALSE;340} 두 조건을 모두 만족하는 행의 주문액만 남은 배열입니다.
2

MAX 함수가 배열의 최대값을 계산합니다

MAX 함수는 논리값 FALSE를 제외하고 숫자 180, 240, 290, 340 중 가장 큰 340을 반환합니다.

{=MAX ( IF ( ( A2:A8=G2 ) * ( B2:B8=G3 ), D2:D8 ) )}
= 340 두 조건을 만족하는 주문액의 최대값입니다.

댓글 6

댓글 6
5 (5개 평가)
으라차차
으라차차 2020.07.31 13:39
감사합니다
언제쯤이면
언제쯤이면 2021.10.08 16:36
감사합니다. 덕분에 답답한게 풀렸습니다^^
미실
미실 2024.02.01 00:40
안녕하세요. 매번 실무에서 적용하면서 많은 도움을 받고있습니다.
MAXIF (2016버전) 에서는 와일드카드 사용못하나요?
한셀에 여러단어가 (ex. A1,B1,C1) 있을경우 B1이 포함되었는 항목에서 최대값을 구하려고 하는데 잘안되고 있습니다.
오빠두엑셀
오빠두엑셀 작성자 2024.02.10 04:43
안녕하세요. 오빠두엑셀입니다.
MAXIFS 함수는 와일드카드를 제공합니다.
=MAXIFS(최대값범위,조건범위,"*조건*")
으로 수식을 작성해보세요. 만약 결과가 나오지 않는다면, MAXIFS 함수는 AND 조건으로 동작하기 때문에, 동일한 열에 다른 조건이 중복으로 적용되어 그럴 수 있으니 작성하신 수식을 다시 확인해보세요.
감사합니다.
소나기
소나기 2024.07.17 11:17
0으로 나오는 이유는 뭘가요....?
강민준🤗
강민준🤗 2024.08.11 17:04
좋은 강의 감사합니다🙇‍♂️
스크랩 완료