Excelで作成する表には、年や年度を使うことも多い。こうした「年」が入った表は、データの入力に気を付けないと、正しく集計ができなくなるなど活用に困ることになる。そこで、「年」や「年度」を入力する際のポイントや総務省が政府統計の総合窓口(e-Stat)向けに推奨している「時間軸コード」について解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Excel 2013/2016/2019/2021/365
「Microsoft Excel(エクセル)」で表を作成する際、「年」や四半期などの表記を利用することも多いだろう。ただ、単に「年」といっても、1月1日から始まる「年」や4月1日から始まる「年度」、企業によっては決算日を基準とする「会計年度」と、同じ年の表記であっても複数存在する。1つの表の中でこれらが混在することはないと思うが、どの年表記が使われているのかを明確にしておかないと、複数の表を使って分析などを行う場合に不正確になる可能性がある。
また、一般の企業では、西暦を利用することが多いと思うが、行政とのやりとりでは、和暦(年号)での表記が求められることもあるようだ。
総務省統計局が公開した各府省が政府統計の総合窓口(e-Stat)に掲載する統計表の表記方法の統一ルール「統計表における機械判読可能なデータの表記方法の統一ルールの策定」の14ページ「チェック項目1-11 e-Stat の時間軸コードの表記、西暦表記又は和暦に西暦の併記がされているか」においても、「時間軸を示すデータについて、ソフトウェア等のプログラムは、年の値の大小により認識することが多いため、和暦表示のみでは、元号が切り替わる際に手作業で西暦等に変換する必要がある」としており、西暦と和暦の併記が推奨されている。
また、e-Statでは「時間軸コード」を併記することを推奨している。時間軸コードとは、10桁の数字で年や年度の違い、上期/下期、期(1〜3月期など)や月(1月など)を表現するものだ。この時間軸コードは、行政機関向けに作成されたものだが、一般企業で活用してもよいだろう。その際、e-Statの時間軸コードでは、種別が「0」で「年」、「1」で「年度」となっているが、「2」で「会計年度」といった具合にアレンジするとよい。
Excelで作成する表に年や年度を入力する場合、単純に「2022」などと年を入力してから、セルを選択して、[Ctrl]+[1]キーを押し、[セルの書式設定]ダイアログを開き、[表示形式]タブの「分類」で[日付]を選択、「種類」で[2012年3月]などを選択すると、「1905/7/14」とおかしな日付になってしまう。
これは、Excelが日付を「1900/1/1」を「1」とするシリアル値で管理しているためだ。そのため、入力した「2022」のシリアル値を日付に変換した「1905/7/14」となるためだ。
こうしたミスをしないためには、単純に「2022」と入力せずに、「2022/1/1」とすればよい。この際、「年」の場合は「2022/1/1」とし、「年度」の場合は「2022/4/1」としておくと、セルの値を見るだけで「年」か「年度」が判断できるからだ。なお、会計年度の場合は会計年度の開始日を設定しておくとよいだろう。
セル内の年表示に「年」や「年度」を付けたい場合は、[セルの書式設定]ダイアログの[表示形式]タブを開き、「分類」で[ユーザー定義]を選択し、「種類」に「yyyy年」もしくは「yyyy年度」と入力すればよい。これでセル内の日付が「2022年」「2022年度」といった表示になる。
年の表示を和暦(元号)にするには、[セルの書式設定]ダイアログの[表示形式]タブを開き、「分類」で[日付]を選択し、「カレンダーの種類」を[グレゴリ暦]から[和暦]に変更し、「種類」で[平成24年3月14日]を選択する。
「年」や「年度」だけにするのであれば、続いて「分類」で[ユーザー定義]を選択し、「種類」を「[$-ja-JP-x-gannen]ggge"年";@」もしくは「[$-ja-JP-x-gannen]ggge"年度";@」に編集して、[OK]ボタンを押せばよい。
既にセルに入力されている「年」や「年度」から左隣の列に時間軸コードを作成しよう。セル内には「2022/4/1」といった形式で日付データが入力されているものとする。その他の形式になっている場合は、この形式に変換してから作業を行う必要がある。
左隣に時間軸コードを入力するための列を挿入し、その列に以下の数式を入力する。セルの書式設定が「日付」になった場合は、[ホーム]タブの[数値]グループの「数値の書式」プルダウンリストで[標準]もしくは[数値]を選択すればよい。なお、ここでは上半期/下半期などは考慮せず、「年」もしくは「年度」のみに変換している。
■「年」の場合
=YEAR(<日付の入力されているセル>)*1000000
■「年度」の場合
=YEAR(<日付の入力されているセル>)*1000000+100000
作成した時間軸コードは、数式のままなので、数式を数値に変換しよう。それには、時間軸コードが入力されたセル範囲を選択し、[Ctrl]+[C]キーでクリップボードにコピーする。次にセル範囲の左上のセルを選択して右クリックし、メニューで[形式を選択して貼り付け]を選択し、[形式を選択して貼り付け]ダイアログを開く。[形式を選択して貼り付け]ダイアログで「値と数値の書式」を選択し、[OK]ボタンを押せばよい。これで、セルの書式設定を維持した状態で、数式が数値に変換できる。
時間軸コードを入力後、隣のセルに「年」や「年度」を手動で入力するのは面倒だろう。そのような場合、右隣りに列を挿入し、その列に以下の式を入力するとよい。時間軸コードの「年」に、「種別」が「0」(年)ならば「1月1日」に、「1」(年度)ならば「4月1日」を付けて入力される(会計年度を含む処理については、さらにIF関数を加えたり、CHOOSE関数を使ったりする必要があり、少し複雑になるのでここでは説明を省かせてもらう)。なおセルの書式設定が、「標準」や「数値」の場合、シリアル値で表示されてしまうので、その場合は「日付」に変更すること。
=IF(MID(<時間軸コードのセル>,5,1)="0",DATE(LEFT(<時間軸コードのセル>,4),1,1),DATE(LEFT(<時間軸コードのセル>,4),4,1))
上記の数式は、MID関数で時間軸コードの「年」「年度」を識別する値を取り出し、この値が「0」ならば、LEFT関数で左から4文字(年)を取り出して、DATE関数で1月1日を加えている。同様に値が「1」ならば、DATE関数で4月1日に設定している。
このままではセル内が数式のままになってしまうので、数式を値(日付)に変換しよう。それには、数式を入力したセル範囲を選択し、[Ctrl]+[C]キーでクリップボードにコピーする。次にセル範囲の左上のセルを選択して右クリックし、メニューで[形式を選択して貼り付け]を選択し、[形式を選択して貼り付け]ダイアログを開く。[形式を選択して貼り付け]ダイアログで「値と数値の書式」を選択し、[OK]ボタンを押せばよい。これで、セルの書式設定を維持した状態で、数式が数値(日付)に変換できる。
後は、上述の方法でセルの書式設定を編集し、「年」や「年度」と表示されるように設定すればよい。
Copyright© Digital Advantage Corp. All Rights Reserved.