본문 바로가기

디지털 SKILL

ROUND CEILING FLOOR : 엑셀 숫자 끝자리 설정 함수들

반응형

엑셀에서 ROUND 부류 함수들은 숫자의 끝자리 처리를 어떻게 할 것인가를 결정합니다.
어느 자리수에서 반올림, 올림, 버림, 내림 할 것인지를 결정합니다.

자리수는 ROUND, ROUNDUP, ROUNDDOWN, TRUNC 함수를 사용할 때 입력해야 합니다.

CEILING, FLOOR, MROUND 함수는 주어진 숫자를 올리거나 내림을 하고 싶은데 어떤 수의 배수 중에  선택하는 함수입니다.

다소 헷갈릴 수 있으므로 꼭 예제를 통해 익히시기 바랍니다.

1.  ROUND를 알려면,  자리수부터 이해해야 합니다

함수 인수로 입력하는 자리수부터 알아야 합니다. 예를 보면 쉽게 이해할 수 있을 것입니다.

 

ROUND()는 반올림을 하는데,   자리수 인수에 따라 결정됩니다.
ROUND( 123.45,  1 ) 에서, 인수 1은 "소수점 이하 1 자리"입니다.  
결과는 123.5 입니다.

ROUND( 123.45,  -1 ) 이렇게 하면 어떻게 될까요? 결과는 120 입니다.
음수는 정수 자리수입니다.  "소수점 이상 1 자리"는  정수 1의 자리를 의미한다는 점을 기억하세요.

* 자리수 이해에 도움되는 사례
 (1) ROUND( 123.55, 1) 이면,  123.6 : 소수점 이하 2자리에서 반올림
 (2) ROUND( 123.55, 0) 이면,  124 : 소수점 이하 1자리에서 반올림

 (3) ROUND( 123.55, -1) 이면,  120 : 소수점 이상 1자리에서 반올림

"자리수" 인수의 의미는  ROUNDUP, ROUNDDOWN 등 다른 함수에서도 동일합니다.

 

2.  ROUND 함수, ROUNDUP 함수, ROUNDDOWN 함수

"ROUND 함수는 반올림, ROUNDDOWN 함수는 내림, ROUNDUP 함수는 올림" 이라고 기억하면 됩니다.

ROUND(number, 1) 과 같이 자리수 1은  "소수점 이하 1자리"를 의미합니다.

다음 ROUND 함수 예를 실행해 보시기 바랍니다.

자리수와 반올림이 실행되는 위치를 보세요. 
양수, 음수일때 차이점을 아는 것이 요점입니다.


ROUND( .., 1) 이면 소수점 이하 2자리에서 반올림하라는 의미.
ROUND( .., -1) 이면 소수점 이상 1자리에서 반올림하라는 의미.

ROUNDUP(), ROUNDDOWN() 에서도 자리수는 똑같은 의미입니다.

ROUNDUP( 123.456, 1) 은 "소수점 이하 2자리"에서 올림을 하라는 의미입니다.
따라서, 123.5 가 됩니다.  

ROUNDUP( 123.456, -1) 은 "소수점 이상 1자리"에서 올림을 하라는 의미입니다.
따라서, 130 이 됩니다.

ROUNDDOWN( 123.456, 1) 은 "소수점 이하 2자리"에서 내림을 하라는 의미입니다.
따라서, 123.4 가 됩니다.

ROUNDDOWN( 123.456, -1) 은 "소수점 이상 1자리"에서 올림을 하라는 의미입니다.
따라서, 120 이 됩니다.

ROUNDDOWN( 123.456, 0) 은 어떻게 될까요?  "소수점이하 1자리"에서 내림하면, 123.
ROUNDUP( 123.456, 0) 은 어떻게 될까요?  "소수점이하 1자리"에서 올림하면, 124.

 

 

3. TRUNC 함수

ROUNDDOWN 함수와 같습니다.
지정한 자리수 이하를 버립니다.
TRUNC( 123.456, 1) 은 "소수점 이하 2자리"에서 버립니다.  
123.4 가 결과입니다.
TRUNC( 123.456, -1) 은 "소수점 이상 1자리"에서 버립니다.
결과는 120.
TRUNC( 123.456, 0) 은 어떻게 될까요?  0 에서 1자리 아래인, "소수점이하 1자리"에서 잘라냅니다.
결과는 123.

 

 

4. CEILING 함수

 

함수의 프로토타입은 CEILING(  number,  significance)   입니다.  두 번째 인수는 significance라고 하는데, 첫번째 인수인 number를 significance의 배수로 올림하여 결과를 반환합니다. 

 

예를 들겠습니다.  CEILING (12, 5) 이면, 12에 가까운 5의 배수 10, 15 중에 12보다 큰 값인 15를  반환합니다.
올림이기 때문입니다.


두 인수가 양수인지 음수인지에 따라 다르게 동작하기 때문에, 주의해야 합니다.

 

예의 그림에서, 4)를 다르게 색칠한 이유는 헷갈릴 수 있는 경우이기 때문입니다.


1) CEILING(12, 5) :  significance  5의 배수 중에 12보다 큰 값은 15. 따라서 결과는 15입니다.

2) CEILING(12, -5) : number가 양수인데, significance가 음수이면 에러입니다. 

3) CEILING(-12, -5) : number가 음수이면,  significance도 음수가 가능합니다.

                                   significance -5가 음수이므로 -12에 가까운 -5의 배수 중에 절대값이 큰 값인  -15를 반환합니다. 

4) CEILING(-12, 5) :  significance 양수이므로-12에 가까운  -5의 배수 중에 절대값이 작은 값인 -10을 반환합니다.

 

다음과 같이 정리할 수 있습니다.

1) number가 양수이면, significance는 양수만 가능합니다.

2) number가 음수이면, significance는 양수, 음수 가능합니다.

  • (number가 음수, significance가 양수)인 경우, number에 가까운 significance의 배수 중에 절대값이 더 작은 값을 반환합니다.
  • (number가 음수, significance가 음수)인 경우, number에 가까운 significance의 배수 중에 절대값이 더 큰 값을 반환합니다.

 

 

 

5. FLOOR 함수


함수의 프로토타입은  FLOOR(  number,  significance )  입니다.

CEILING()과 정확히 반대로 동작합니다.

 


1) FLOOR(12, 5) : 12에 가까운 5의 배수 중에 12보다 작은 값은 10입니다.

2) FLOOR(12, -5) : significance가 음수이면 에러입니다. 

3) FLOOR(-12, -5) : significance -5가 음수이므로 -12 에 가까운 -5의 배수 중에 절대값이 작은 값인 -10을 반환합니다. 

4) FLOOR(-12, 5)  :  significance 5가 양수이므로  -12 에 가까운 5의 음의 배수 중에 절대값이 큰 값인  -15를 반환합니다.

 

 

6. MROUND 함수


함수의 프로토타입은  MROUND(  number, significance)  입니다.

significance 의 배수 중에서,  number에 가장 가까운 값을 반환합니다.
인수 2개의 부호가 같아야 합니다. 다르면, 오류가 발생합니다..

 

 

 

 

 

 

 

반응형