プロが教えるわが家の防犯対策術!

助けてください(泣)難しいです。

環境は
WindowsXP Professional
Excel2003
です

「21-01-01」のような形の商品コードがあって、このデータをCSV出力してファイルを開くと、「2021/1/1」というデータで、日付として認識されてしまいました。

セルの書式設定にて文字列に変換すると、「44197」というシリアル値になってしまいます。

最終的に「21-01-01」の形で文字列として扱いたい場合、どのような処理をすれば良いでしょうか?一括で変換できる方法があれば是非教えてください。よろしくお願い致します。

A 回答 (6件)

外部データ(csv)を文字列としてエクセルに出力する場合、外部データの取り込み中に「文字列として変換する」と言う操作があります



エクセル起動→ データ→ 外部データの取り込み→ データの取り込み→テキストファイルウィザード3/3で「次のデータ形式」から「文字列」を選択します→ 完了→ データの取り込みセルを指定して「OK」をクリック

既に取り込んでしまったセル内の数値を「21-01-01」に変化する場合・・・
日付として変換されたデータをすべて選択→ 外部データツールバーの「テキストファイルのインポートの編集」をクリック→ 「csvファイル」を選択してインポートをクリック→ テキストファイルウィザード3/3で「次のデータ形式」から「文字列」を選択→ 完了をクリック

既に出力してしまったセル内容の変換は外部データツールバーの「テキストファイルのインポートの編集」アイコンより変換可能です
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

外部データの取り込みを利用する方法なら確実ですが、余計な時間がかかってしまうため、また、そのデータを受注管理ソフトにCSVとして一括入力するときに影響するため、今回は使用しませんでした。

テキストファイルのインポートの編集については、私用したことの無い昨日なので、今度試してみます。ありがとうございます。

お礼日時:2008/11/22 16:42

》 「2021/1/1」というデータで、日付として認識されてしまいました。


そのセルを yy-mm-dd に書式設定すると「21-01-01」と表示されますよ。
    • good
    • 0

こんなのはエクセルの経験の有無です。


この質問はよくでるFAQなので質問コーナーの勉強でも判る。
安易なので、エクセルのファイルー開くからやるから、質問のようになる。
それとは違って、
メニューのデータ
外部データの取り込み
データの取り込み
そのCSVファイルを指定(ファイル名入力)
開く
ウイザード1/3の画面になる
次へ
カンマ
次へー>各フィールドに縦線が入る。
商品コード列でクリックーー>黒くなる
「列のデータ形式」で「文字列」
完了
既存のワークシート
スタートポイントセル(左上隅セル)を指定(A1ルなど)
OK
    • good
    • 0

変換したいセルを右クリックして


セルの書式設定→表示形式→ユーザー定義で
##-##-## で書式設定すればいいと思います
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

CSVデータをエクセルに取り込んだ時点で「21-01-01」という文字列は、「2021/1/1」という日付データに変換され、シリアル値だと「44197」になります。

そしてセルの書式設定で「##-##-##」を設定すると、「4-41-97」のようにシリアル値の数字で表示されてしまいました。

お礼日時:2008/11/22 16:49

少し強引な方法ですが、A1セルに2021/1/1という日付データがあるとして、


A2セルに
=IF(TYPE(A1)=2,A1,TEXT(A1,"yy-mm-dd"))
とすれば「21-01-01」と出てきます。
TYPE関数で、通常に出ているのはそのまま参照しています。

本来は、データを読み込む時に文字列にしておくのがベストですが、
エクセルを開いてしまってからであれば、こんな方法でも対応可能かと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。関数を使うと、そんな方法もあるんですね。勉強になります。

今回は、文字列データのまま編集して、文字列データのまま保存したかったので、関数は使用していませんでした。

なので、受注管理ソフトのサポートに教えてもらったCSVデータ編集ソフト「Cassava」を使用してみたいと思います。

お礼日時:2008/11/22 16:45

おそらくCSV出力はちゃんと出来ています。


メモ帳等で開いてご確認下さい。
エクセルに再読込の時に、大きなお世話をしてくれる事があります。
エクセル CSV 日付
で検索すると、対処法が沢山ヒットします。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

CSV出力時には、テキストデータだったようです。メモ帳でCSVデータを開いて見てみると、ダブルクォーテーションで全てが囲まれていて、"00000001"のように管理番号が振られていたり、商品コードの部分も、ダブルクォーテーションで囲まれていたので、文字列のようです。

念のため、CSV出力した受注管理ソフトの会社に問い合わせてみたら、ソフトからの出力の段階では、全て文字列として出力されているらしいです。

エクセルでインポートしたときに、自動的に日付として判断されるので、これを解決しようとする場合、CSVデータをダブルクリックで開くのではなく、エクセルの外部データの取り込みから取り込み、表示形式を文字列に指定してから取り込みしないと駄目みたいです。

しかし、それだと、余計な手間が掛かってしまうため、CSVデータを編集するソフト、「Cassava」を利用しようと思っています。

ありがとうございました。

お礼日時:2008/11/22 16:38

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