文字列を日付に変更する場合のTIPSです。
文字列を日付にするにはDATEVALUE関数が用意されています。ただしこれがうまく機能しない場合はDate関数と文字を指定する関数を組み合わせるやり方もあります。
文字列を日付に変更する
CSVを読み込むと、日付が文字列のままとなり加工するときに不便な場合があります。
文字列を日付に変更するには以下の方法があります。
DATEVALUE関数を使う
DATEVALUE(文字列)で、文字列をDATE形式に変換します。
例えば「=DATEVALUE("31 Dec 2020")」とすると、「31 Dec 2020」という表記を日付型のデータに変換することができます。
DATE関数を使う
文字列は、「左端から何個」のようにとるにはLeft関数を、「何番目の文字から何個」のようにとるにはMid関数を使います。
年、月、日の文字がとれれば、DATE関数を使って日付にすることができます。DATE関数は「DATE(年、月、日)」のように3つのパラメーターを指定します。
例としてセルA2が「2020年12月31日」なら、「=DATE(LEFT(A2,4), MID(A2,6,2), MID(A2,9,2))」のようにすると日付に変更できます。
ただしこの方法は、2020年1月1日のように1桁の月や日にちになると文字数が変わってくるので使えません。あくまで2020年01月01日のように、月も日付も2桁が標準である場合に有効です。
Datevalue関数のエラー?
Datevalue関数では
- 日付文字列引数に無効な値がある
- 日付文字列引数の値が、システムの日付と時刻の設定と同期していない
- 日付が 1990 年 1 月 1 日から 9999 年 12 月 31 日までの範囲内ではない
という場合にうまく利用できません。
DATEVALUE 関数の #VALUE! エラーを修正する方法 - Office サポート
Datevalueがダメな場合は、上記のようにDate関数を試してみるとよいでしょう。