概要
「3で割った余りを知りたい」「偶数か奇数かを判定したい」「5日ごと・10個ごとに区切りたい」
そんな“割り算の余り”を扱うときに使うのが MOD 関数(剰余) です。
MOD は、
「ある数を別の数で割ったときの“余り”」を返す関数です。
算数で習った「割り算の余り」を、そのまま Excel で扱えるイメージです。
MOD 関数の基本
書式と意味
=MOD(数値, 除数)
数値:割られる数(元の値、セル参照、計算式など)
除数:割る数(0 以外の数)
たとえば、次のように動きます。
=MOD(10,3) ' 10÷3 の余り → 1
=MOD(15,4) ' 15÷4 の余り → 3
=MOD(A2,2) ' A2 を 2 で割った余り
「数値 ÷ 除数」をしたときの余りだけを取り出す、というイメージです。
よくある使い方
偶数・奇数の判定
数を 2 で割った余りが 0 なら偶数、1 なら奇数です。
これをそのまま MOD で書けます。
偶数かどうかを判定する式の例:
=MOD(A2,2)=0
この式は、A2 が偶数なら TRUE、奇数なら FALSE になります。
文字で表示したいなら IF と組み合わせます。
=IF(MOD(A2,2)=0,"偶数","奇数")
A2 が 4 なら「偶数」、5 なら「奇数」と表示されます。
「n個ごと」「n日ごと」の区切りを作る
たとえば、「5行ごとに区切りを入れたい」「10個ごとにフラグを立てたい」といったとき、
行番号や連番に MOD をかけると便利です。
行番号 ROW() を使って「5行ごと」の判定をする例:
=MOD(ROW(),5)=0
5行目、10行目、15行目…のときだけ TRUE になります。
連番が A2 から始まっているとして、「10個ごと」の判定をする例:
=MOD(A2,10)=0
10、20、30…のときだけ TRUE になります。
週のサイクル・ローテーション
「7日ごと」「3日ごと」「4人で順番に担当」など、
一定周期でローテーションさせたいときにも MOD はよく使われます。
たとえば、「4人で順番に担当番号 1〜4 を振りたい」とき、
連番が A2 に入っているなら:
=MOD(A2-1,4)+1
A2 が 1,2,3,4,5,6,7,8,… と増えていくと、
結果は 1,2,3,4,1,2,3,4,… と繰り返されます。
負の数と MOD
基本的には「正の数」で使うことが多いですが、
MOD は負の数にも使えます。
=MOD(-3,2)
のような式も書けますが、負の数の扱いは少し直感的でないこともあるので、
まずは「正の数で余りを扱う」場面から慣れていくのがおすすめです。
テンプレート集
2 で割った余り(偶奇判定の基本):
=MOD(A2,2)
偶数なら TRUE、奇数なら FALSE:
=MOD(A2,2)=0
偶数/奇数を文字で表示:
=IF(MOD(A2,2)=0,"偶数","奇数")
n 個ごとの区切り(n で割り切れるか):
=MOD(A2,n)=0
4人ローテーションで 1〜4 を繰り返す:
=MOD(A2-1,4)+1
例題
問題1
A2 に「10」が入っています。
この値を 3 で割った余りを求める式を書いてください。
=MOD(A2,3)
問題2
A2 に「15」が入っています。
この値を 4 で割った余りを求める式を書いてください。
=MOD(A2,4)
問題3
A2 に「任意の整数」が入っています。
この値が偶数なら「偶数」、奇数なら「奇数」と表示する式を書いてください。
=IF(MOD(A2,2)=0,"偶数","奇数")
問題4
A2 に 1 から始まる連番が入っています。
この連番に対して、「10個ごと(10,20,30,…)のときだけ TRUE になる」式を書いてください。
=MOD(A2,10)=0
問題5
A2 に 1 から始まる連番が入っています。
4人で順番に担当し、「担当番号 1〜4 を繰り返す」番号を求める式を書いてください。
=MOD(A2-1,4)+1
MOD は、「割り算の余り」をそのまま Excel で扱える、とても“算数らしい”関数です。
偶奇判定、周期処理、ローテーション、n個ごとの区切り――
「割ったときの余り」という発想が出てきたら、まず MOD を思い出してみてください。
