予算作成で固定資産の資料を作成しています。
「達人」という固定資産管理ソフトを利用いています。
達人から固定資産データを出力するわけですが、取得年月日データが「20160101」です。
償却満期月の情報を持たせたいのですが、「達人」のデータ上にその情報はありません。
他にあるのは「償却期間の月数」
これを使って償却満期日を計算したいなと。
練習シートDATE練習練習.xlsx
解説とちょっと違いますので、解説を読んでからやってみてください。
「20160101」を「2016/01/01」に変換
利用する関数
DATE ・・・指定した日付を表すシリアル値を返す
シリアル値に変換
「20160101」をシリアル値に変換します。
シリアル値とは・・・1900年1月1日を1とし、その日からの通算日数値
※Macintosh版は1904年1月1日が1となる。
引用:日付と時刻に関する知識
つまり、DATE(1900,01,01)のシリアル値は「1」となります。
(ちなみにセルに「1」と入力して表示形式の分類を「日付」にすると「1900/1/1」となります)
DATE関数はシリアル値を日付に変えてやる関数です。
式:DATE(年,月,日)
DATE(2016,01,01)という形を作る
利用する関数
LEFT ・・・文字列の先頭から指定された数の文字を返す
MID ・・・文字列の指定した位置から、指定された数の文字を返す
RIGHT・・・文字列の末尾から指定された数の文字を返す
DATE(LEFT(20160101,4),MID(20160101,5,2),RIGHT(20160101,2))
分解してみると
LEFT(20160101,4) →2016
MID(20160101,5,2) → 01
RIGHT(20160101,2) → 01
これでDATE(2016,01,01)となるわけです。
ちなみにシリアル値は「42370」です。
DATE(2016,01,01)から5年後の日付を取得する
年や月を年数や月数を加算してやります。
「2016/01/01」から5年後の場合
DATE(LEFT(2016,4)+5,MID(2016,5,2),RIGHT(2016,2))
「2016/01/01」から60ヶ月後の場合
DATE(LEFT(2016,4),MID(2016,5,2)+60,RIGHT(2016,2))
まとめ
使いこなせて損はなし。