ExcelのMOD関数の使い方|余りの計算から偶奇判定・1行おきの色付けまで徹底解説
「隔週で何かを処理したい」「1行おきに色をつけたい」「偶数行・奇数行を判定したい」——こういった周期的な処理に必要なのがMOD関数です。割り算の「余り」を返すだけのシンプルな関数ですが、IF関数・条件付き書式・ROW関数と組み合わせると、実務で非常に強力なツールになります。この記事では基本から実務活用例まで、すべて実例付きで解説します。
MOD関数とは?
MOD関数は、割り算の余り(剰余)を求める関数です。「MOD」は「Modulo(モジュロ)」の略で、数学の剰余演算に対応しています。
=MOD(数値, 除数)
| 引数 | 説明 |
|---|---|
| 数値 | 余りを求めたい数(割られる数) |
| 除数 | 割る数(0以外を指定) |
例:10 ÷ 3 = 3 余り 1 → =MOD(10, 3) の結果は 1
=MOD(10, 3) → 1
=MOD(15, 4) → 3
=MOD(20, 6) → 2
=MOD(9, 3) → 0(割り切れる場合は0)
実務活用例①:偶数・奇数の判定(IF関数と組み合わせ)
数値を2で割った余りが 0なら偶数、1なら奇数という性質を使います。
=IF(MOD(A1, 2) = 0, "偶数", "奇数")
| A1の値 | MOD(A1,2) | 結果 |
|---|---|---|
| 4 | 0 | 偶数 |
| 7 | 1 | 奇数 |
| 10 | 0 | 偶数 |
注文番号・社員番号などの数値が偶数か奇数かで処理を分けるときに使えます。
実務活用例②:1行おきにセルの色を付ける(条件付き書式)
表を見やすくするために1行おきに色をつける方法です。条件付き書式のルールにMOD関数を使います。
- 色を付けたい範囲を選択する(例: A1:D100)
- 「ホーム」タブ →「条件付き書式」→「新しいルール」をクリック
- 「数式を使用して、書式設定するセルを決定」を選択
- 以下の数式を入力する
=MOD(ROW(), 2) = 0
これで偶数行(2・4・6…行目)だけに色が適用されます。奇数行に色をつけたい場合は =MOD(ROW(), 2) = 1 にします。
3行おきに色をつけたい場合は除数を3にします:
=MOD(ROW(), 3) = 0
実務活用例③:曜日の判定・周期計算
日付のシリアル値を7で割った余りを使うと、曜日に関連した周期判定ができます。
今日が何曜日サイクルか判定する
=MOD(TODAY(), 7)
Excelの日付は数値(シリアル値)で管理されているため、7で割った余りが一定のパターンになります。
N日ごとの定期タスクに当てはまるか判定する
=IF(MOD(A1 - DATE(2025,1,1), 7) = 0, "タスクあり", "")
A1の日付が基準日(2025/1/1)から7日おきの日かどうかを判定する例です。定期的な業務スケジュール管理に使えます。
実務活用例④:データのグループ分け
リストを均等にグループ(チーム)に割り振るときに使えます。
=MOD(ROW(A1) - 1, 3) + 1
| 行番号 | 計算結果 | グループ |
|---|---|---|
| 1行目 | MOD(0, 3)+1 = 1 | グループ1 |
| 2行目 | MOD(1, 3)+1 = 2 | グループ2 |
| 3行目 | MOD(2, 3)+1 = 3 | グループ3 |
| 4行目 | MOD(3, 3)+1 = 1 | グループ1(繰り返し) |
社員リストを班・グループに自動で割り振りたいときに便利です。4グループに分けたい場合は除数を4に変えます。
実務活用例⑤:特定の日数おきのスケジュール管理
「3日おきに実施」「5日おきに点検」のような定期タスクの該当日かどうかを自動判定できます。
=IF(MOD(DATEDIF(開始日, A1, "D"), 3) = 0, "実施日", "")
開始日からA1の日付までの日数が3の倍数(余り0)のとき「実施日」と表示します。
負の数を使った場合の動作
MOD関数に負の数を使うと、結果の符号は除数(割る数)に合わせられます。
| 数式 | 結果 | 理由 |
|---|---|---|
| =MOD(-10, 3) | 2 | 除数(3)が正 → 結果は正 |
| =MOD(10, -3) | -2 | 除数(-3)が負 → 結果は負 |
| =MOD(-10, -3) | -1 | 除数(-3)が負 → 結果は負 |
MOD関数・INT関数・QUOTIENT関数の違い
| 関数 | 返す値 | 例(10÷3) |
|---|---|---|
| MOD(10, 3) | 余り | 1 |
| INT(10/3) | 商(切り捨て) | 3 |
| QUOTIENT(10, 3) | 商(整数部分) | 3 |
「余り」が必要ならMOD、「商」が必要ならQUOTIENTまたはINT関数を使います。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
| #DIV/0! | 除数が 0 になっている | 除数に 0 以外の値を指定する。IFERRORで回避も可 |
| #VALUE! | 引数にテキストや空白が入っている | 引数が数値になっているか確認する |
=IFERROR(MOD(A1, B1), "エラー")
IFERRORと組み合わせることで、エラー時に任意のテキストを表示できます。
まとめ
MOD関数の活用シーンをまとめます。
- 偶数・奇数の判定:=IF(MOD(A1, 2)=0, “偶数”, “奇数”)
- 1行おきの色付け:条件付き書式に =MOD(ROW(), 2)=0
- 定期タスクの判定:DATEDIF + MODで「N日おき」を自動判定
- グループ分け:=MOD(ROW(A1)-1, グループ数)+1
- 曜日・周期計算:日付シリアル値を7で割った余りを活用
MOD関数は「余りを求める」だけのシンプルな関数ですが、IF・ROW・条件付き書式・DATEDIF関数と組み合わせることで、実務での周期処理・グループ分け・自動色分けなど幅広い場面に活用できます。まずは偶奇判定と1行おきの色付けから試してみてください。