CONCAT関数で日付フォーマットのセルを連結すると、デフォルトではシリアル値(1900年1月1日を"1"とした日付単位で振られる連番)が表示されます。多くの場合シリアル値で連結された表示結果は目的に沿っていない形式であると思います。本記事ではCONCAT関数で日付を任意のフォーマットで連結する方法を解説します。
デフォルトはシリアル値
上記サンプルでは日付フォーマットの「A1セル」と「A2セル」を結合しています。シリアル値は1900年1月1日を"1"とした連番となるので「2020/7/12(=44024)」と「2020/7/13(=44025)」がつながった値が表現されています。
日付と文字列を連結して"意味のある文字列"を作りたい場合もシリアル値では違和感アリです。
TEXT関数でフォーマットを任意指定
TEXT関数は任意の値を任意のフォーマットに変換する関数です。数式は以下の構文となります。
=TEXT(変換したい値,変換したいフォーマット)
TEXT関数を使用し、範囲「A1:A2」に対してフォーマット「YYYY/MM/DD」と指定することで表示結果が指定した「YYYY/MM/DD」フォーマットで表示されることが確認できます。範囲指定でも個々のセルに対してフォーマット変換を行うことが出来るのは便利ですね。
指定したフォーマットに変換できない場合は元のフォーマットが維持されるため、「:出勤」の文字はそのまま表示されています。
TEXT関数をセル単位で指定することで、別々のフォーマットに変換することも可能です。(CONCAT関数の良さがやや薄れますが・・・。)
CONCAT関数で連結した後にTEXT関数で変換を試みるとエラーとなる場合があるので注意して下さい。