
INT · TRUNC · MOD · QUOTIENT로 정수·절단·나머지 계산 끝! (음수 처리·주기·배치 분류 1분 컷)
반올림(ROUND 계열)과 달리, 정책적 절단·분류가 필요할 때는 INT/TRUNC/MOD/QUOTIENT가 정확합니다.
문법 & 차이
| 함수 | 형식 | 설명 |
|---|---|---|
| INT | =INT(number) | −∞ 방향의 정수 내림 |
| TRUNC | =TRUNC(number,[num_digits]) | 0 방향 절단(자릿수 옵션) |
| MOD | =MOD(number, divisor) | 나머지(부호는 divisor를 따름) |
| QUOTIENT | =QUOTIENT(number, divisor) | 정수 몫 |
표시서식 vs 값: 셀 서식으로 보이는 정수화와, INT/TRUNC로 값 자체를 바꾸는 것은 다릅니다.
정수화/절단 — INT vs TRUNC
은행식 ‘절사’(소수 둘째 자리 절단)
=TRUNC(B2, 2)
음수 처리(−2.3)
=INT(-2.3) // -3
=TRUNC(-2.3) // -2
날짜에서 ‘정오 이전’ 판별
=IF(TRUNC(A2)=A2, "정시", "시간 포함")
나머지/몫 — MOD · QUOTIENT
분·초 분리(시간)
=QUOTIENT(Seconds,60) // 분
=MOD(Seconds,60) // 초
짝수/홀수
=MOD(A2,2)=0 // TRUE면 짝수
N개 묶음 팩 수량 & 잔량
=QUOTIENT(Qty, Pack) // 박스(팩) 수
=MOD(Qty, Pack) // 남는 개수
실무 패턴 10가지
① 페이지네이션 오프셋(페이지당 20개, 페이지=G2)
=QUOTIENT(ROW(A1:A1000)-1, 20)=G2-1
② 주기/배치 라벨(주기 N일)
="Batch "&INT((ROW()-1)/N)+1
③ 회차 번호(1,2,3,1,2,3 반복)
=MOD(ROW()-1, 3)+1
④ 주차(week-of-month, 월 기준)
=INT( (DAY(A2)+WEEKDAY(EOMONTH(A2,-1)+1,2)-1) / 7 ) + 1
⑤ ‘매 15분’ 버킷(시간→정수 인덱스)
=QUOTIENT(MINUTE(A2), 15) // 0~3
⑥ 음수 금액 절사(0 방향)
=TRUNC(Amount, 0)
⑦ 두 날짜 차이 ‘주’와 ‘나머지 일’
=QUOTIENT(Days,7) // 주
=MOD(Days,7) // 일
⑧ 주문번호 마지막 3자리 추출(숫자 기반)
=MOD(OrderID, 1000)
⑨ 지도 좌표를 격자에 스냅(0.01 단위 절단)
=TRUNC(Lat, 2) & ", " & TRUNC(Lng, 2)
⑩ VAT 전개(몫/나머지로 분리 계산)
=QUOTIENT(Total, 11)*10 // 세전(10/11 가정)
=MOD(Total, 11) // 보정 잔액(전략용)
실수 & 체크리스트
- 음수 규칙 혼동 → 정수화는 INT(−∞) vs TRUNC(0 방향)를 테스트로 확인.
- MOD 부호 → divisor 부호가 결과 부호를 결정. 보고서 정책을 명확히.
- 표시서식만 변경 → 값은 그대로이니 계산 전 정수화가 필요하면 INT/TRUNC 사용.
- 배수 반올림과 혼용 → 반올림은 MROUND/CEILING/FLOOR, 절단은 TRUNC/INT로 역할 분리.
요약
| 목표 | 대표 공식 |
|---|---|
| 정수 내림(−∞) | INT(x) |
| 절단(0 방향) | TRUNC(x, n) |
| 몫/나머지 | QUOTIENT(x,d) / MOD(x,d) |
| 주기/배치 | MOD로 순환, INT로 그룹 라벨 |