概要
基準日の直近の締日を表示する方法を解説します。基準日がその月の締日を過ぎている場合は、翌月の締日を表示します。
締日を求めるには、IF関数とDATE関数を組み合わせて数式を作成します。サンプルファイルでは締日が日付の値だけ入っているので、YEAR、MONTH、およびDAY関数も利用します。
関数 | 書式 | 説明 |
---|---|---|
IF | IF(論理式,真の場合,偽の場合) |
論理論理式の結果に応じて、指定された値を返します。ここでは、基準日が締日以前なのかそれより後なのかによって処理を分岐します。
|
DATE | DATE(年,月,日) | 締日の日付を指定する。ここではそれぞれの引数を以下のように当てはめます。
|
YEAR | YEAR(シリアル値) | シリアル値を年に変換した結果(1900~9999年の範囲の整数)を返します。 |
MONTH | MONTH(シリアル値) | シリアル値に対応する月を1~12までの整数で返します。 |
DAY | DAY(シリアル値) | シリアル値に対応する日を1~31までの整数で返します。ここでは、締日の日付を指定する場合に利用します。 |
本稿では、基準日から次の締日を求める方法を紹介します。
操作手順
- サンプルファイル「sample.xls」を開きます。
- 締日を求めたいセル(E2)を選択して、[関数の挿入]ボタンをクリックします。
- [関数の挿入]ダイアログボックスでIF関数を検索して、[OK]ボタンをクリックします。
- 以下の図のように数式を指定します。
- 論理式:DAY(A2)<=DAY(D2)
- 真の場合:DATE(YEAR(A2),MONTH(A2),D2)
- 偽の場合:DATE(A2),MONTH(A2)+1,D2)
- 数式結果がシリアル値になるので、セルの書式設定で日付の表示形式に変更します。
- 下のセルまで数式コピーします。
E2セルの数式は以下の通りです。
=IF(DAY(A2)<=DAY(D2),DATE(YEAR(A2),MONTH(A2),D2),DATE(YEAR(A2),MONTH(A2)+1,D2))