【Excel】年替わりに書式を自動で変える方法

年替わりの時 yyyy年mm月の形式にしたい

下の図の矢印部分のように年の変わり目だけ年月で表示(yyyy年mm月)し、それ以外は月だけ(mm月)で表示する方法を紹介します。

準備

まずは<1>のように日付の入ったセルの書式を変更して<2>のようにします。

  • リボンの「ホーム」→「書式」→「セルの書式設定」を選択
  • 「表示形式」の「分類」に「ユーザー定義」を選択
  • 「表示形式」の「種類」の枠に「m”月”」を入力してOKボタンを押す

年替わりの時にだけ書式を変更する(条件付き書式)

今回は年替わりの時だけ書式を変更するので条件付き書式の機能を使って、ある条件を満たしたときに書式をyyyy”年”m”月”に変えるようにしていきます。

  • 対象のセルを選択

  • 「ホーム」→「条件付き書式」→「新しいルール」を選択
  • 「数式を使用して…」を選択して、以下の数式を入力

  • 「書式」ボタンを押す
  • 「表示形式」の「分類」に「ユーザー定義」を選択
  • 「表示形式」の「種類」の枠に「yyyy”年”m”月”」を入力してOKボタンを押す

  • 「OK」ボタンを押す

(結果)

(解説)
この数式は対象のセル(この場合A2)に入っている日付の年とその一つ上のセル(A1)に入っている年を比較して、年が異なっていれば設定された書式(yyyy”年”m”月”)に変更しています。しかし、一番上のA2のセルに年が表示されていません。理由は年を比較しているA1のセルが”日付”ではなく”文字列”が入力されているため条件付き書式の年の比較が行えていないことが原因です。

一番上のセルにも年が表示されるように修正

一番上のA2のセルにも年が表示されるように先ほどの条件付き書式の設定を変更していきます。

  • 「ホーム」→「条件付き書式」→「ルールの管理」を選択
  • 「書式のルール表示」のプルダウンから「このワークシート」を選択

  • 該当の書式を選択して「ルールの編集」ボタンを押す

  • 数式に赤線部分を追記してOKボタンを押す

(結果)

(解説)
追加した式はその一つ上のセル(A1)に入っている年がエラーを起こしていないかを判定して、もしエラーであれば書式を変更するというものです。

補足

全てのセルがyyyy”年”m”月”の書式でも間違いではありませんが、この方が見やすいと思います。またすべてのセルを「日付型」にしおくことで、後々このセルの値を使って計算したりVBAでマクロを作成していくときに扱いやすいです。裏を返せば文字列と日付が混在したり、文字列で日付を表現してしまうと後々非常に厄介になってきます。
効率化を目指すのであればExcel内で日付や時刻は日付型で扱うようにしておくことをお勧めします。