このページの本文へ移動
  1. ホーム >
  2. FMVサポート >
  3. Q&A・パソコン活用情報をコーナーから探す >
  4. エクセル関数塾 >
  5. 規則的にセールの日を表示するには?MOD関数の余りの数を工夫してみよう

エクセル関数塾

第32回規則的にセールの日を表示するには?MOD関数の余りの数を工夫してみよう

塾長!いつも我がスーパーでお買い上げありがとうございます。最近は塾長の教えのおかげで日々の売上集計などにも積極的に関数を利用しております。

最近、新しい試みで「偶数日」と「5日ごと」にセールやポイント付与などをしています。その一覧を作りたいのですが、文字をコピーするとめんどうでセル位置を間違ってしまうこともあるのです。関数で簡単にセール日を表示することはできますでしょうか?

わしが、エクセル関数塾塾長!関 数之進(せきかずのしん)である!

おぉ、店長!いつもセール日を楽しみにしているぞ!?いやいや、いつも便利に買い物をさせてもらっておるぞ。
さて、表を見せてごらん?この一覧なら「MOD関数」を使って余りの数を求め、セール日を簡単に表示できるぞ。関数もだいぶ使えるようになってきたようなので、IF関数とMOD関数を組み合わせた技を極意書を使って説明しよう!

関数塾 極意書

MOD関数で規則的に文字を表示してみよう

エクセルでは、MOD(モッド/モジュラス)関数を使って、「剰余(余り)」の数を求めることができます。

MOD関数の引数で数値と除数を指定して求めた「余り」の規則性を活かせば、IF関数などを組み合わせて特定の文字を表示できるなど、単純に「余り」の数だけ求める以外にも応用できます。

ここでは、MOD関数の基本的な書式と機能について紹介します。

MOD関数の書式

MOD関数は次のように入力します。

=MOD(数値,除数)

MOD関数は、[関数の挿入]ボタンをクリックして関数の分類]で[数学/三角]を選択すると、関数が簡単に入力できます。 また、Excel2007と2010では関数ライブラリからも選択できます。

今回の例では、C列に偶数日セール、D列にポイント5倍の日を表示するようになっています。日付のみ入力された数値を2で割った余りの数が「0」の場合は「偶数日セール」、5で割った余りが「0」の場合は「ポイント5倍」と入力されるように、IF関数と共に次のように入力してみましょう。

IF関数とMOD関数を入力する、セルC4をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ

IF関数とMOD関数を入力する、セルC4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。

次へ

[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックしている画面イメージ

[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックします。

次へ

[論理式]に「MOD(A4,2)=0」、[真の場合]に「"偶数日セール"」、[偽の場合]に「""」を入力し、[OK]ボタンをクリックしている画面イメージ

[論理式]に「MOD(A4,2)=0」、[真の場合]に「"偶数日セール"」、[偽の場合]に「""」を入力し、[OK]ボタンをクリックします。

次へ

式を下にコピーした画面イメージ

式を下にコピーします。偶数日セールの日が求められました。

次へ

[論理式]に「MOD(A4,5)=0」、[真の場合]に「ポイント5倍」を指定し、[偽の場合]に「""」を入力し、[OK]ボタンをクリックしている画面イメージ

同じように、5倍ポイントセールの日を求めます。[論理式]に「MOD(A4,5)=0」、[真の場合]に「ポイント5倍」を指定し、[偽の場合]に「""」を入力し、[OK]ボタンをクリックします。

次へ

関数の式を月末までコピーした画面イメージ

関数の式を月末までコピーします。

ステップアップ:日付をMOD関数で利用するポイント

エクセルでは、「2012/11/1」のような形で入力したセルの値は、実は表示とは違った「シリアル値」で管理されています。セルに記入した日付をMOD関数で利用する場合は次のような点に気をつけてください。

例えば、「2012/11/1」はシリアル値で「41214」です。そのセルを利用して「MOD関数」で偶数日を求めようとしてもシリアル値は「偶数」なので次のように表示されてしまいます。

2012/11/1 偶数日セール
2012/11/2  
2012/11/3 偶数日セール

そこで、日付を利用する場合は、あえてシリアル値にせずに「1」、「2」……などの単純な数値を入力してMOD関数で剰余を求めれば、式も結果もわかりやすくなります。

MOD関数を入力する、セルB4をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ

MOD関数を入力する、セルB4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。

次へ

[関数の分類]で「数学/三角」を選択し、[関数名]で「MOD」を選択して、[OK]ボタンをクリックしている画面イメージ

[関数の分類]で「数学/三角」を選択し、[関数名]で「MOD」を選択して、[OK]ボタンをクリックします。

次へ

[数値]に「A4」、[除数]に「2」を入力し、[OK]ボタンをクリックしている画面イメージ

[数値]に「A4」、[除数]に「2」を入力し、[OK]ボタンをクリックします。

次へ

セルB33まで式をコピーしている画面イメージ

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

次へ

C列に偶数日セール日を表示させます。B列の値が0の場合は「偶数日セール」と表示されるように、次の式を入力し、セルC33までコピーしている画面イメージ

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

次へ

B列にはシリアル値に関係なく余りが表示され、その値を基にセール情報を表示されている画面イメージ

B列にはシリアル値に関係なく余りが表示され、その値を基にセール情報を表示できました。

MOD関数は、剰余を求める関数です。そのまま利用すると用途が限られてしまいますが、規則的な日付や数値とIF関数などと共に利用すれば応用範囲が広がります。日付を利用する場合は、シリアル値よりも、単純な数値を引数にした方が式も結果もわかりやすくなるでしょう。

問題

次のようなトレーニング日一覧を作成してみましょう。
次の表は、トレーニング日の一覧です。3日ごと、日曜日ごとのトレーニング日を表示させます。

トレーニング日一覧の画面イメージ

※ 以下の内容はパソコンをご覧になっている方を対象としています。
サンプルをご利用になる場合は、パソコンにて本ページをご覧ください。

問題に必要なエクセルのファイルをダウンロードしてください。
ダウンロードするには、下記のファイル名を右クリックして、メニューから「対象をファイルに保存」を選択してください。

mod-sample.xls(26KB)

本講座では、ファイルの保存先を《ドキュメント》としています。
ダウンロード方法がわからない場合は、下記ページをご参照ください。

答えを見る