티스토리 뷰

엑셀 CEILING 함수는 전달된 숫자를 0 에서 멀어지는 방향의 가장 가까운 배수로 올림한다. 올림이라 표현되었지만 이는 숫자가 양수일 때이고 음수의 경우는 내림이 된다. 라운딩의 방향이 0 에서 멀어지는 방향이기 때문이다.

즉, 이 함수는 이전에 배운 FLOOR 함수와 라운딩( 올림/내림 )의 방향이 반대되는 함수이다. FLOOR 함수가 0 에 가까워지는 방향이라면 CEILING 함수는 0 에서 멀어지는 방향이다. 이 점을 이해한다면 모든 사용법은 FLOOR 함수와 동일하다.

[기타 함수] 엑셀 FLOOR 로 임의의 배수로 내림하기 :
http://secstart.tistory.com/789

엑셀 CEILING 함수 기본 설명

설명 : CEILING 함수는 숫자( number 인수 )를 0 에서 멀어지는 방향으로 가장 가까운 significance 인수의 배수에 라운딩( 올림/내림 )하는 함수이다.
구문 : CEILING( number, significance )
인수 :
    number : 라운딩( 올림/내림 ) 되어질 숫자
    significance : number 인수가 라운딩될 기준 간격, 이 값의 배수로 올림된다.

    노트1 : 엑셀 2003 과 2007 버전에서는 significance 인수가 number 인수와 동일한 부호를 사용하여야 한다.
    참고1 : 엑셀 2010 이후 버전에서는 number 가 음수, significance 가 양수라도 처리 가능하다.
    이 경우 CEILING 함수는 라운딩의 방향을 바꾼다. 즉, 0 의 방향으로 라운딩 되는 것이다.

엑셀 CEILING 함수 사용 예제

엑셀 CEILING 함수는 기준 간격 단위로 올림하는 함수이다. 사용 예제( 엑셀 2010 이상 버전 )를 살펴보자.

[그림1] 엑셀 CEILING 함수로 배수 단위 올림하기[그림1] 엑셀 CEILING 함수로 배수 단위 올림하기



사용 예제1 : =CEILING( 30, 7 )
사용 결과1 : 35

CEILING 함수의 올림될 숫자인 number 인수로 30 이 전달되었다. 또, 배수의 기준이 되는 significance 인수로 7 이 전달되었다. 이는 30 에서 가장 가까운 7 의 배수로 올림한다는 의미이다. 30 보다 큰 가장 가까운 7의 배수는 35 이다. 이 값이 결과로 반환된다.

FLOOR 함수와 CEILING 함수는 라운딩의 기준이 되는 값이 significance 인수의 배수라는 것을 기억하는 것이 가장 중요한다.

사용 예제2 : =CEILING( 30.12, 0.4 )
사용 결과2 : 30.4

30.12 를 보다 큰 가장 가까운 0.4 의 배수로 올림한다. significance 인수인 0.4 의 76 배수, 30.4 로 라운딩( 올림 )된다.

정수로 표현하기를 원한다면 배수의 기준값인 두번째 인수로 1 을 전달하면 된다. 1 배 간격, 이는 정수를 의미하기 때문이다.

사용 예제3 : =CEILING( -32.75, -0.5 )
사용 결과3 : -33

number 인수로 -32.75 의 음수가 전달되었다. 이때는 significance 인수도 음수로 전달되어야 한다. 그렇지 않다면 엑셀 2007 이전 버전은 #NUM 오류를 발생한다.

위에서는 라운딩될 값( number 인수 )이 양수들이라 올림 처리하였지만 음수라면 내림으로 처리된다. 라운딩 방향이 0 에서 멀어지는 방향이기 때문이다. 따라서, 음수일 경우는 보다 작은 값이 되고 곧, 내림이 되는 것이다.

참고2 : 예제4 는 엑셀 2010 이상 버전이어야 오류없이 처리( 라운딩이 0 의 방향으로 바뀜 )된다. 엑셀 2007 이전 버전은 #NUM! 오류를 발생한다.
참고3 : 예제5 는 엑셀 모든 버전에서 #NUM! 오류가 생긴다. 부호가 다르고, 배수의 기준이 되는 significance 가 음수이기 때문이다.

사용 예제6 : =CEILING( "08:17", TIME(0,15, 0) )
사용 결과6 : 오전 8:30:00

위의 CEILING 함수식은 라운딩할 값으로 시간을 전달하고, significance 인수에 TIME 함수로 생성한 시간값 15분을 전달하여 배수의 기준으로 사용하였다. 이 수식의 의미는 number 인수( 8시17분 )를 가장 가까운 15분 단위의 시간에 올림한다. 17분 보다 큰 15분 단위는 30분이다. 따라서, 결과는 오전 8:30:00 으로 반환된다.

[엑셀 모바일] 시간 생성 TIME 함수 배우기 :
http://secstart.tistory.com/676

참고4 : 숫자의 부호에 상관없이 significance 의 배수로 올림하고 싶다면 CEILING.PRECISE 함수를 사용한다. ( 엑셀 2010 이상 )
참고5 : 음수일때 원하는 방향으로 라운딩하려면 mode 인수가 추가되는 CEILING.MATH 함수를 사용한다. ( 엑셀 2013 이상 )

엑셀 CEILING 함수 오류

#NUM! 오류 :
    엑셀 2010 이후 버전 : number 인수가 양수이고 significance 인수가 음수라면 발생
    엑셀 2007 이전 버전 : number 인수와 significance 인수의 부호( + , - )가 다르다면 발생
#DIV/0! 오류 : significance 인수가 0 이라면 발생( 0 의 배수를 계산할 수 없기에 )
#VALUE! 오류 : 인수 중 하나 이상이 비수치라면 발생


엑셀 CEILING 함수는 자리수 단위의 올림/내림이 아니라, 기준값의 배수를 이용하는 또 다른 라운딩 방법이다. 여러 상황에서 유용하게 활용할 수 있을 것이다.

라운딩 관련 함수 :

엑셀 TRUNC 함수로 지정 자리수에서 버림 :
http://secstart.tistory.com/731
엑셀 ROUNDDOWN 함수로 자리수 내림하기 :
http://secstart.tistory.com/733
엑셀 ROUNDUP 함수로 자리수 올림하기 :
http://secstart.tistory.com/734
엑셀 ROUND 함수로 자리수 반올림하기 :
http://secstart.tistory.com/732

마늘빵.


댓글