日付関数パート1
Excelで入力されているテキストデータを日付に変換したい場合に使う関数はいろいろあります。
よく使う関数をピックアップしてみました。
TEXT、DATEの使い分けを知っておくといろいろな場面に役立つでしょう。
TEXT関数で日付変換
下記図のセル値:B3に20221025の文字列があります。これをTEXT関数で日付形式に変換する場合の入力方法は
B3にテキスト形式の日付に対してC3のセルで下記の関数を入力します。
=TEXT(B3,"0000!/00!/00")
文章で表すと
①関数宣言 【=TEXT】
②文字列の日付 【B3】
③を 【,】
⑤日付に変換して 【”0000!/00!/00″】
結果は、2022/10/25が求められます。
TEXT関数では文字列のまま
TEXT関数を使って日付変換をしてきましたが、実はこれだけではExcelのセル内では文字列のままなのです。オートフィルターを設定すると書式内容の違いがわかります。
左側が関数で日付に変換したものだと日付に見えてるようで実は文字列になります。
右側が直接入力した日付でオートフィルターをすると日付別にフィルターされていることがわかります。
この場合、日付で変換した。文字列を書式設定で日付にすればいいのでは、となるでしょう。
しかし、書式に変更だけでは日付形式の書式に変わらないのです。
ただし、セルをひとつづつダブルクリックしてエンターすると日付書式にしたセルが日付として認識されるのですが件数が数百行になるととても面倒です。
TEXT関数に「1」を乗算すると文字列から日付
TEXT関数で作成した日付の文字列に「1」を乗算することで日付のシリアル値が返されます。
数式を入力したセルをセルの書式設定で日付形式にしておく必要があります。
セルの書式設定を日付にする。
セルの書式を設定後にTEXT関数を入力します。
=TEXT(B3,"0000!/00!/00")*1
オートフィルターで確認すると日付形式で表示されることが確認できます。
DATE関数で日付変換
DATE関数では別のセルに入力されている日付を結合することで日付の書式に変換できる関数です。
=DATE(B3,C3,D3)
文章で表すと
①関数宣言の 【=DATE】
②年 【B3】
③と 【,】
④月 【C3】
⑤と 【,】
⑥日 【D3】
を結合して日付にして、と言うことになります。
DATE関数の場合、セルの書式が日付形式なので書式を設定する必要はありません。
まとめ
TEXT関数を使うことで簡単に文字列を日付形式にでき、また、DATE関数を使用すると分割された日付形式に変換できますので理解しておくと便利です。
コメント