きり丸の技術日記

技術検証したり、資格等をここに残していきます。

文字列結合でも日付を数字ではなく目的のフォーマットで表示する(MM/DD)(Excelとスプレッドシート両方とも可)

Excelとスプレッドシートの両方でも活用できる方法です。


「04/18」と表示したい場合、セルの書式設定を変更して目的のフォーマットで表示するのが一般的だと思います。

しかし、「【日報】きり丸 04/18」のような固定文言 + 今日の日付をCONCAT関数を使用して作成したい時、「【日報】きり丸 44669」と数字で表示されてしまいます。セルで「04/18」と表示されているものを参照しても、同様の結果となってしまいます。

今回はそれを回避して、「【日報】きり丸 04/18」を表示できる方法を記載します。

環境

  • Excel
    • Microsoft® Excel® 2019 MSO (バージョン 2203 ビルド 16.0.15028.20178) 64 ビット
  • SpreadSheet
    • 2022/04/18 時点

対応

TEXT関数を使用します。

TEXT(値, フォーマット)と使用することで、期待するフォーマットに変換できます。

※ 画像は01(ゼロイチ)ではなく、セル番地のO1(オーのイチ)です。

動作確認をする際は次のコマンドで確認してみてください。

# うまくいく方法
=CONCATENATE("【日報】きり丸 ", TEXT(today(),"MM/DD"))

# うまくいかない方法
=CONCATENATE("【日報】きり丸 ", today())

備考

CONCATENATE関数は3つ以上結合するときに使用する関数です。

today()関数は実行日付となる値を返す関数です。

終わりに

MOSを持っている人にとっては当然の機能かもしれませんが、どうやっても日付が数字になってしまうので、非常に困っていました。

最近、勤怠をメールで送るようにしているのですが、スプレッドシートで送るようにしているので、このメールタイトルとなる「【日報】きり丸 04/18」が表示できずにハマっていました。

普段使わない機能だからこそ、ちょっと難しいですね。

参考情報