Excelからインポートしたデータのシリアル値 / 数値(44197)を日付(2021-01-01)に変換する方法

例えば、以下のように入社日と退社日という日付を表す列があったとします。

Exploraotryにインポートをすると、日付を表す値が数値(41620)になり、データタイプも文字列型(Character)になっています。

退社日の列には日付の情報以外に文字列も含まれているため、データタイプの自動認識で日付型だと認識されていません。

そもそも、なぜ日付を表す値が「41620」のような数値になるのでしょうか?

Excelでは基準日からの「経過日数」として値をもっており、、日付の値が「2000/1/1」の場合は「36526」になります。

日付の値が「2010/1/1」の場合は、基準日からの**「経過日数」**として値は「40179」になります。

そのため、日付が数値になってしまうデータを日付データに変換したいです。

インポート時にデータタイプを変換する

インポートダイアログにて、退社日のデータタイプを「Date(日付)」に変更します。

これによって数値(44197)を日付に変換することができます。

インポート後にデータタイプを変換する

インポート後にデータタイプを変換したい場合は、列ヘッダメニューから「データタイプを変換」にある「数値(Excel)から日付に変換」を選択します。

数値(Excel)から日付に変換するための「excel_numeric_to_date」という関数が指定されているため、そのまま実行します。

実行することで、数値(44197)を日付に変換することができました。

「いいね!」 1