エクセルの日付を数字ではなく文字列としてコピーできる4つの方法

エクセルの日付をコピーしても数字になる時の3つの対応方法 コピー

エクセルでは、2019/5/1と入力したセルを『セルの書式設定』の『ユーザー定義』や『日付』で形式を変更すると、『令和1年5月1日』のように好きな形式で日付を表示させることができます。

でも、表示されている日付をそのまま文字列として他のセルにコピーしようとしても、わけのわからない『数字』が貼り付けられるんですよね。

この記事の内容

  • Officeクリップボードを使って日付を文字列としてコピー
  • メモ帳を使って日付を文字列としてコピー
  • TEXT関数を使って日付を文字列としてコピー
  • YEAR関数/MONTH関数/DAY関数を使って日付を文字列としてコピー

今回の記事では、上記4つの方法で日付を文字列のままでコピーする方法を紹介します。

『日付が変な数字で貼り付けられて困っている』という人は、ぜひ参考にしてください。

エクセルの日付がわけのわからない数字で貼り付けられる原因

罫線などの『書式』を除いた日付だけを貼り付けた時に、わけのわからない数字が貼り付けられてしまう原因について解説します。

すぐにでも、『日付の文字列』をコピーする方法を知りたい場合は、『日付を文字列としてコピーする4つの方法の注意点』へ進んでください。

エクセルの日付はシリアル値という特別な数値で管理されている

エクセルの日付は文字列ではなく『シリアル値』という特別な数値で管理されています。

シリアル値を簡単に説明すると、『1900年1月1日から現在までの経過日数』の値になります。

この仕様をふまえると、2019/5/1の場合は『43586』ですね。(1900年1月1日から43586日経過している)

シリアル値をそのままセルに表示されても???状態になるので、エクセルは指定されている日付の表示形式にあわせてシリアル値を日付で表示させます。

『シリアル値を表示形式にあわせて日付として表示される』という仕様はものすごく重要なので、ぜひ覚えておいてください。

普通、罫線やセルの色などの書式を除いた『2019/5/1』という日付だけをコピーしたい場合は、『形式を選択して貼り付け』のオプションで『値』を選ぶことになります。

でも、実際には『2019/5/1』の値は文字列ではなく『シリアル値』なので、『43586』が貼り付けられてしまうんです。

貼り付けのオプションに『日付の文字列として貼り付ける』なんていうのがあればいいんですが、今のエクセルにはそんなオプションは存在しません^^

だから、自分で『日付の文字列』をコピーする工夫が必要となります。

なお、エクセルの日付を扱う場合は『シリアル値』についての知識がないと、日付の処理でつまってしまうことが非常に多いです。

エクセルで日付を扱う時にはシリアル値を理解しておくことが非常に重要です。

次の記事でシリアル値についての理解を深めることをおすすめします。

次からは、『日付の文字列』だけを貼り付ける方法について紹介していきます。

日付を文字列としてコピーする4つの方法の注意点

今から日付をそのまま(文字列として)コピーする方法を4つ紹介しますが、どの方法でも『貼り付け先セル』の書式は、あらかじめ『文字列』に変更しておく必要があります。

これをやっておかないと、どんな方法でも文字列ではなく数字(シリアル値)が貼り付けられるので必ず書式を変更してください。

日付の貼り付け先セルの書式を『文字列』に変更する

『文字列』への変更手順は以下の通り。

『貼り付け先セル』を選択して右クリックし(①)、表示されるメニューから『セルの書式設定』を選択(②) ※右クリックしなくても『CTRL』+『1』でも可。

貼り付け先のセルの書式設定を事前に文字列に変更する

 

『表示形式』タブを選択し(①)、分類から『文字列』を選択(②)

貼り付ける前に書式を「文字列」に変更する

コピー用セルの準備について

また、Officeクリップボードとメモ帳(テキストエディタ)を使った方法は、コピー用のセルを別途用意する必要もなく、簡単にコピーできます。

簡単に日付を文字列としてコピーしたい場合は、Officeクリップボードかメモ帳の方法に進んでください。

逆に、関数(TODAY関数、YEAR関数など)を使った方法は、日付が文字列としてコピーできるようにコピー用のセルを別途用意する必要があります。

このコピー用のセルでは日付の形式を変更することが可能なので、入力されている日付を違う形式に変更してコピーしたい場合は、関数を使った方法に進んで下さい。

Officeクリップボードを使って日付を文字列としてコピーする

最初はOfficeクリップボードを使った方法です。

事前に、『日付の貼り付け先セルの書式を文字列に変更する』を参考にして、貼り付け先のセルの書式を文字列に変更してください。

まず、Officeクリップボードを開く必要があるので、『ホーム』タブ(①)から右下にある『クリップボード』をクリックします(②)

Officeクリップボードを使って、日付を文字列としてコピーする

すると、左にOfficeクリップボードが表示されます。

Officeクリップボードを使うと、コピー情報がこのOfficeクリップボードに最大24個保存され、複数のコピー情報を使い分けたい場合などに便利です。

 

これでOfficeクリップボードが使えるようになりました。

コピー元の日付のセルでコピー(①)すると、Officeクリップボードにその情報が表示されます。

そのコピー情報をクリック(②)し、貼り付け先セルを選択してショートカットキー『CTRL』+『ALT』+『V』を押します(③)
Officeクリップボードを使って、日付を文字列としてコピーする

 

すると、『形式を選択して貼り付け』ダイアログが表示されるので、『テキスト』を選択して『OK』をクリック。

Officeクリップボードを使って、日付を文字列としてコピーする

 

これで、貼り付け先のセルには数字(日付)ではなく、『文字列の日付』が貼り付けられます。

Officeクリップボードを使って、日付を文字列としてコピーする

上の画像にも書いてますが、セルの中身(値)が文字列だと左揃え、数字(シリアル値も含む)だと右揃えになる仕様です。

なので、上の画像では日付が文字列で貼り付けられていることがわかります。

メモ帳(テキストエディタ)を使って日付を文字列としてコピーする

続いても、簡単に文字列として日付をコピーできる、メモ帳を使った方法です。

メモ帳じゃなくても、日頃から使っているテキストが扱えるエディタ(サクラエディタ、秀丸エディタなど)があればそれを使ってもいいです。

事前に、『日付の貼り付け先セルの書式を文字列に変更する』を参考にして、貼り付け先のセルの書式を文字列に変更しておいてください。

では、メモ帳を使った場合のコピー手順です。

日付が入力されているセルをコピー。

メモ帳を使って日付の文字列をコピーする

 

メモ帳にそのまま貼り付けます。

そして、今度はメモ帳に貼り付けた日付を選択してコピーします。

メモ帳を使って日付の文字列をコピーする

 

最後に、貼り付け先セルに『CTRL』+『V』で貼り付ければ、日付の文字列が貼り付けられます。

メモ帳を使って日付の文字列をコピーする

メモ帳に貼り付けた日付を再度、メモ帳の中でコピーするのがポイントです。

TEXT関数を使って日付を文字列としてコピーする

続いては、TEXT関数を使って日付の文字列をコピーする方法。

この方法は事前に関数入力とセルを別に用意する必要があるのでちょっと手間がかかります。

例として、次のようにセルに入力されている日付(2019/5/1)を文字列のままで『貼り付け先セル』にコピーしてみます。

事前に、『日付の貼り付け先セルの書式を文字列に変更する』を参考にして、貼り付け先のセルの書式を文字列に変更しておいてください。

まずは、『関数入力用』のセルに次のTEXT関数を入力。

=TEXT(B4, "yyyy/m/d/")

TEXT関数を使って日付の文字列をコピーする

TEXT関数は最初の引数に日付のセルの位置(この例ではB4)を指定し、二番目の引数では日付の表示形式を指定します。

今回は、入力した日付と同じ表示形式の『yyyy/m/d』を指定しています。

 

これでコピーの準備ができたので、関数を入力したセル(C4)を『CTRL』+『C』でコピーします。

そして、『張り付き先セル』(D4)をクリックしてから、ショートカットキー『CTRL』+『ALT』+『V』を押して『形式を選択して貼り付け』ダイアログを表示させ、『値』を選択して『OK』を押します。

『形式を選択して貼り付け』ダイアログ

 

すると、2019/5/1という文字列が貼り付けられます。

TEXT関数を使って日付の文字列をコピーする

ちなみに、セルの書式設定を使うと日付の表示形式にいろんな形式を指定することができます。

『令和1年5月1日』のような和暦表示や、『2019.5.1』のような西暦の表示も可能なので、表示形式を変更したい場合は、次の記事を参考にしてください。

関数(YEAR、MONTH、DAY)を使って日付を文字列としてコピーする

次に紹介する方法も、日付が入力されているセルとは別なセルに、関数(YEAR、MONTH、DAY)を入力します。

こちらも、ちょっと手間がかかってセルも別に用意する必要があります。

事前に、『日付の貼り付け先セルの書式を文字列に変更する』を参考にして、貼り付け先のセルの書式を文字列に変更しておいてください。

まずは、関数入力用のセル(C4)に、次の関数式を入力します。

=YEAR(B4) & "/" & MONTH(B4) & "/" & DAY(B4)

YEAR関数/MONTH関数/DAY関数を使って日付の文字列をコピーする

YEAR関数、MONTH関数、DAY関数は、日付から『年』、『月』、『日』を返すので、それぞれ引数として日付のセルの位置(この例ではB4)を指定します。

すると、上のエクセルにもあるように関数を入力したC4のセルにB4と同じ『2019/5/1』という日付が表示されます。

 

次に、関数を入力したセル(C4)を『CTRL』+『C』でコピーします。

そして、『張り付き先セル』(D4)をクリックしてから、ショートカットキー『CTRL』+『ALT』+『V』を押して『形式を選択して貼り付け』ダイアログを表示させ、『値』を選択して『OK』を押します。

『形式を選択して貼り付け』ダイアログ

これで貼り付け先のセルに、YYYY/MM/DD形式の日付が文字列として貼り付けられます。

もし、年+月だけコピーしたいので、あれば関数は『YEAR(B4) & “/” & MONTH(B4)』のように入力すればいいです。

また『2019.5.1』のような形式でコピーしたいのであれば、”/”を”.”に変更して、区切りの文字を変更することができます。

まとめ

まとめ

  • 日付の表示形式を変えずにそのままコピーしたい場合は、Officeクリップボード、メモ帳を使った方法が一番簡単。
  • TEXT関数やYEAR関数は表示形式を変更した日付がコピーができる。
  • 日付を『値』でコピーする場合はシリアル値(数字)がコピーされることを理解する。

エクセルの得意とする日付の処理ですが、日付をそのままの文字列でコピーするには以外と手間がかかることがわかるかと思います。

やっぱり、貼り付け時に『日付の文字列として貼り付ける』というオプションがあると便利だと思うんですが、マイクロソフトさんなんとか機能追加してくれないでしょうか^^

いずれにしろ、現状は日付の文字列のコピーには今回紹介した方法で対応するしかありません。

一番適した方法で試してみてください。

タイトルとURLをコピーしました