MOD関数:剰余を取得する
MOD 関数は Excel で用意されている関数の一つで、引数に指定した数値を除算したときの剰余を取得します。ここでは Excel における MOD 関数の使い方について解説します。
※ 除算した商を求めるには QUOTIENT 関数を使用します。詳しくは「QUOTIENT関数:除算した商の整数部分を取得する」を参照されてください。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007
(Last modified: )
MOD関数の定義
MOD
関数は対象の数値を指定した数値で除算した場合の剰余を取得します。
1 番目の引数には対象となる数値または数値が含まれるセルを指定します。 2 番目の引数に除数を表す数値または数値が含まれるセルを指定します。
例えば対象の数値が 30 、除数が 7 だった場合は 30 ÷ 7 の剰余として 2 を返します。除数が 8 だった場合は 30 ÷ 8 の剰余として 6 を返します。
=MOD(30,7) --> 2 =MOD(30,8) --> 6
対象の数値や除数が負の値の場合
剰余を求める対象の数値が負の値だったり、除数が負の値の場合、結果は少し分かりにくい結果となります。次の例を見てください。
=MOD(30,-7) --> -5 =MOD(-30,7) --> 5
どちらの結果もなぜこの結果になるのだろうと思われるかと思います。
MOD
関数を使って得られる結果は INT
関数を使って次のように定義されています。
MOD(n, d) = n - d*INT(n/d)
先ほどの最初の例を INT
関数を使った定義に従って計算すると次のようになります。
MOD(30, -7) = 30 - (-7)*INT(30/-7) = 30 - (-7)*(-5) = 30 - 35 = -5
結果は -5 となりました。
今度は 2 番目の例を INT
関数を使った定義に従って計算すると次のようになります。
MOD(-30, 7) = -30 - 7*INT(-30/7) = -30 - 7*(-5) = -30 + 35 = 5
結果は 5 となりました。
ちなみにどちらの正の数だった場合に INT
関数を使った定義に従って計算すると次のようになります。
MOD(30, 7) = 30 - 7*INT(30/7) = 30 - 7*4 = 30 - 28 = 2
結果は 2 となりました。
いずれの場合も MOD
関数の結果として得られた値と一致しました。このように MOD
関数の引数のどちらかが負の値の場合は、少し分かりくい結果となることがありますのでご注意ください。
※ INT
関数の使い方については「INT関数:小数点以下を切り捨てる」を参照されてください。
MOD関数の使い方
それでは実際に MOD
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
取得した剰余を表示する D3 セルを選択し、次のように入力しました。 MOD
関数の 1 番目の引数に、対象の数値が含まれる B3 セルを指定します。また MOD
関数の 2 番目の引数に、除算を行う除数が含まれる C3 セルを指定します。
=MOD(B3,C3)
Enter
キーを押すと、 D3 セルには次のように表示されます。
B3 セルに入力されている数値を C3 セルに入力されている数値で除算した剰余を D3 セルに表示しました。今回は対象の数値が 17 、除数が 3 でしたので剰余は 2 が返されました。
同じように D4 セルから D7 セルには MOD
関数を入力すると次のように表示されました。
Excel では 0
で除算を行うと #DIV/0!
エラーが発生しますのでご注意ください。
MOD関数の便利な利用方法
MOD
関数の便利な利用方法を下記の記事で紹介しています。
・1行毎または1列毎に色を設定する(条件付き書式,MOD,ROW,COLUMN)
・和暦および西暦から干支を取得する(CHOOSE,MOD,DATEVALUE,YEAR)
・アルファベット、丸文字、ローマ数字で連番を表示する(CHAR,CODE,ROMAN,ROW)
-- --
Excel における MOD 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。