dポイントプレゼントキャンペーン実施中!

インターネット上の表をExcelにコピペすると表示形式が崩れるのを防ぐ方法はありますか?たとえば、ネット上にある表では 19Nov-1500 とあり、それをエクセルに貼り付けるとそのまま表示されますが、18Nov-2101の場合は73706となってしまいます。

ネット上の表示 | エクセル貼り付け後の表示
20Oct-0020 | 20Oct-0020
18Oct-2101 | 73706

(1)20Oct-0020は10月20日00時20分という意味です。73706になってしまうのは21時01分の部分を2101年と読んでいるのだと思いますが、これを正しく18Oct-2101とする方法はありますか?表示形式でddmmm-hhmmにしてもダメでした。「1904年から計算する」のチェックは関係するでしょうか?

(2)貼り付け後のセルを日付と時刻で表示したいのですが、0020を00時20分と認識させるにはどうすればいいでしょうか。=left(セル,5)で日付に、=right(セル,4)で時刻に分けたところ時刻が0020のところは単純に20としかならず、これも表示形式でhh:mmにしても変化がありませんでした。

アドバイスよろしくお願いします。

A 回答 (2件)

元の表が分からないので何とも言いにくいのですが



(1)
いったんメモ帳などのテキストエディタに貼り付け置換
- を , にする
セルに貼り付け データ 区切り位置 [レ]スペース、[レ]カンマ

(2)
上記でセルが分割されたら =TEXT(C1,"00!:00")*1
文字列で張り付けたなら=TEXT(right(セル,4),"00!:00")*1
    • good
    • 0
この回答へのお礼

遅くなりました。区切り位置も考えたのですが、表内のデータをすべて同じ位置で区切ることができないものがあるのでダメでした。単純にtime関数で地道に時刻表示にしてみるとなんとか成功しました。ありがとうございました。

お礼日時:2010/11/20 07:43

元の文字列のまま貼り付けるには以下のような手順で行います。



まず、エクセルで対象範囲のセルの書式設定で表示形式を「文字列」にしておきます。
次にコピー元をコピーし、貼り付けるとき「右クリック」形式を選択して貼り付け」で「テキスト」を選択します。

上記の操作でテキストで貼り付けたデータを日付シリアル値に戻したいなら、以下のような数式を利用します(A1セルに文字列がある場合)。

=LEFT(A1,FIND("-",A1)-1)*1+TEXT(RIGHT(A1,4),"00!:00")*1
    • good
    • 0
この回答へのお礼

遅くなりました。形式を選択して貼り付けのテキストでもhtmlでもダメでした。time関数を利用したところ、思うような結果がなんとか得られました。ありがとうございました。

お礼日時:2010/11/20 07:44

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