スプレッドシート セルの中の日付、時間を抜き出す方法

目的

ログデータなど、システムから出力されるデータが、日付と時間データの2種類がある場合の対応方法

対応

  1. Datevalue timevalue を使う Now関数で表示される内容と同じ場合は、この関数を使うことで対応できます。
    例 A2セルに 2021/12/01 12:00:12 が記載されている場合
    日付 Datevalue(A2)、時間 =timevalue(A2)
  2. 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
    ・時間のam/pmは、pmの場合12を足しています。
    ・昼の12時は、pmとデータのため対象外としています。

所感

簡単でしたが、良く使いそうです。