Excelで日付の情報があっても、日付ではなく数字のデータとなっていることもあります。
ただ、Excelであればその数字を日付のデータに加工することもできます。
Excelに入力する「文字列」・「日付」の関係性
Excelで数字を入力するときに、日付のつもりでなくても日付になってしまうことがあります。
たとえば、「1/10」という分数を入力すると、「1月10日」という日付に。
住所の枝番のように「10-14」と入力すると、「10月14日」となり日付として表示されます。
なぜかというと、Excelでは「文字列」と「日付」では明確に区別されているためです。
「1/10」をそのまま文字列として表示させたいのであれば、先頭に「’」シングルコーテーションを付け加える必要があります(シングルコーテーションのショートカットキーは「Shift + 7」でも入力できます)。
このほかにも、分数であれば、「0 1/10」(0と1の間に半角スペース)と入力することで小数で表示することもできます。
というように、Excelでは文字列、数値などのデータと日付データは、まったく別ものとして扱われるのです。
なので、データが日付以外になっているのであれば、それを日付データに変換することが必要になるわけです。
会計ソフトの日付問題
会計ソフトから仕訳帳などのデータをCSVデータでダウンロードして、加工して使いたいという場合、1つの問題にぶつかることがあります。
その1つが日付です。
某会計ソフト(あえて名前は伏せておきますが…)から仕訳のデータをダウンロードすると、日付の表示は「20240201」といった表示になっています。
オートフィルターでも、日付データではなく、数値データであることがわかります。
この日付表示のまま加工してもピボットテーブルで集計できません。
ということで、この日付っぽいけど、日付ではない数値データを、日付データに変換しなければなりません。
そのときに使うがDATE関数です。
数値データを日付データに変換する
今回の日付が数値のデータ「20240201」を「2024/2/1」という日付データに変換します。
手順はこのように考えます。
Step.1 数値データ「20240201」から年データに必要な部分(2024)をLEFT関数で取り出す
Step.2 月のデータに必要な部分(02)をMID関数で取り出す
Step.3 日のデータに必要な部分(01)をRIGHT関数で取り出す
Step.4 上記Step.1~3で取り出した年・月・日のデータをDATE関数で日付データに変換する
関数で表わすとこうなります。
=DATE(LEFT(B2,4),MID(B2,5,2),RIGHT(B2,2))
まず年のデータ(Step.1)。
B2セル「20240201」の左から4文字(2024)を年のデータとして取り出したいので、LEFT(B2,4)と書きます。
次に月のデータ(Step.2)。
MID関数で真ん中(02)を取り出します。MID(B2,5,2)で、B2セルの左から5文字目を起点にそこから2文字を取り出します。
さらに日のデータ(Step.3)。
RIGHT関数で右から2文字を取り出します。RIGHT(B2,2)の部分です。
最後に、前述のように、DATE関数で取り出した「年」「月」「日」のデータを日付データとしてまとめます。
ピボットテーブルでこのように集計することもできるようになります。
このように、日付の見た目でも実は日付になっていないデータもDATE関数で日付データに変換することができます。
Excelであれば、データ形式が違ったとしても、なんとかやりようはありますし、その過程でスキルを磨くこともできます。
ということで、よくある会計ソフトでの日付問題。参考になればうれしいです。
■編集後記
昨日は朝の習慣、会計士業で法人の決算、打ち合せ。ブログ執筆などでした。ブログはWordpressアプリでやってみましたが、テキスト部分については使えるかもです。
■息子(10歳)
昨日の学校でも算数が好きになったようです。すらすらと「えっこんなに早く答えだせるんだね~」と驚いてしまいました(いっぽう国語のほうは…)。数字は答えがハッキリしているところなどにもおもしろさを感じているようです。
■昨日の1日1新
・Wordpressアプリでブログ執筆