13
MOD関数の余りの数を工夫してみよう
- 365
- web
- 2021
- 2019
- 2016
- 2013
- 2011
- 2010
- 2007
- Starter

エクセルでは、MOD(モッド/モジュラス)関数を使って、「剰余(余り)」の数を求めることができます。奇数・偶数の判定など便利な使い方をマスターしましょう!
MOD関数で規則的に文字を表示してみよう
エクセルでは、MOD(モッド/モジュラス)関数を使って、「剰余(余り)」の数を求めることができます。
MOD関数の引数で数値と除数を指定して求めた「余り」の規則性を活かせば、IF関数などを組み合わせて特定の文字を表示できるなど、単純に「余り」の数だけ求める以外にも応用できます。
ここでは、MOD関数の基本的な書式と機能について紹介します。
MOD関数の書式
MOD関数は次のように入力します。
=MOD(数値,除数)
MOD関数は、[関数の挿入]ボタンをクリックして関数の分類]で[数学/三角]を選択すると、関数が簡単に入力できます。 また、関数ライブラリからも選択できます。
今回の例では、C列に偶数日セール、D列にポイント5倍の日を表示するようになっています。日付のみ入力された数値を2で割った余りの数が「0」の場合は「偶数日セール」、5で割った余りが「0」の場合は「ポイント5倍」と入力されるように、IF関数と共に次のように入力してみましょう。

1IF関数とMOD関数を入力する、セルC4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case13_02.png)
2[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックします。
![[論理式]に「MOD(A4,2)=0」、[真の場合]に「"偶数日セール"」、[偽の場合]に「""」を入力し、[OK]ボタンをクリックしている画面イメージ](images/case13_03.png)
3[論理式]に「MOD(A4,2)=0」、[真の場合]に「"偶数日セール"」、[偽の場合]に「""」を入力し、[OK]ボタンをクリックします。

4式を下にコピーします。偶数日セールの日が求められました。
![[論理式]に「MOD(A4,5)=0」、[真の場合]に「ポイント5倍」を指定し、[偽の場合]に「""」を入力し、[OK]ボタンをクリックしている](images/case13_05.png)
5同じように、5倍ポイントセールの日を求めます。[論理式]に「MOD(A4,5)=0」、[真の場合]に「"ポイント5倍"」を指定し、[偽の場合]に「""」を入力し、[OK]ボタンをクリックします。

6関数の式を月末までコピーします。
ステップアップ:日付をMOD関数で利用するポイント
エクセルでは、「2022/10/1」のような形で入力したセルの値は、実は表示とは違った「シリアル値」で管理されています。セルに記入した日付をMOD関数で利用する場合は次のような点に気をつけてください。
例えば、「2022/10/1」はシリアル値で「44835」です。そのセルを利用して「MOD関数」で偶数日を求めようとしてもシリアル値は「偶数」なので次のように表示されてしまいます。
2022/10/1 | 偶数日セール |
2022/10/2 | |
2022/10/3 | 偶数日セール |
そこで、日付を利用する場合は、あえてシリアル値にせずに「1」、「2」……などの単純な数値を入力してMOD関数で剰余を求めれば、式も結果もわかりやすくなります。
![MOD関数を入力する、セルB4をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ](images/case13_07.png)
1MOD関数を入力する、セルB4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「数学/三角」を選択し、[関数名]で「MOD」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case13_08.png)
2[関数の分類]で「数学/三角」を選択し、[関数名]で「MOD」を選択して、[OK]ボタンをクリックします。
![[数値]に「A4」、[除数]に「2」を入力し、[OK]ボタンをクリックしている画面イメージ](images/case13_09.png)
3[数値]に「A4」、[除数]に「2」を入力し、[OK]ボタンをクリックします。

4セルB33まで式をコピーします。

5C列に偶数日セール日を表示させます。B列の値が0の場合は「偶数日セール」と表示されるように、次の式を入力し、セルC33までコピーします。
=IF(B4=0,"偶数日セール","")

6B列にはシリアル値に関係なく余りが表示され、その値を基にセール情報を表示できました。
MOD関数は、剰余を求める関数です。そのまま利用すると用途が限られてしまいますが、規則的な日付や数値とIF関数などと共に利用すれば応用範囲が広がります。日付を利用する場合は、シリアル値よりも、単純な数値を引数にした方が式も結果もわかりやすくなるでしょう。
ステップアップ2:ISODD/ISEVEN関数を使って奇数・偶数の判定する
MOD関数を使った、偶数・奇数を求める方法から便利な使い方をご紹介しました。
ここからは偶数か奇数を判定するISODD関数とISEVEN関数をご紹介いたします。
=ISODD(数値)
数値が奇数のとき TRUE 、偶数のとき FALSE を返します。
=ISEVEN(数値)
数値が偶数のとき TRUE 、奇数のとき FALSE を返します。
奇数か偶数を判定するための数値をA列に1から連番で入力します。「=ROW(A1)」と入力して、式をA11までコピーします。
![セルB2をアクティブにし、[数式]タブの[関数の挿入]ボタンをクリックしている画面イメージ](images/case13_13.png)
1セルB2をアクティブにして、[数式]タブの[関数の挿入]ボタンをクリックします。
![[関数の分類]で「情報」を選択し、[関数名]で「ISEVEN」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case13_14.png)
2[関数の分類]で「情報」を選択し、[関数名]で「ISEVEN」を選択して、[OK]ボタンをクリックします。
![[文字列]に「A2」と入力し、[OK]ボタンをクリックしている画面イメージ](images/case13_15.png)
3[文字列]に「A2」と入力し、[OK]ボタンをクリックします。

4セルB11まで式をコピーします。偶数は TRUE、奇数は FALSEが表示されます。
B列はISEVEN関数を使って判定しました。同じようにセルD2に「=ISODD(A2)」と入力し、式をD11までコピーします。奇数は TRUE、偶数は FALSEが表示されます。
ISODD関数は数値が奇数のときに、ISEVEN関数は数値が偶数のときに TRUE を返す関数です。式が長く複雑になってしまうときなどに、専用の関数を使うことで、すっきり分かりやすくすることができます。
この記事をシェアする

人気記事
エクセル関数
1. 数学・三角関数
2. 論理関数
3. データベース関数
4. 検索・行列関数
5. 文字列関数
- ASC関数
- CONCATENATE関数
- CONCAT関数
- JIS関数
- LEFT / RIGHT関数
- LOWER関数
- MID関数
- PROPER関数
- PHONETIC関数
- REPT関数
- SUBSTITUTE関数
- TEXT関数
- TEXTJOIN関数
- TRIM関数
- UPPER関数
6. 統計関数
7. 日付と時刻
- DATE関数
- DATEDIF関数
- DATESTRING関数
- DATEVALUE関数
- EDATE関数
- EOMONTH関数
- HOUR / MINUTE関数
- MONTH関数
- TODAY関数
- NOW関数
- WEEKDAY関数
- WORKDAY関数
- WORKDAY.INTL 関数
- YEAR 関数
8. 情報
9. 財務
