MOD関数の使い方|割り算の剰余(あまり)を求める

Excel(エクセル)MOD関数の使い方||割り算の剰余(あまり)を求める

Excel(エクセル)MOD関数の使い方||割り算の剰余(あまり)を求める

使用関数:MOD、IF、ROW

Excel関数一覧

MOD関数とは?

MODは正式にはモデュラス(Modulus)と読みますが「モッド」と略して読んだ方が分かりやすいと思います。
モデュラスは係数(2つの異なる整数の差を余りなしに割り切ることができる整数)のことで、MOD関数は割り算した「あまり」の数値を返します。どんな使い道があるの?と思うかもしれませんが、これが意外にもいろいろな場面で役立つ関数なのです。

Excel(エクセル)の「数式」タブ→「関数ライブラリ」→「数学/三角」の中にMOD関数はあります。
「数式」タブ→「関数ライブラリ」→「数学/三角」→MOD関数

MOD関数の引数

MOD関数の引数ダイアログボックスを開いてみると、引数が「数値」と「除数」になっています。
MOD関数の引数ダイアログボックス

割り算は「除算」ともいい、「数値(被除数ともいう)」が「割られる数」、「除数」が「割る数」です。数値を除数で割った答えを「商」といい、割り切れずに余った値を「剰余」といいます。MODはこの「剰余=あまり」を求める関数です。
MOD関数の構成

MOD関数で余りを計算する

実際に簡単な割り算を実行してみます。
以下の表で「数値」に入れる「割られる数」をA2セルの31、「除数」に入れる「割る数」をB2セルの6で計算します。
MOD関数で計算する
剰余(割り算のあまり)のセルに「1」と入りました。
剰余(割り算のあまり)のセルに「1」

「除数」0で割り算するとエラー

データベースで時として「0」が除数(割る数)のセルに入っていることがあり、「0」で割り算するとエラー「#DIV/0!」が返されます。
「0」で割り算するとエラー「#DIV/0!」
もし、除数に「0」が入り込む可能性があるなら、予めIF関数にMOD関数を入れ子して#DIV/0を非表示にする処置をしておきましょう。
IF関数にMOD関数を入れ子してエラーの処置

MOD関数とROW関数で奇数の行と偶数の行を分ける

MOD関数の使い道の一つに、行番号や連番を利用して奇数の行と偶数の行を分別できるというのがあります。
これを応用して、以下の名簿から順繰りにチーム分けをしてみます。
MOD関数でチーム分けする名簿

「チーム」の最初のセルを選択し、MOD関数の引数「数値」に行番号を取得するROW関数を「ROW()」と指定し、「除数」には「2」と数値を入力します。
MOD関数の引数「数値」に行番号を取得するROW関数を、「除数」に2を入力

MOD関数で行番号を2で割り算すれば、割り切れたら「0」が返り、割り切れなければ「1」が返ります。
計算式は「=MOD(ROW(),2)」です。
MOD関数で行番号を2で割り算

「チーム」列のセルすべてにオートフィルコピーすると、「0」「1」が交互に入りました。
「チーム」列のセルすべてにオートフィルコピーすると「0」「1」が交互に入った

「1」と入ったセルはA列の番号が奇数で「2」で割り切れずに「1」が余ったということ、「0」と入ったセルはA列の番号が偶数で「2」で割り切れたので「0」が返ったということです。

MOD関数の応用で、IF関数にネストしてチーム分けする

上記のMOD関数の計算式から「=」を除いた「MOD(ROW(),2」をIF関数の「論理式」に入力、後に続けて「=0」と付け加えます。
「真の場合」に「”Aチーム”」、「偽の場合」に「”Bチーム”」と入力。
IF関数にMOD関数を入れ子して、Aチーム・Bチームを振り分ける

最終的な数式は「=IF(MOD(ROW(),2)=0,"Aチーム","Bチーム"))」となります。「もし、行番号を2で割った余りが0だったらAチームと表示し、余りが1だったらBチームと表示する」
フィルコピーし直せば、交互のチーム分けが完了です。
分かりやすいように「条件付き書式」でフォントの色を変えておきました。
IF関数にとMOD関数の組み合わせでチーム分け完了。条件付き書式でフォント色を指定

MOD関数で繰り返し連番を振る

「1,2,3」「1,2,3」「1,2,3」というように順番の数字を繰り返し振っていきます。前章で解説したチーム分けは2チームですが、3チーム以上に分ける場合にも応用できます。
前章で使ったのと同じ名簿で、「チームNo.」の最初のセルを選択し、MOD関数の引数「数値」に行番号を取得するROW関数を「ROW()-2」と指定します。「除数」にはチーム分けしたい数値(ここでは「5」としましたが、「3」以上の数なら操作は同じです)を入力します。
MOD関数の「数値」にROW()-2、「除数」にチーム分けの数を指定

5チームに分けたい時の計算式は「=MOD(ROW()-2,5)」です。
MOD関数で5チームに分けたい時の計算式
フィルコピーすれば、5までの数字が順番に繰り返されます。
5までの数字が順番に繰り返された
「3」チーム分け、「4」チーム分け、「8」チーム分けでも同じ。
MOD関数で「3」チーム分け、「4」チーム分け、「8」チーム分け

計算式に「”」で文字列を括って「&」でつなぐことで、分かりやすい表示にできます。
MOD関数の計算式に「"」で文字列を括って「&」でつないだ名簿

MOD関数とQUOTIENT関数を組合せて金種表を作る

従業員の給与支払いで紙幣と硬貨が何枚必要かを一覧にした金種表を作るのに、MOD関数を使います。金種表の作り方はQUOTIENT関数の記事の中で解説しています。

QUOTIENT関数の使い方|割り算の商を整数で計算
QUOTIENT関数は除算(割り算)の商を整数で求めます。QUOTIENT関数の使い方、分数計算との関連と「割られる数」「割る数」の指定方法、応用としてQUOTIENT関数とMOD関数を組合せて金種表を作る方法を図解しています。
タイトルとURLをコピーしました