文字列型から日付型への変換

日付
2026.03.25

データ型の変換について

日付データは、以下の形式であれば、データ編集や分析で柔軟に利用することができ、且つエラーを防ぐことができます。

  • 日付型
  • 日時型

データ連携後、基本的にデータは文字列型となっているため、データシート編集の「列を編集」から「列の一括編集」を用いて、データの型を日付型もしくは日時型に変換しておきましょう(クレンジング作業)。

ただし、日付型/日時型のデータであっても、一つの列で複数の形式が混ざったり、下記の例のようなパターンに該当する場合は、型の自動変換では対応できないため、手動変換にて型変換できる形式に変更してあげる必要があります。

形式が基本形式であるパターン

☆日付型と日時型の手動変換

以下の手順で日付型と日時型は現在表示されているデータの書式を選択することで変換が可能です。

日時型

日付型

  1. 「詳細設定」を選択
  2. 「型を手動変換」にチェックを入れる
  3. データの型「日時or日付」を選択
  4. 「書式」を選択する
    ※対象項目に表示されている形式と一致する書式をプルダウンから選択
  5. 「適用」をクリックし完了
⚠️
  • 「列編集」で変換できるのは書式がプルダウンと一致する形式のデータのみとなります
  • 「日時」↔︎「日付」の変換は「列を追加」で加工が必要です

形式が基本形式ではないパターン

手動変換が必要なパターン

例①:対象列に空白がある

/icons/search_gray.svg

原因

空白=空文字が含まれているためです。(空文字とは、テキストエディタでデータを閲覧した時に「””」となっているデータのことです)

「null」は値が全く存在しないため、変換時に無視されます。一方で、空文字の場合は「空の値が存在している」状態であり、それを無理に変換しようとし、エラーになります。

/icons/light-bulb_gray.svg

対処法

以下の関数を利用し、新たな列を追加してください。

この関数は空文字「””」を「None」(Null)に変換するため、エラーを起こしません。

try_cast({対象列},'date')

例②:対象列に不正な文字が含まれる

/icons/search_gray.svg

原因

日付型になり得ない文字が含まれているためです。

不正な文字が含まれていると、その文字を無理に変換しようとし、エラーになります。

/icons/light-bulb_gray.svg

対処法

以下の関数を利用し、新たな列を追加してください。

この関数は不正な文字「(例)”合計”」を「None」(Null)に変換するため、エラーを起こしません。

try_cast({対象列},'date')

/icons/exclamation-mark_gray.svg

注意点

  • 対象行についてはNull扱いとなるため、その列の値はデータシートに反映されなくなります。
  • 連携元データに正しい数値型の値を入れていただくことで、以後、正常に日付型の値を表示することができます。

例③:列の中に異なる形式が紛れるパターン

/icons/search_gray.svg

原因

下記の例のように、同じ列の中に異なる形式が混在しているため。

【例】YYYY-MM-DDとYYYY/MM/DDが混在

/icons/light-bulb_gray.svg

対処法

以下のreplace関数を利用し、新たな列を追加してください。

列を追加した後は、型の自動変換を行ってください。

下記のreplace関数を用いることで「/」を「-」に変換し書式を統一するため、その後、型を自動変換をする際エラーを起こしません。

replace({対象列},"/","-")

/icons/exclamation-mark_gray.svg

注意点(やってはならないこと)

  • replace関数を使わず、try_cast関数を直接使うこと。
    • try_castは「/」がサポートされていないため、「YYYY/MM/DD」の日付型を不正な文字と認識し、None(Null)に変換するため値が反映されなくなります。日付型データは、第一に「YYYY-MM-DD」の書式に統一することが重要です。

/icons/light-bulb_gray.svg

上記でも解決しない場合

replace関数を利用後、型の自動変換を行っても解決しない場合は、さらに空文字「””」が列に存在している可能性があります。

/icons/light-bulb_gray.svg

対処法

以下の関数を利用し、新たな列を追加してください。

この関数はreplaceした後にtry_castするため、エラーを起こしません。

try_cast(replace({対象列},"/","-"),'date')