このサイト・インストラクターのネタ帳で
「エクセル 1年前の日付表示 関数」
といった検索が行われていることがあります。
Excelで、何らかの日付データがあるときに、その1年前の日付を表示する方法を探している方による検索です。
この手の日付計算は、元の日付データを年・月・日にバラバラにして、前後を求めたい部分に加算・減算を行うのが基本です。
n年前の日付を表示するサンプル数式
例えば1年前の日付を計算するのなら、元の日付データを年・月・日に分解して、年から「1」をマイナスします。※A1セルに日付が入力されているときにB1セルにその1年前の日付を表示する例
B1セルに
「=DATE(YEAR(A1)-1, MONTH(A1), DAY(A1))」
という数式を入力する
サンプル数式の解説
A1セルに入力されている元の日付の
年は、YEAR関数「YEAR(A1)」で
月は、MONTH関数「MONTH(A1)」で
日は、DAY関数「DAY(A1)」で
それぞれ取得できます。
今回のケースでは1年前の日付を求めたいので、年から「1」をマイナスしています。
それがDATE関数の第1引数
「YEAR(A1)-1」
です。
もしも、1年前ではなく、
3年前の日付を求めたいのならDATE関数の第1引数を
「YEAR(A1)-3」にして
「=DATE(YEAR(A1)-3, MONTH(A1), DAY(A1))」
10年前の日付ならばDATE関数の第1引数を
「YEAR(A1)-10」にして
「=DATE(YEAR(A1)-10, MONTH(A1), DAY(A1))」
としてください。
1年前を求めるために、一旦、YEAR関数・MONTH関数・DAY関数で、年・月・日とバラバラにしたデータを、日付に戻すためにDATE関数を使っています。DATE関数の第1引数には年、第2引数には月、第3引数には日を指定します。
これが
「=DATE(YEAR(A1)-1, MONTH(A1), DAY(A1))」
という数式の意味です。
上記の例でA1セルに今日の日付を返すTODAY関数を入力しておけば、B1セルには今日の1年前の日付が自動的に表示されることになります。
Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » n年前の日付を自動的に表示したい−DATE関数・YEAR関数