=MOD(A2,B2)는 A2를 B2로 나눈 나머지를 반환합니다. 17에는 5가 세 번 들어가고 2가 남으므로 =MOD(17,5)는 2입니다. =ABS(A2)는 부호를 뺀 숫자를 반환하므로 -42가 42가 됩니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Number | Divisor | MOD | Times it fits |
| 2 | 17 | 5 | 2 | 3 |
| 3 | 20 | 5 | 0 | 4 |
| 4 | 7 | 2 | 1 | 3 |
| 5 | 100 | 7 | 2 | 14 |
| 6 | -3 | 2 | 1 | -1 |
| 7 | 3 | -2 | -1 | -1 |
D열은 나눗셈의 나머지 절반을 보여 줍니다. QUOTIENT는 나누는 수가 들어가는 정수 횟수를 반환하므로 17은 5의 3배 더하기 2입니다. B2를 0으로 바꾸면 0으로 나눌 때처럼 MOD가 #DIV/0!을 반환합니다.
MOD 구문
=MOD(number, divisor)
MOD는 소수에도 동작합니다. =MOD(7.5,2)는 1.5이고, =MOD(A2,1)은 3.75에서 0.75처럼 숫자의 소수 부분만 반환합니다. 날짜와 시간 값에서 =MOD(A2,1)은 시간만 남기고 날짜를 버립니다.
음수의 MOD
위 시트의 6행과 7행은 엑셀의 규칙을 보여 줍니다. 결과는 나누는 수의 부호를 따릅니다. =MOD(-3,2)는 -1이 아니라 1이고, =MOD(3,-2)는 -1입니다. 엑셀은 MOD를 number - divisor * INT(number / divisor)로 계산하며, INT는 항상 내림합니다.
스프레드시트와 코드가 다른 지점이 여기입니다. JavaScript, Java, C, C#에서 -3 % 2는 -1이고, Python의 -3 % 2는 엑셀처럼 1입니다. Google 스프레드시트는 엑셀을 따릅니다. 대신 나눠지는 수의 부호가 필요하면 =A2-B2*TRUNC(A2/B2)를 쓰세요.
짝수와 홀수, 그리고 한 줄 걸러 색칠하기
MOD(number,2)가 0이면 짝수입니다. 이것으로 "Even"이나 "Odd" 표시를 만들고, ROW와 함께 쓰면 한 줄 걸러 색을 칠하는 규칙이 됩니다. 엑셀에는 TRUE나 FALSE를 바로 반환하는 ISEVEN과 ISODD도 있습니다.
| A | B | C | |
|---|---|---|---|
| 1 | Order | Qty | Even or odd |
| 2 | 1001 | 4 | Even |
| 3 | 1002 | 7 | Odd |
| 4 | 1003 | 10 | Even |
| 5 | 1004 | 3 | Odd |
| 6 | 1005 | 8 | Even |
| 7 | 1006 | 5 | Odd |
조건부 서식 규칙 =MOD(ROW($A2),2)=0은 짝수 행 번호인 2, 4, 6행을 강조합니다. 엑셀에서는 홈 > 조건부 서식 > 새 규칙 > "수식을 사용하여 서식을 지정할 셀 결정"이며, 거기서는 더 짧은 =MOD(ROW(),2)=0도 동작합니다. 2를 3으로 바꾸면 세 줄마다 색이 칠해집니다.
n번째 행마다: 세 번째 값마다 더하기
MOD(ROW()-ROW(first),n)=0은 범위의 첫 행과 그 뒤 n번째 행마다 TRUE입니다. SUMPRODUCT 안에서 쓰면 열에서 세 번째 값마다, 예를 들어 각 분기의 마지막 달을 골라냅니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Sales | Every 3rd | ||
| 2 | Jan | 120 | 310 | ||
| 3 | Feb | 135 | |||
| 4 | Mar | 150 | |||
| 5 | Apr | 110 | |||
| 6 | May | 125 | |||
| 7 | Jun | 160 |
행의 오프셋은 0부터 5이고, =2는 오프셋 2와 5, 즉 3월과 6월을 남겨 150 더하기 160이 됩니다. =2를 =0으로 바꾸면 대신 1월과 4월을 가져옵니다.
분을 시간과 분으로 바꾸기
MOD와 정수 나눗셈은 합계를 단위로 나눕니다. 시간과 남는 분, 주와 남는 일, 상자와 낱개 물건이 그 예입니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Minutes | Hours | Minutes left | Label |
| 2 | 135 | 2 | 15 | 2 h 15 min |
| 3 | 59 | 0 | 59 | 0 h 59 min |
| 4 | 240 | 4 | 0 | 4 h 0 min |
| 5 | 1000 | 16 | 40 | 16 h 40 min |
1000분은 16시간 40분입니다. 실제 시간 값(8:30, 17:45)과 자정을 넘는 근무에는 =MOD(end-start,1)이 표준 수식입니다. 시간 계산을 보세요.
ABS: 두 숫자의 차이
=ABS(number)는 빼기 기호를 없앱니다. 주로 어느 값이 더 큰지 상관없이 차이의 크기를 구할 때 씁니다. 각 예측이 실제 결과에서 얼마나 벗어났는지, 측정값이 허용 오차 안에 있는지가 그 예입니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Week | Forecast | Actual | Off by | Within 10? |
| 2 | W1 | 120 | 112 | 8 | TRUE |
| 3 | W2 | 95 | 109 | 14 | FALSE |
| 4 | W3 | 140 | 138 | 2 | TRUE |
| 5 | W4 | 80 | 93 | 13 | FALSE |
| 6 | W5 | 110 | 104 | 6 | TRUE |
B2-C2는 W1에서 8, W2에서 -14입니다. ABS는 둘 다 거리로 바꿉니다. 거리를 더하려면 모든 엑셀 버전에서 동작하는 =SUMPRODUCT(ABS(B2:B6-C2:C6))를 쓰세요. 여기서는 D열의 합계인 43이 나옵니다. 이것을 개수로 나누면 평균 절대 오차가 됩니다.
직접 해 보기: MOD와 ABS
| A | B | C | |
|---|---|---|---|
| 1 | Eggs | Per carton | Left over |
| 2 | 350 | 12 |
직접 해 보세요: C2에서 A2의 계란을 B2 크기의 판에 꽉 채워 담은 뒤 남는 계란 수를 구하세요.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | City | Morning | Evening | Change |
| 2 | Oslo | 14 | 6 |
직접 해 보세요: D2에서 B2와 C2 사이에 기온이 몇 도 바뀌었는지를, 어느 쪽이 더 높든 양수로 보여 주세요.
MOD, QUOTIENT, INT 비교
| 원하는 것 | 수식 | 17과 5의 결과 | -17과 5의 결과 |
|---|---|---|---|
| 나머지 | =MOD(A2,B2) | 2 | 3 |
| 들어가는 정수 횟수, 0 쪽으로 | =QUOTIENT(A2,B2) | 3 | -3 |
| 들어가는 정수 횟수, 내림 | =INT(A2/B2) | 3 | -4 |
| 정확한 나눗셈 | =A2/B2 | 3.4 | -3.4 |
양수에서는 QUOTIENT와 INT(A2/B2)가 일치하고, B2*INT(A2/B2)+MOD(A2,B2)는 항상 원래 숫자를 다시 만듭니다. 음수에서는 INT 짝만 다시 맞아떨어집니다. -4 곱하기 5 더하기 3은 -17입니다. 음수에서 QUOTIENT와 MOD를 섞어 쓰는 것이 일정표나 분배에서 1 차이가 나는 흔한 원인입니다.
자주 묻는 질문
엑셀에서 MOD는 무엇을 하나요?
나눗셈의 나머지를 반환합니다. 17에는 5가 세 번 들어가고 2가 남으므로 =MOD(17,5)는 2입니다. 나누어떨어지면 MOD는 0을 반환합니다.
엑셀에서 숫자가 짝수인지 확인하려면 어떻게 하나요?
짝수면 TRUE가 되는 =MOD(A2,2)=0이나 =ISEVEN(A2)를 씁니다. 표시 문구로는 =IF(MOD(A2,2)=0,"Even","Odd")입니다.
음수에 MOD를 쓰면 왜 양수가 나오나요?
엑셀의 MOD는 나누는 수의 부호를 따릅니다. =MOD(-3,2)는 1이고 =MOD(3,-2)는 -1입니다. 많은 프로그래밍 언어는 -3 % 2에 -1을 주므로 코드와 결과가 다를 수 있습니다.
엑셀에서 절댓값은 어떻게 구하나요?
=ABS(A2)를 씁니다. -42는 42가 되고 42는 42로 남습니다. 부호 없이 차이의 크기만 구하려면 =ABS(B2-C2)를 쓰세요.
엑셀에서 절댓값의 합계는 어떻게 구하나요?
모든 버전에서 동작하는 =SUMPRODUCT(ABS(A2:A7))를 씁니다. Excel 365와 2021에서는 =SUM(ABS(A2:A7))도 동작합니다.