• ベストアンサー

「値」で貼り付けをすると数列になってしまう

「セルの書式設定」の「ユーザー定義」で「yyyy"年"m"月"d"日"」となっている文字列を、「貼りつけのオプション」の「すべて」で貼り付けを行うとたとえば「2020年1月1日」となりますが、「貼りつけのオプション」を「値」で貼り付けすると「43969」のように数列になります。 できれば「値」で貼り付けしたいのですが…。 理由と対処方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hiro_1116
  • ベストアンサー率30% (2556/8268)
回答No.2

貼り付けた先のセルを日付形式で表示するように、書式設定を変更するのはダメでしょうか?

frau
質問者

お礼

なるほど、その方法もありましたね。

その他の回答 (5)

  • SI299792
  • ベストアンサー率47% (774/1619)
回答No.6

文字列にしたいという事でしたら、この様な方法もあります。 まず、磔先をセルの書式設定で文字列にしておきます。 コピー元をメモ帳に磔。 メモ帳をコピー、磔先に磔。 後からこの日付を計算に使う可能性があるなら、他の回答者の方法、磔先でセルの書式設定をした方がいいですが、このようなやり方もあるので紹介します。

frau
質問者

お礼

なるほどです。参考にいたします。 *ご回答の漢字についてご指摘させていただきます。「磔」ではなく「貼り付け」です。

  • hiro_1116
  • ベストアンサー率30% (2556/8268)
回答No.5

他の方のお礼の中で >必要なら仕方ないですがシリアル値っていらないと思います と書かれていますが、2020年10月30日 というような「文字列」で管理していたら、その日が 令和2年10月30日 であることや 2019/10/30 から何日後にあたるかとか、扱いが面倒になってしまいます。そこで、内部では全てシリアル値で扱っていて、表示するときに西暦でも元号でも何でもOKなように対応しているのです。

frau
質問者

お礼

そうなんですね。ありがとうございます。

  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.4

「43969」は「2020/5/18」ですね。 というのも、Excelは日付・時刻データを「1900年1月0日からの経過日数(時間)」という数値として管理しているので、「日付のセル」というのは、この「数値(シリアル値)」と「表示書式」が組み合わさって、「○○○○年○月○日」と見えているんです。 通常のコピー操作をすると、「値(43969)」と「書式(yyyy"年"m"月"d"日")」をコピーするので、「2020年5月18日」という表示になります。 でも、『値のみの貼り付け』をすると、「値(43969)」のみが貼り付けられるので、43969という表示になってしまうんです。 ですが、ご希望は、"2020年5月18" という文字列を得たい、ということで良いんでしょうかね? その場合、「テキスト(文字列)に変換する」という関数を使用します。 A1にその日付が入っているとして、B1セルに =TEXT(A1,"yyyy年m月d日") と入力すると、この書式で、セルに表示されます。 ※この値は文字列になっているので、デフォルトでは左寄せで表示されます。(数字・日付はデフォルト右寄せ) これは式ですので、A1に入っている値が変われば、B1も変わります。 しかしまあ、文字列になったということで、このB1をコピーして、C1などに「値で貼り付け」すると、今度は本当に「2020年5月18日」という文字列データを貼り付けることができます。

frau
質問者

お礼

asciiz さんお世話になっております。 >「日付のセル」というのは、この「数値(シリアル値)」と「表示書式」が組み合わさって 複雑ですねえ。必要なら仕方ないですがシリアル値っていらないと思います。 でもこういうことについては関数ではなんでも?できるのですね。

  • 69015802
  • ベストアンサー率29% (381/1297)
回答No.3

ユーザー定義の場合データは内部的にコード化されていますので標準書式のセルに値で貼り付けに行くとコード化された数値データが教示されます。 貼り付けにいくセルを全部あらかじめ同じ定義に書式設定しておけば値で張り付けてもそのまま表示されますが。

frau
質問者

お礼

なるほど、その方法もありましたね。

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.1

 シリアル値といわれる「値」で、エクセルではそれで日付を管理しています。セルの書式設定で表示の仕方をコントロールして対処できますが、それ以外では貼り付け時の操作では無理です。  仮に「2020年1月1日」と文字列で記入したとしても、エクセルはそれを日付であると認識して勝手にシリアル値に内部で変換します。  元々のセルで頭に「’」を付けて文字列と規定してやればそのままコピーできますので、対処法としてはそれぐらいですね。  エクセルの数多いお節介機能の中でも、随一に厄介な機能です。

frau
質問者

お礼

貼り付け先とコピー元の書式設定を同じくするという方法がありましたが、シリアル値はほんとうに厄介です。

関連するQ&A