先日エクセルで、謎の意味不明の日付データが届きました。
イベント開催の日程表(イベント名は消しています)なのですが、なぜか日付と曜日を2列に分割した表でした。これにB列を挿入し、B列に日付(A列)と曜日(C列)を合わせようとしましたが、見事に失敗しました。
日付をコピーするとシリアル値になる
シリアル値とは、「1900年1月1日」を「1」とし、そこからの経過日数で管理されている数値のことです。
例えば、A1セルとC1セルを「&」を使って結合すると、「日付」+「曜日」にはならないで、日付はシリアル値になってしまいます。
このように、日付を文字列と結合すると、文字列がシリアル値で表示されてしまいます。
シリアル値になっている日付データをTEXT関数で表示形式を変換する
シリアル値になっている日付を、シリアル値ではなく日付として表示するには、「TEXT関数」を使用します。
「B1」セルを選択して、「関数の挿入」をクリックします。
「関数の挿入」ダイアログボックスが開きますので、「関数の検索」に「text」と入力し、「検索開始」をクリックします。すると、「関数名」が一覧で表示されますので、「TEXT」を選択して「OK」ボタンをクリックします。
「関数の引数」ダイアログボックスが開きます。
今回は「A1」セルに日付データが入力されていますので、「値」に「A1」を入力します。
そして、「表示形式」に「m月d日」と入力します(表示項目については後程解説します)。
再び「値」ボックスをクリックすると、「表示形式」の欄に””(ダブルクォーテーションマーク)が自動的に入力されます。
「OK」をクリックしてダイアログボックスを閉じます。
ダイアログボックスを閉じた後に、B2セルに「&C1」を追加して、「A1」セルと「C1」セルを結合します。
セル「B1」には「=TEXT(A1,”m月d日”)&C1」と入力されています。
その後、B1セルをB7までドラッグして数式をコピーします。
これで、日付と曜日が文字列として結合されました。
TEXT関数の日付の表示形式
TEXT関数の日付の表示形式はさまざまな形式に対応しています。
以下、さまざまな表示形式を並べています。
B列に表示例、C列に数式を表示しています。
「令和元年」ではなく、「令和1年」と表記されますね。これはエクセルの仕様です。
「令和元年」表記にしたい方は、下記の記事を参考にしてください。
TEXT関数(セルの書式設定)で利用できる日付の表示形式の一覧
TEXT関数またはセルの書式設定(後述します)で利用できる表記方法の一覧をテーブルにまとめています。TEXT関数では、””(ダブルクォーテーションマーク)間に記述します。
文字列(月、年、日)や以下の記号、かっこ()、スラッシュ(/)、ピリオド(.)などはそのまま文字列として表示されます。
表示形式 | 表示例 | |
西暦 | yyyy年 | 2019年 |
西暦 | yy年 | 19年 |
和暦 | ggge年 | 令和1年 |
和暦 | ge | R1 |
月名 | m月 | 8月 |
月名 | mm月 | 08月 |
月名 | mmm | Aug |
月名 | mmmm | August |
日付 | d日 | 1日 |
日付 | dd日 | 01日 |
曜日 | aaa | 月 |
曜日 | aaaa | 月曜日 |
曜日 | ddd | Mon |
曜日 | dddd | Monday |
TEXT関数では、さまざまな日付に関する表記が可能です。
ただ、TEXT関数で表示すると、文字列として扱われるため、計算(日付の足し引きなど)ができません。
ちなみに、日付の表示形式は「セルの書式設定」の「ユーザー定義」でも利用可能です。
次ページでご紹介しています。
コメント