Excelで「10÷3」の余りだけ取り出したいのに、毎回手計算していませんか。在庫の端数管理や、分単位のデータを「○時間○分」に変換するとき、余りの計算は意外と頻繁に登場します。
MOD関数を使えば、割り算の余りをセルひとつで求められます。基本の書き方から実務で使えるパターンまで、まとめて紹介します。偶数・奇数の判定や条件付き書式への応用、QUOTIENT関数との合わせ技、さらにINT・TRUNC関数との使い分けも解説します。
この記事は次のような人におすすめ
- 割り算の余りをExcelで求めたい
- 偶数・奇数の判定や1行おきの色分けを自動化したい
- QUOTIENT関数と組み合わせて商と余りをセットで扱いたい
- MOD・INT・TRUNC・QUOTIENTの違いを整理したい
MOD関数とは?基本構文と引数
MOD(モッド)関数は、割り算の余り(剰余)を返す関数です。名前はラテン語の「modulus(尺度・余り)」に由来しています。
たとえば「10÷3」は商が3で余りが1です。MOD関数を使うと、この「1」だけを取り出せます。
基本構文
=MOD(数値, 除数)
引数は2つだけ。どちらも必須です。
| 引数 | 必須/任意 | 内容 |
|---|---|---|
| 数値(number) | 必須 | 割られる数。数値またはセル参照 |
| 除数(divisor) | 必須 | 割る数。数値またはセル参照(0は不可) |
戻り値は除数と同じ符号の数値です。正の除数を使えば結果も正になるので、通常の業務では符号を気にする必要はありません。
内部計算の仕組み
MOD関数は内部的に次の式で計算されています。
MOD(数値, 除数) = 数値 - 除数 × INT(数値 / 除数)
この仕組みを知っておくと、負の数を渡したときの結果が理解しやすくなります。詳しくは後半の「負の数を渡したときの注意点」で解説します。
Excel 2003以前から使える定番関数で、Microsoft 365やGoogleスプレッドシートにも対応しています。
MOD関数の基本的な使い方
まずは数値を直接入力するパターンです。
=MOD(10, 3)
結果は「1」です。10÷3=商3・余り1なので、余りの1が返ります。
セル参照でも同じように使えます。A1に「150」、B1に「12」が入っているとします。
=MOD(A1, B1)
結果は「6」です。150÷12=商12・余り6ですね。
小数の引数でも動作します。
=MOD(5.5, 1.5)
結果は「1」です。5.5÷1.5=商3・余り1.0となります。
ただし、小数を使うと浮動小数点の誤差が出ることがあります。たとえば =MOD(1, 0.1) の結果は0ではなく0.0999…になる場合があります。こうした誤差が気になるときはROUND関数で丸めてください。
=ROUND(MOD(1, 0.1), 10)
実務で使える活用パターン5選
MOD関数は「余りを求める」だけでなく、条件判定や書式設定にも応用できます。よく使う活用パターンを紹介します。
パターン1: 偶数・奇数を判定する
数値を2で割った余りは、偶数なら0、奇数なら1です。この性質を利用すれば、IF関数と組み合わせてかんたんに判定できます。
A2に判定したい数値が入っているとします。
=IF(MOD(A2, 2)=0, "偶数", "奇数")
MOD(A2, 2) が0なら偶数、1なら奇数です。下方向にコピーすれば、一覧表にまとめて判定結果を出せます。
応用として、3の倍数を判定したい場合は除数を3に変えるだけです。
=IF(MOD(A2, 3)=0, "3の倍数", "")
パターン2: 1行おきに色を付ける(条件付き書式)
データが多い表は、1行おきに背景色を付けると読みやすくなります。条件付き書式にMOD関数を使えば、自動で縞模様を作れます。
設定手順は次のとおりです。
- 色を付けたい範囲を選択する
- 「ホーム」タブ →「条件付き書式」→「新しいルール」を選ぶ
- 「数式を使用して、書式設定するセルを決定」を選ぶ
- 数式欄に次の式を入力する
=MOD(ROW(), 2)=0
- 書式で好みの背景色を設定して「OK」をクリックする
ROW関数は行番号を返します。行番号を2で割った余りが0、つまり偶数行だけに色が付きます。奇数行に色を付けたい場合は =MOD(ROW(), 2)=1 に変えてください。
3行おきにしたい場合
除数を3にして
=MOD(ROW(), 3)=0とすれば、3行ごとに色が付きます。
パターン3: 時間の換算(分→時間と分)
作業ログなどで「合計125分」のようなデータを「2時間5分」に換算したい場面があります。MOD関数を使えば「分」の端数をすぐに取り出せます。
A1に「125」(分)が入っているとします。分の部分はこちらです。
=MOD(A1, 60)
結果は「5」分です。125を60で割った余りが5ということですね。
時間の部分はQUOTIENT関数で求めます。
=QUOTIENT(A1, 60)
結果は「2」時間。125分=2時間5分とすぐにわかります。
パターン4: 梱包数計算(箱数と端数)
商品が150個あり、1箱に12個ずつ梱包するケースを考えます。A1に「150」、B1に「12」が入っているとします。
箱数をQUOTIENTで求めます。
=QUOTIENT(A1, B1)
結果は「12」箱。余りの個数はMOD関数です。
=MOD(A1, B1)
結果は「6」個。つまり12箱+6個バラという答えがすぐに出ます。
検算のコツ
QUOTIENT(A,B) × B + MOD(A,B)の結果が元の数Aと一致すれば計算は合っています。上の例なら 12×12+6=150 で検算OKです。
パターン5: 日数から週と日を分ける
プロジェクトの残り日数が45日のとき、何週間と何日かを求めてみましょう。A1に「45」が入っているとします。
=QUOTIENT(A1, 7)
結果は「6」週間。余りの日数はMODで求めます。
=MOD(A1, 7)
結果は「3」日。45日=6週間3日です。定期処理のスケジューリングや、勤怠データの集計でも応用できます。
QUOTIENT関数と組み合わせて「商+余り」を同時に求める
MOD関数が真価を発揮するのは、QUOTIENT関数と組み合わせたときです。QUOTIENTで「商」、MODで「余り」を求めれば、割り算の結果を整数と端数に分けて管理できます。
この2つの関数には次の関係が成り立ちます。
数値 = QUOTIENT(数値, 除数) × 除数 + MOD(数値, 除数)
つまり「商×除数+余り=元の数値」という基本関係が常に成立します。この性質を使えば、計算結果の検算や在庫管理のバランスチェックが簡単にできます。
一方、=A1/B1 を直接使うと小数で返るため、「何個単位で何個余り」という業務的な表現には向きません。QUOTIENTとMODを組み合わせることで、人が読みやすい形にデータを整形できるのがポイントです。
MOD関数でよくあるエラーと対処法
#DIV/0! エラー
除数に0を指定すると発生します。
=MOD(10, 0)
これは割り算の基本ルールとして、0で割ることはできないためです。除数のセルが空欄の場合も0として扱われるので注意してください。
IFERROR関数で囲んでおくと、エラー表示を防げます。
=IFERROR(MOD(A1, B1), "除数を確認")
#VALUE! エラー
引数に数値として認識できない文字列が入っていると発生します。
=MOD("abc", 3)
セル参照先に文字列や記号が混入していないか確認してみてください。数値に見える文字列(例: 全角数字の「12」)が原因になることもあります。VALUE関数で数値に変換してから渡すと安全です。
=MOD(VALUE(A1), 3)
負の数を渡したときの注意点
MOD関数に負の数を渡すと、直感と異なる結果が返ることがあります。戻り値の符号は常に除数と同じになるためです。
具体的に見てみましょう。
| 数式 | 結果 | 解説 |
|---|---|---|
=MOD(7, 3) | 1 | 除数が正 → 結果も正 |
=MOD(-7, 3) | 2 | 除数が正 → 結果も正 |
=MOD(7, -3) | -2 | 除数が負 → 結果も負 |
2番目の例に注目してください。「-7÷3の余り」は手計算では-1ですが、MOD関数は除数と同じ正の値「2」を返します。これは内部でINT関数(負の無限大方向への切り捨て)を使っているためです。
ゼロ方向への切り捨てで余りを求めたい場合は、TRUNC関数を使って手動で計算できます。
=A1 - TRUNC(A1/B1) * B1
とはいえ、通常の業務で負の数の余りを扱う場面は多くありません。正の数だけを扱うなら、符号の違いを気にする必要はないので安心してください。
MOD関数と関連関数の使い分け
MOD関数に関連する「割り算・端数処理」の関数はいくつかあります。役割の違いを整理しておくと、場面に応じた選択がスムーズになります。
| 関数 | 役割 | 戻り値 | 主な用途 |
|---|---|---|---|
| MOD | 余りを返す | 割り算の余り | 偶数奇数判定・縞模様・時間換算 |
| QUOTIENT | 商(整数部分)を返す | 整数 | 梱包数・週数の計算 |
| INT | 負の無限大方向へ切り捨て | 整数 | 数値の切り捨て(小さい方へ) |
| TRUNC | ゼロ方向へ切り捨て | 整数または小数 | 小数点以下の切り捨て |
MODとQUOTIENTの違い
QUOTIENTが「商だけ」を返すのに対し、MODは「余りだけ」を返します。両者はセットで使うことが多く、在庫管理や時間計算で特に相性が良い関数です。
INTとTRUNCの違い
どちらも切り捨て関数ですが、負の数の扱いが違います。INT(-2.5) は -3 を返し、TRUNC(-2.5) は -2 を返します。MOD関数は内部でINTを使っているため、負の数の余り計算で直感とずれることがあるわけです。
正の数だけを扱う場合は、INTもTRUNCも同じ結果になるので気にしなくて大丈夫です。
まとめ
MOD関数は、割り算の余り(剰余)を求めるシンプルな関数です。ポイントを整理します。
- 構文は
=MOD(数値, 除数)の2引数だけ - 偶数・奇数の判定や条件付き書式の縞模様に応用できる
- QUOTIENT関数と組み合わせれば「商+余り」を分けて管理できる
- 除数が0のときの #DIV/0! エラーにはIFERRORで対策
- 負の数では戻り値の符号が除数と同じになる点に注意
- INT関数・TRUNC関数との違いを押さえておくとミスが減る
在庫の端数管理や時間換算など、「割り切れない端数をどうするか」という場面でMOD関数は活躍します。QUOTIENT関数とあわせて使いこなしてみてください。
関数一覧
Excel関数の一覧は以下の記事から確認できます。
エラー値まとめ
Excelのエラー値の種類と対処方法は、こちらの記事にまとめています。
