プロが教える店舗&オフィスのセキュリティ対策術

A列に日付を表す数値、例えば「20140407」のようになっている1000行くらいからなるファイルがあります。
これを「2014/04/07」というふうに全ての行を書き換えたいのですが、一気に書き換える方法はありますでしょうか?

A 回答 (3件)

>A列に日付を表す数値、例えば「20140407」のようになっている1000行くらいからなるファイルがあります。


A列の値は文字列でしょうか?
それとも日付のシリアル値で表示形式が yyyymmdd なのでしょうか?
数値で表示形式が 標準 で8桁数値の 20140407 と言う値でしょうか?
Excelでは日付を表すシリアル値(数値)の定義が1900年1月1日を 1 として経過日数を使っています。
値の定義が異なると処理の仕方も工夫しなければなりません。

>これを「2014/04/07」というふうに全ての行を書き換えたいのですが
文字列としてほしいのでしょうか?
それとも日付のシリアル値として表示形式を yyyy/mm/dd とした値がほしいのでしょうか?

>一気に書き換える方法はありますでしょうか?
マクロは不得手なので他の方にお任せします。
1つの関数式を作業用に設定してその式を作業列全体にコピーして計算結果の値をA列へ値のみ貼り付ければ良いと思います。
前項のデータ形式によって関数式の構成を適正にする必要があります。

勝手解釈ですがA列の値を文字列として結果も文字列にする方法は以下の数式で良いと思います。
作業用にC列を使用するものとしたとき
C1=IF(A1="","",CONCATENATE(LEFT(A1,4),"/",MID(A1,5,2),"/",RIGHT(A1,2)))
C1セルをコピーでクリップボードへ記憶させ、C1~C1000を選択して貼り付けを実行します。
コピー完了の状態のコピーでクリップボードへ記憶させ、貼り付け先をA1として「形式を選択して貼り付け」から「値」を選ぶことで目的達成となります。
後処理として作業列(C列)の数式を削除すれば良いでしょう。
言葉で説明すると複雑に見えますが実際の所要時間は1分以内と思います。
    • good
    • 0

こんばんは!


A列にデータがあるとします。

A列すべてを範囲指定 → データ → 区切り位置 → 何もせず「次へ」を2回クリック → 「日付」を選択
→ 「YMD」になっているコトを確認し、完了
最後に表示形式はユーザー定義から
yyyy/mm/dd
としてみてください。m(_ _)m
    • good
    • 0

その列を選択して、[データ]→[区切り位置]で[次へ]を2回後に列のデータ形式を[日付(D) YMD]にして[完了]

    • good
    • 0
この回答へのお礼

素早いご回答有難うございます。ばっちりです!

お礼日時:2014/04/07 18:43

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