excel MOD 関数:余りを取得する
はじめに
excelの MOD 関数の使い方を紹介します。
MOD 関数は割り算した結果の余りを求めます。
年齢の何ヵ月を取得したいときに使用します。
商のみを取得するには「INT 関数」を使用します。
年内の月数を取得するには「DATEDIF 関数」を使用します。
構文
MOD(数値, 除数)
数値を除数で割った余りを求めます。
excel引数「数値」 数値を指定します。
引数「除数」 引数「数値」を割る値を指定します。
使用例
セル「B2」をセル「C2」で割った余りを取得する。
=MOD(B2,C2)
"excel2021507-403-1"
除数を負の値にして余りを取得する。
=MOD(B2,C2)
"excel2021507-403-2"
除数に小数を指定して余りを取得する。
=MOD(B2,C2)
"excel2021507-403-3"
解説
5 / 3なら商が 1 で余りが 2 になります。
引数「除数」が正の値なら結果も正に、負の値なら結果も負になります。
5 / -3の余りが -1 になる理由は「MOD 関数」が次のような式になっているためです。
= 数値 - 除数 * INT(数値 / 除数)
この式に実際の値を当てはめると次のようになります。
= 5 - -3 * INT(5 / -3)
= 5 + 3 * -2
= 5 - 6
= -1
引数「除数」に 0 を指定すると、エラー#DIV/0!になります。
年齢の何ヵ月を求める
年齢の何か月を求めるために、年に 12 をかけて月として扱っています。終了月数-開始月数で経過した月数を求めます。それを「MOD 関数」で 12 で割った余りが年齢の何か月になります。
=MOD((YEAR(C3)*12+MONTH(C3))-(YEAR(B3)*12+MONTH(B3)),12)
「DATEDIF 関数」を使えば簡単に求められます。
=DATEDIF(B3,C3,"YM")
"excel2021507-403-4"