=ROUND(A2,2)는 A2의 숫자를 소수 둘째 자리로 반올림하므로 3.14159는 3.14가 됩니다. 두 번째 인수는 남길 자릿수입니다. 0은 정수로, -1은 10 단위로 반올림합니다.
| A | B | C | |
|---|---|---|---|
| 1 | Value | 2 decimals | Whole number |
| 2 | 3.14159 | 3.14 | 3 |
| 3 | 2.675 | 2.68 | 3 |
| 4 | 12.5 | 12.5 | 13 |
| 5 | -2.5 | -2.5 | -3 |
| 6 | 1234.567 | 1234.57 | 1235 |
각 행은 A열의 값에 두 수식을 모두 적용하므로 1234.567은 1234.57과 1235가 됩니다. A2를 다른 숫자로 바꾸면 두 열이 따라 바뀝니다.
ROUND 구문
=ROUND(number, num_digits)
number는 반올림할 값으로, 숫자, 셀, 또는=ROUND(B2*C2,2)처럼 수식 전체를 넣을 수 있습니다.num_digits는 어디에서 반올림할지 정합니다. 양수는 소수점 뒤의 자릿수,0은 정수, 음수는 소수점 앞의 자릿수입니다.
ROUND는 버리는 첫 번째 자리만 봅니다. 그 숫자가 5 이상이면 남기는 부분을 올리고, 아니면 그대로 둡니다. 그래서 =ROUND(2.675,2)는 2.68을, =ROUND(2.674,2)는 2.67을 냅니다.
10, 100, 1000 단위로 반올림
음수 num_digits는 소수점 왼쪽에서 반올림합니다. 보고서에서 1234.567을 1230, 1200, 1000으로 바꾸는 방법입니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | num_digits | Result | Number | |
| 2 | 2 | 1234.57 | 1234.567 | |
| 3 | 1 | 1234.6 | ||
| 4 | 0 | 1235 | ||
| 5 | -1 | 1230 | ||
| 6 | -2 | 1200 | ||
| 7 | -3 | 1000 |
B5를 클릭하면 10 단위로 반올림하는 =ROUND($D$2,-1)이 보입니다. 이제 D2를 48750으로 바꿔 보세요. 버리는 첫 자리의 5는 항상 올라가므로 -2 행은 48800을 보여 줍니다.
ROUND와 표시 형식의 차이
셀을 0.00 형식으로 지정하는 것(홈 > 표시 형식 > 자릿수 줄임)은 셀에 보이는 것만 바꿉니다. 전체 값은 그대로 있고, 그 셀을 읽는 모든 수식이 그 값을 씁니다. ROUND는 값 자체를 바꿉니다.
이 차이는 합계에서 드러납니다. 아래 A열의 각 가격은 1.333을 소수 둘째 자리로 보여 주므로 열에는 1.33, 1.33, 1.33이 보이지만 합계는 4.00으로 보입니다. B열은 각 가격을 먼저 반올림하므로 합계가 3.99입니다.
| A | B | |
|---|---|---|
| 1 | Formatted only | Rounded |
| 2 | 1.33 | 1.33 |
| 3 | 1.33 | 1.33 |
| 4 | 1.33 | 1.33 |
| 5 | 4.00 | 3.99 |
어느 합계도 틀리지 않았습니다. 4.00은 실제 합계 3.999를 소수 둘째 자리로 보여 준 것이고, 3.99는 청구서에 인쇄되는 값들의 합계입니다. 줄마다 청구하는 금액처럼 반올림한 숫자가 실제 숫자일 때 ROUND를 쓰세요. 아무것도 바꾸지 않고 소수 자릿수만 줄여 보이려면 표시 형식을 쓰세요. 파일 > 옵션 > 고급의 "Set precision as displayed"(표시된 정밀도로 설정)는 통합 문서 전체에서 엑셀이 표시된 값을 저장하게 하며 되돌릴 수 없습니다. ROUND가 더 안전합니다.
엑셀이 0.5를 반올림하는 방식
ROUND는 5를 0에서 먼 쪽으로 반올림합니다. 2.5는 3이 되고 -2.5는 -3이 됩니다. 첫 번째 시트의 3행부터 5행을 보세요. 2.675는 2.68, 12.5는 13, -2.5는 -3이 됩니다.
어떤 도구는 5를 가장 가까운 짝수로 반올림해(은행원 반올림) 2.5를 2로 만듭니다. 엑셀의 ROUND 함수는 절대 그렇게 하지 않지만 VBA의 Round 함수는 그렇게 하므로, 매크로와 셀의 결과가 다를 수 있습니다. Google 스프레드시트의 ROUND도 0에서 먼 쪽으로 반올림합니다.
수식 결과 반올림
계산 전체를 ROUND로 감싸서 최종 결과만 반올림하세요. 여기서는 8.25% 세금을 붙인 가격을 센트 단위로 반올림합니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Price | Tax rate | With tax |
| 2 | Lamp | $19.99 | 8.25% | $21.64 |
| 3 | Chair | $74.50 | 8.25% | $80.65 |
| 4 | Desk | $129.00 | 8.25% | $139.64 |
평균, 백분율, 나눗셈에도 같은 방식이 통합니다. =ROUND(AVERAGE(B2:B6),1)은 소수 첫째 자리까지의 평균을 냅니다. 반올림한 숫자를 문장 속 텍스트로 쓰고 싶다면 =TEXT(A2,"0.00")이 두 가지를 한 번에 합니다(TEXT 함수 참고).
MROUND로 5, 0.05, 15분 단위 반올림
=MROUND(number, multiple)는 원하는 숫자의 가장 가까운 배수로 반올림합니다. 5센트 단위 가격, 12개들이 묶음 수량, 15분 단위 시간에 쓰세요.
| A | B | C | |
|---|---|---|---|
| 1 | Value | Multiple | MROUND |
| 2 | 12 | 5 | 10 |
| 3 | 13 | 5 | 15 |
| 4 | 2.37 | 0.05 | 2.35 |
| 5 | 9:08 | 0:15 | 9:15 |
MROUND도 딱 중간인 값은 0에서 먼 쪽으로 반올림하므로 배수 5에서 12.5는 15가 됩니다. 숫자와 배수의 부호가 같아야 합니다. =MROUND(-12,5)는 #NUM!을 반환하고, =MROUND(-12,-5)는 -10을 냅니다. 배수로 항상 올리거나 내리려면 ROUNDUP과 ROUNDDOWN 페이지의 CEILING과 FLOOR를 쓰세요.
직접 해 보기: 평균 반올림
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Score | Average | ||
| 2 | Ana | 78 | |||
| 3 | Ben | 91 | |||
| 4 | Cleo | 85 | |||
| 5 | Dan | 66 | |||
| 6 | Eve | 88 | |||
| 7 | Finn | 73 |
직접 해 보세요: E2에 B2:B7 점수의 평균을 소수 첫째 자리로 반올림해 표시하세요.
힌트: AVERAGE를 ROUND 안에 넣고 자릿수로 1을 쓰세요.
어떤 반올림 함수를 쓸까
| 원하는 것 | 수식 | 12.345의 결과 |
|---|---|---|
| 가장 가까운 값, 소수 둘째 자리 | =ROUND(A2,2) | 12.35 |
| 가장 가까운 정수 | =ROUND(A2,0) | 12 |
| 가장 가까운 10 | =ROUND(A2,-1) | 10 |
| 항상 올림 | =ROUNDUP(A2,1) | 12.4 |
| 항상 내림 | =ROUNDDOWN(A2,1) | 12.3 |
| 가장 가까운 0.5의 배수 | =MROUND(A2,0.5) | 12.5 |
| 소수 버리기 | =TRUNC(A2) 또는 =INT(A2) | 12 |
흔한 실수는 긴 계산의 중간에서 반올림하고 끝에서 또 반올림하는 것으로, 마지막 자리가 달라질 수 있습니다. 실제로 보고하거나 청구하는 반올림 값이 나오는 단계에서 한 번만 반올림하세요.
자주 묻는 질문
엑셀에서 소수 둘째 자리까지 반올림하려면 어떻게 하나요?
=ROUND(A2,2)를 씁니다. 저장된 값이 바뀌므로 3.14159는 3.14가 되고 이후 수식도 3.14를 씁니다. 셀을 0.00 형식으로 지정하면 보이는 것만 바뀌고 전체 값은 그대로 남습니다.
엑셀에서 가장 가까운 정수로 반올림하려면 어떻게 하나요?
=ROUND(A2,0)을 씁니다. 12.5는 13, 12.4는 12가 됩니다. 항상 올리거나 항상 내리려면 =ROUNDUP(A2,0)이나 =ROUNDDOWN(A2,0)을 쓰세요.
엑셀에서 10, 100, 1000 단위로 반올림하려면 어떻게 하나요?
ROUND에 음수 자릿수를 줍니다. =ROUND(A2,-1)은 10 단위, =ROUND(A2,-2)는 100 단위, =ROUND(A2,-3)은 1000 단위로 반올림합니다. 1234.567은 1230, 1200, 1000이 됩니다.
엑셀은 0.5를 올리나요, 내리나요?
ROUND는 5를 0에서 먼 쪽으로 반올림합니다. =ROUND(2.5,0)은 3이고 =ROUND(-2.5,0)은 -3입니다. VBA의 Round 함수가 쓰는 은행원 반올림(가장 가까운 짝수로 반올림)은 쓰지 않습니다.
엑셀에서 5 단위로 반올림하려면 어떻게 하나요?
=MROUND(A2,5)를 씁니다. 12는 10, 13은 15가 됩니다. MROUND는 원하는 배수로 반올림하므로, 5센트 단위 가격이라면 =MROUND(A2,0.05)처럼 씁니다.