강좌 및 설정/엑셀 기초

엑셀 함수 - 비교관련(MAX, MIN, LARGE, SMALL)

웹 개발자의 비상 2023. 6. 15. 18:52

지난 시간에는 범위 중 합계값, 평균값, 개수를 알아보는 함수에 대해 알아보았습니다. 이번에는 비교 관련 함수들을 알아보도록 하겠습니다. 범위 중에서 최대값, 최소값, 2번째로 큰 값, 3번째로 작은 값 등을 알아내는 함수입니다. 

이것들도 최대값과 최소값을 한분류로, 큰 값과 작은 값을 한분류로 생각하면 좀 더 효과적으로 함수의 쓰임을 알 수 있습니다.

 

1. MAX, MIN

MAX

값 집합에서 가장 큰 값을 반환합니다.
MAX(number1, [number2], ...)
  • number1 - 최대값을 구하려는 첫째 숫자, 셀 참조 또는 범위입니다.

MIN

값 집합에서 가장 작은 숫자를 반환합니다.
MIN(number1, [number2], ...)
  • number1 - 최소값을 구하려는 첫째 숫자, 셀 참조 또는 범위입니다.

 

MAX 함수는 최대값을, MIN 함수는 최소값은 구하는 함수입니다. 인수는 지난 강좌의 AVERAGE, SUM과 동일하게 number1, ...   을 사용합니다. 

이제 인수 number~를 정리하는 것이 좋겠네요. 즉 함수의 사용하는 인수 number~는 숫자 혹은 숫자가 작성된 셀 혹은 숫자로 작성된 셀의 범위라고 생각하시면 될 것 같습니다.

 

그럼 다음 예제를 해 보겠습니다.

 

MAX 함수 작성

 

  1. 가장 높은 점수 즉 최대값을 작성할 F4셀을 선택합니다.
  2. 수식입력줄에서 =MAX입력후 탭으로 함수 선택
  3. 범위를 F9:F20까지 클릭 드래그해서 선택한 후

enter를 입력하면 간단하게 최대값을 구할 수 있습니다. 최소값 F5셀도 함수명만 MIN으로 바꾸고 하면 되겠습니다. 직접 해 보세요

 

 

 

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

 

 

 

 

2. LARGE, SMALL

LARGE

데이터 집합에서 k번째로 큰 값을 반환합니다.
LARGE(array,k)
  • array - k번째로 큰 값을 확인할 데이터 배열 또는 범위입니다.
  • k - 데이터의 배열이나 셀 범위에서 가장 큰 값을 기준으로 한 상대 순위입니다.

SMALL

데이터 집합에서 k번째로 작은 값을 반환합니다.
SMALL(array,k)
  • array - k번째로 작은 값을 확인할 데이터 배열 또는 범위입니다.
  • k - 데이터의 배열이나 셀 범위에서 가장 작은 값을 기준으로 한 상대 순위입니다.

 

LARGE와 SMALL 역시 함수명만 다르고 구문은 동일합니다. 여기서 두 번째 인수인 k가 등장했는데요. 별건 아닙니다. 몇 번째로 큰지, 몇 번째로 작은 지를 판단하기 위해 그 수치를 나타내는 녀석이라는 겁니다. k가 2이면 2번째로 큰 값 또는 2번째로 작은 값이라는 것이죠. 3이면 3번째, 4이면 4번째겠죠

 

첫 번째 인수 array는 직역하면 바로 배열을 뜻합니다. 많은 프로그램 언어에서 array라는 것을 사용하는데요

쉽게 얘기하자면 값들의 집합이라고 생각하시면 됩니다. 엑셀에서는 {1,2,3,4,5} 이런 형태로 되는데요. 쉼표","를 기준으로 값들이 나열된 형태를 배열이라고 합니다. 그리고 이 값들을 배열의 요소라고 합니다. 숫자만 해당하는 것은 아니고 뭐든지 됩니다. {사과,배,귤,포도} 이런 식으로 하면 과일 배열로 묶을 수 있게 되는 것이죠. 요소로는 사과와 배, 귤 포도가 있으며 요소의 개수는 총 4개가 되는 것이지요. 말하자면 너무 길어지니 엑셀에서는 이 정도만 알고 있어도 됩니다.

그래서 =LARGE({1,2,3,4,5},2) 이렇게 사용하면, 배열 요소 5개 중에 2번째 큰 값은 4가 돼서 결과값은 4가 반환됩니다.

그런데 엑셀에서 범위를 지정하면 그 자체를 배열로 볼 수도 있습니다. 선택된 범위의 값들을 쉼표","로 구분한 것과 동일한 것이죠. 핵심은 엑셀에서 배열과 범위는 동일한 개념이라는 것입니다.

 

자 그럼 또 함수의 인수들 중 array와 k에 대해서도 정리가 가능합니다. 앞으로 함수에서 인수로 나오는

array범위

k몇 번째인지를 판단하는 숫자로 알고 있으면 되겠습니다.

 

그래서 위 예제에서 2번째로 낮은 점수를 작성하자면

 

SMALL 함수 작성

 

  1. 먼저 F6셀 선택
  2. 수식입력줄에서 함수작성 => =SMALL( 
  3. 범위 선택 => =SMALL(F9:F20
  4. 콤마 입력 후 상대 순위 2 입력 => =SMALL(F9:F20,2
  5. 마지막으로 enter를 입력 => =SMALL(F9:F20,2) 

 

SMALL 함수 결과

 

만약 여기서 두 번째 인수 k를 1로 사용하면 어떻게 될까요? 당연히 MIN 함수와 동일한 결과 값이 반환됩니다.

 

 

 

반응형

 

 

 

다음은 SMALL과 반대로 큰 값의 순서로 반환하는 LARGE 함수 차례입니다. 이번에는 인수 k를 참조를 통해 사용해 보겠습니다. 참조를 사용하면 해당 셀의 값을 변경해서 몇 번째로 큰지, 작은 지를 간편하게 확인할 수 있게 됩니다.

 

LARGE 함수 적용

 

  1. 먼저 함수를 적용할 셀(I9)를 선택합니다.
  2. 수식입력줄에서 함수 작성 => =LARGE( 
  3. 범위 선택 => =LARGE(F9:F20
  4. 콤마 입력 후 순위 셀(H9) 클릭(참조) => =LARGE(F9:F20,H9
  5. 마지막으로 enter를 입력 => =LARGE(F9:F20,H9)

 

이렇게 작성되면 큰 수중 첫 번째 즉 MAX와 동일한 값 100을 반환하게 됩니다. 이후에 순위 셀(H9)을 2로 바꾸면 두 번째로 큰 값 90을, 3으로 바꾸면 세 번째로 큰 값 85가 반환되게 됩니다. 자동화가 되는 것이죠

 

그럼 자동 채우기로 1위부터 5위까지 순위대로 큰 값의 구할 수 있습니다.

그런데 그냥 자동 채우기 하면 안 됩니다. 현재 함수의 첫 번째 인수로 사용한 범위가 상대참조 방식이라는 점 때문입니다. 현재 작성하고 있는 셀은 I9셀로 자동 채우기를 하게 되면

I10이 되는 순간 범위는 F9:F20에서 F10:F21로 내려가게 되고

I11에서는 F11:F22

I12에서는  F12:F23...

되어 참조하는 범위의 값이 달라지게 되어버립니다.

I9에서 I13셀은 동일하게  F9:F20범위를 참조해야 됩니다. 즉 절대참조를 해야 되는 것이 됩니다.

 

범위의 참조 방식 변경

 

1. 자동 채우기 시에 수정할 I9셀 선택

2. 수식입력줄에서 array인수(F9:F20)를 드래그해서 선택한 뒤 F4키를 눌러 절대참조로 변경합니다.

3. enter 입력으로 수식을 작성한 후

4. 작성한 I9셀을 선택 I3셀까지 자동 채우기 하면 완성됩니다.

 

결과

 

예제 결과

 

 

함수 - 2 집계(MAX, MIN, LARGE, SMALL).xlsx
0.01MB

 

 

 

728x90