MOD(モデュラス)関数は、割り算の余りを算出してくれる関数です。

【構文】

=MOD(数値, 除数)

【使用例】

  • =MOD(7, 3)
    数値「7」を「3」で割ったときの余り、出力される数値は「1」となります。

この関数名は「MIN関数」を「ミン関数」と読まさずに「ミニマム関数」と読ませるのと一緒で、「モッド関数」とは読ませないようです。そのため「モデュラス」って読み方になります。「モド」・「モデュロ」、いろいろ読み方がありますが、コンピューターの処理に発音は不要なので、伝わりさえすれば関数名なんて何でもいいでしょう。

関数説明

MOD関数の説明は、QUOTIENT関数の続きという枠組みで説明します。

QUOTIENT関数は商を求める関数でした。MOD関数は余りを求めてくれます。単純な割り算で小数点を使わない計算のときに便利です。

算数の書き方をすると、次のようになります。

1574÷7=224…6

QUOTIENT関数は商の部分、224を出力しました。続いて、MOD関数で余りを求めてみましょう。

MOD関数は、[数式]タブ→関数ライブラリ[数学/三角]の中にあります。

引数には、数値と除数をセル参照で求めました。

キャンディーの余りは「6」となりました。

単純な割り算は割り切れない場合、小数点表示として一つのセルに計算を完結してしまいます。

QUOTIENT関数同様、物理的なものを計算するときにMOD関数でいくら余るのか? こちらを計算するときに便利です。

余りを出す、MOD関数の説明は以上となります。

さえちゃんのMOD関数ワンポイントアドバイス

余りってプログラミングの世界ではよく使われるんですよね。例えば、WEEKDAY関数なんかも、この余りを利用して曜日を識別しているんですよ。

説明の前にシリアル値についてすこし確認します。

1900年1月1日からオートフィルで日付を求めると、1900年2月29日が出現します。

実はこれ、現在の日付ルールであるグレゴリオ暦の場合は、100で割り切れる西暦は閏年ではないというルールがあるので、存在しない日付となっております。

そのため、WEEKDAY関数は1900年2月末までの出力値は、曜日がずれていることになります。第2引数を省略すると、日曜日はじまりとなりますからね。

本来であれば、1900年1月1日は月曜日なので「2」が出力されないといけません。けれども、あえてこのずれを解消すべく、1900年1月1日を「1」と出力しています。

1900年1月1日~2月28日まで曜日を1つずらすことで、1900年3月1日は無事に木曜日となり、ここから2100年2月28日まで、曜日がしっかり合うように設計されています。

話はMOD関数に戻り、WEEKDAY関数での出力値はMOD関数でも代用が可能です。1900年1月1日のシリアル値は「1」となるため、数式では

1÷7=0・・・1

となります。

あまりは「1」が出力され、WEEKDAY関数と同じ結果となるわけです。本来は月曜日であるけれども、シリアル値「1」を「7」で割っているので、WEEKDAY関数と同じ結果となりますよね。

オートフィルしてみましょう。

除数が7のため、余りのない7の倍数は0となりますが、7が0になっても異なる数字が吐き出されるので、条件分岐で曜日を出力することは可能です。

そのため、WEEKDAY関数はMOD関数でも代用することができます。

このように、余りはデータの識別をする目的で使われます。難しい話になると、チェックディジットにも余りが使われているんですよ。興味があったら調べてみてくださいね。

関数ステータス

関数ライブラリの種類

数学/三角

数式の構文

=MOD(数値, 除数)

引数ダイアログ

Microsoft 公式サポート

MOD関数 - Office サポート