目的
ログデータなど、システムから出力されるデータが、日付と時間データの2種類がある場合の対応方法
対応
- Datevalue timevalue を使う Now関数で表示される内容と同じ場合は、この関数を使うことで対応できます。
例 A2セルに 2021/12/01 12:00:12 が記載されている場合
日付 Datevalue(A2)、時間 =timevalue(A2) -
Date ,time関数を使う。 さまざまなフォーマットに対応可能ですが、式の内容を考える必要があります。 例 A2セルに 23-Dec-2021 08:06:24 am と表示
日付
=Date(mid(A2,8,4),vlookup(mid(A2,4,3),$E2:$F$13,2,FALSE),left(A2,2))
時間
=Time(if(and(right(A2,2)="pm",mid(A2,13,2)<>12),mid(A2,13,2)+12,mid(A2,13,2)),mid(A2,16,2),mid(A2,19,2))
説明
・Mid関数で、年、月、日、時、分、秒を抜き出しています。
・月のDecは、以下の変換テーブルを利用しています。
変換テーブル
月名 数字 Jan 1 Feb 2 Mar 3 Apr 4 May 5 Jun 6 Jly 7 Aug 8 Sep 9 Oct 10 Nov 11 Dec 12
・昼の12時は、pmとデータのため対象外としています。
所感
簡単でしたが、良く使いそうです。