教えて!gooグレードポイントがdポイントに!

エクセルに詳しい方

よく読んでからのご回答お願いします


外部からデータが来ますが、日付が20220101のようになっています。

それを2022年1月1日のように、一斉に直すことは、区切り位置や関数を使ってできます。

そうではなくて、その日付を別のシートに転記(コピペ)したとき、即、2022年1月1日と表示させる方法はないでしょうか?

転記先にあらかじめ、セルの書式設定の日付で設定しておいても、シャープが大量に表示されるだけです。

質問者からの補足コメント

  • 元データを、一斉に2022年1月1日に直してからコピペすればよい
    という回答以外でお願いします

      補足日時:2022/06/29 16:18
教えて!goo グレード

A 回答 (7件)

外部のデータが数字の場合。


貼り付ける先のセルの書式設定を
以下のようにすれば、似たように形になりますが、

日付が20220101の場合
2022年01月01日となります。

セルの書式設定
ユーザー定義
####"年" ##"月" ##"日"
    • good
    • 3
この回答へのお礼

できました!
どうもありがとうございます!

お礼日時:2022/07/01 12:25

(´・ω・`)


貼りつける先のセルの ”セルの表示形式” に
 ユーザー定義で
 「0000年00月00日」
を 【(( あらかじめ ))】 設定しておきましょう。
でもって貼り付けるときは「値」で貼り付けです。
じゃないとせっかく設定しておいた書式を失うことになります。

ただしこれは、あくまでも表示の書式をいじっただけですので、内部では日付にはなっていません。
日付として計算に用いたいのであれば、セルの表示形式に設定した書式と同じ方法をTEXT関数に渡してから計算に用いましょう。
 A1セルの値を参照するなら、
  TEXT(A1,"0000年00月00日")*1
 とすれば、日付になってくれるので、日付として計算できるようになります。

あと、####になってしまうのは、
 ・セルの表示形式が「日付」になっていて、
 ・表示幅が足りないか、
 ・値がマイナスなのか、
 ・シリアル値として上限を超えているから、*¹
です。
確認してみましょう。

・・・


Excelで扱うシリアル値上限は9999年12月31日を示す
「2958465」ですので
「20220101」は
余裕で上限を超えています。

※ シリアル値が何のことか分からないのであれば調べることを強く勧めます。
  Excelでは必須の知識になります。
    • good
    • 3
この回答へのお礼

どうもありがとうございました

お礼日時:2022/07/01 12:26

>元データを、一斉に2022年1月1日に直してからコピペすればよい


という回答以外でお願いします
代替え法は求めていないと解釈しました。

>・・・そうではなくて、その日付を別のシートに転記(コピペ)したとき、即、2022年1月1日と表示させる方法はないでしょうか?

方法はありません。
    • good
    • 1

色々調べてる様ですので、では、ストレートに。


NO1,2の回答の通り、普通のコピーだと表示形式もコピーされてしまうから上手く行きません。

転記先にあらかじめ、セルの書式設定をしてるんですから、「値」だけをコピーすれば良いです。

コピー元を選択してコピー。
貼り付け先の先頭セルを右クリックとかして、"形式を指定して貼り付け"。
この中から「値」のラジオボタンをクリックしてOK。
この手の操作で値のみをコピーできます。

複数セル一括でも出来ます。
    • good
    • 0

こんにちは



>即、2022年1月1日と表示させる方法はないでしょうか?
セルをコピペすると、書式その他もコピーされますので、コピー元のセルに書式を設定しておかないと無理です。
コピー元に設定するのでも良いのなら、書式を「####"年"##"月"#0"日"」としておくことで、「2022年01月01日」のような表記にすることは可能です。
ただし、「2022年1月1日」ではありませんし、日付になるわけでもありません。
(値のみのコピペを行うのであれば、コピー先の書式設定だけでもすみます)

日付型の値に変更したいのであれば(そうでない場合でも)、コピー先シートにマクロを設定しておけば可能です。
個人的にはあまり良い方法とは思いませんけれど、ここの質問でも、同様の質問を何度も見かけていますので検索すれば見つかることでしょう。


他のリズナブルな方法を考えることもできますが、「条件に合わない回答をするな」と言われそうなのでやめておきます。
    • good
    • 3

日付が20220101ままのデータをそのままコピーですか?


区切り位置や関数を使って2022年1月1日の様に表示されたデータをコピーですか?

前者の場合は、no1回答の通り表示形式も一緒にコピーされてしまうので、エクセルのスペック上は出来ません。
VBAならば可能。
    • good
    • 0

エクセルなんですから、コピーしたら表示形式も一緒にコピーされます。


シャープが大量に表示されるのは、コピー先のセル幅が狭いからです。

セル幅などはコピーされません。
    • good
    • 0
この回答へのお礼

ちがいます。
幅をいくら広げてもできないです。
さんざんネットで調べてから質問しています

お礼日時:2022/06/29 16:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング