• 締切済み

エクセル→CSVについて

エクセルで編集してCSV形式で保存する場合、あるセルに8ケタの数字を入れたくて、[書式設定]-[ユーザー設定]で0を8個いれたのですが、CSV形式で保存すると8ケタになりません。 同様に「'00000001」の形で入力してみてもだめでした。 何かいい方法はありますでしょうか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.8

難しい要求にはVBAで (例データ)A1:C3 1 11 a 2 12 b 3 13 c (コード) Sub test01() Open "c:\My Documents\aa11.csv" For Output As #1 d = Range("A1").CurrentRegion.Rows.Count For i = 1 To d a = Format(Cells(i, "A"), "00000000") b = Format(Cells(i, "B"), "00000000") c = Cells(i, "C") Write #1, a, b, c Next i Close #1 End Sub (結果 メモ帳で開くと)aa11.csv "00000001","00000011","a" "00000002","00000012","b" "00000003","00000013","c" (修正) (1)アウトプットファイル名はフォルダともに変える。 (2)上記は3列ですが、列数が増えた時やデータが文字列、数値に応じて上記のコードの変え方判るでしょうか。 (その他言いたいこと)通常プログラムで値を問題にする場合(が多く)では、「[書式設定]-[ユーザー設定]で0を8個いれたのですが」・・は書式を影響させようと思っても無理。セルのNumberFormatを見てVBAコードで細工することが可能ですが、書式設定はエクセル独自のもので、考慮しないことが多い。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.7

その辺の「001→1」のようなおせっかい機能はエクセルの仕様ですのでどうしようもありません。 対策としては 他の人が仰るようにそもそもCSVを使わない 読み込んだあと再度書式設定で書式を整えるなどです。

  • chupark
  • ベストアンサー率41% (90/218)
回答No.6

書式設定を "文字列"にしておけばできませんか? >同様に「'00000001」の形で入力してみてもだめでした。 ということは、Excelで編集している段階では8桁で入力することに問題はなさそうかなと思いまして…。

  • aw11
  • ベストアンサー率19% (15/76)
回答No.5

こんにちわ。 今試してみたんですけど、できると思います。 CSV形式で保存された内容を、エクセルで確認してもデータと同じ状態にはならないと思います。(一番最後に空白の項目を入れておくと勝手になくなったり、"00000000"は"0"と表示されたり) CSV形式のデータをエクセル編集して、保存すると思わぬところが変更されていたりするので、テキストエディタで編集するのが無難だとおもいます。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

No.1さんの、 > エクセルで再度読み込んだ(表示させた)場合、 で納得。 きちんと保存されているけど、Excelで読み込む際に自動的に00000001→1と変換してくれているわけですね。 csvファイルの拡張子をcsv→txtに変更、Excelの[ファイル]-[開く]からウィザードを使用し、カンマ区切りの文字列として読み込むとか。

  • sero
  • ベストアンサー率47% (916/1944)
回答No.3

CSVファイルに保存した時点では8桁のまま保存されます。 しかし、CSVファイルは書式情報等を持てないタダのテキストファイルですから 再度Excelで開くと「0」が無視されてしまいます。 Excelで再度利用するならCSV形式で保存しなければ良いのです。 CSVファイルを他のアプリケーション等で使用するなら、そのままで 問題ないかと思います。

noname#7200
noname#7200
回答No.2

そもそもCSV形式は単純なテキストファイルなので無理じゃないでしょうか。

回答No.1

>、[書式設定]-[ユーザー設定]で0を8個いれたのですが、CSV形式で保存すると8ケタになりません。 試しにメモ帳で開いてみると、8桁になってます。 エクセルで再度読み込んだ(表示させた)場合、書式設定がcsv形式の情報として反映されていないから1桁の"1"になるのでは?

関連するQ&A

  • エクセルで桁を揃えるために0を表示したセルをCSVでも有効にしたい

    エクセルで000050.000など桁をそろえるためにユーザー定義で設定しました。ところが設定したものをテキスト(CSV)で保存したところ、桁をそろえるために入力していたものがなくなっています。000050.000でしたら、 ただの50になっています。 ためしにセルの書式設定で文字列に変更したところ同じ動きをしました。 CSVに出したとき000050.000と表示されるにはどのようにすればよろしいでしょうか? どうぞよろしくお願いいたします。

  • Excel、csvファイルの変換でトラブル?

    操作方法の間違いもあったかもしれませんが。 Excel、*****.xls で作成した数字データ、 具体的には、9991234567890 という、13桁の数字なのですが、 これをcsv形式のブックに数値のみコピー&ペーストをしました。 その後、csv側で、そのセルに対して、セルの書式設定→表示形式→分類を[数値]にして保存しました。 ところが、しばらくしてからそのcsvを開くと、9990000000000 というデータに変わっていました。 13桁の数字はほかにも頭3桁がさまざまな値のものがあり、すべて後ろ9桁が0000000000になっていました。 csvでデータ化したのが今回が初めてでしたので、何か操作ミスも考えられるのですが、なぜこのようになったのか教えてください。 データの訂正はとりあえず終了したのですが、数千件のデータがこのようになってしまい、本当に困ってしまいました。

  • CSVデータの数値の表示

    教えて下さい。 他プログラムからCSVデータ出力したデータを エクセルで表示すると、13桁の数字が9E+12と表示されて しまいます。 セルの書式設定を「数値」に変更すると一時的に数字が表示されるのですが、一度保存して、再度ファイルを開くと戻ってしまいます。 エクセル形式で保存すれば大丈夫なのですが、どうしてもCSVファイルのままで保存したいのです。 CSVデータで13桁の数字を常に表示する方法を教えて下さい。 よろしくお願いします。

  • エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式で

    エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式であります。その形式は3桁スペース6桁の数字(例)456 789123となっているのを、456789123と、空白をつめて一括で9ケタにしたいのですが、可能でしょうか?セルの書式設定で、ユーザー定義で試みましたがだめでした。よろしくご指導お願いします。

  • Excel2007で数字を入力したセルが・・・E+13となってしまう。

    こんにちは。 仕事で、CSVファイルをExcel2007を開いています。 Excel上で、約3000行のセルに14桁の数字を入力しています。 その後保存して、再度開くと、入力したセルが 「・・・・・E+13」 と表示されてしまいます。 セルの書式設定で、表示形式を数値にすると、14桁の数字に 戻るのですが、再度保存して開くと、 また「・・・・・E+13」となってしまいます。 14桁の数字の表示まま保存するにはどうしたらよいでしょうか? よろしくお願い致します。

  • ExcelでCSV編集時に0サプレスやめさせたい

    ExcelでCSVファイルを編集して保存すると、”000001”などの値が勝手に”1”に変わってしまいます。 日付データなどもExcelのデフォルトのセルの書式設定にしたがったフォーマットに書き換えられてしまいます。 どうにかしてこれを止めさせる方法はないでしょうか。CSV編集用のフリーソフトなどありますが、あくまでExcelで何とかしたいです。 よろしくお願いします。

  • Excel(csv) で入力した文字が日付になってしまいます。

    Excel(csv)で住所を管理しています。 一つのセルに1-1-1のように入力をし、 次回そのファイルを開くと2001/1/1と表示され、 セルの書式設定の表示形式をみると日付になっています。 文字列にしてみても、36892というような 数字にしかならず、元の打ったデータがなんだったか わからなくなってしまいます。 なんとかこの現象を回避する方法はありますでしょうか? よろしくお願いします。

  • ExcelファイルをCSVに変換した場合

    たとえばセルの書式設定でA列の数値「100」を「0100」と4桁で表示させExcelファイルをCSVに変換した場合、書式設定が反映できない為 「100」に戻ってしまうのですが、4桁を保持したい場合どうすればよいでしょうか?書式設定ではなく関数が分かれば書式を文字列に変換してからCSV形式に変換できるのですが...

  • CSVファイルに書式ってあるんですか?

    CSVファイルに関して質問があります。 ある数値のデータがあるEXCELファイル((1)とします)をCSV形式で保存します。 そのCSVファイルのアイコンをクリックすると、当然EXCELで開くことができます((2)とします)が、その時に、EXCEL(1)で設定した書式によって、EXCEL(2)で表示されるものが変わるという現象が起きてます。 具体的に言うと、EXCEL(1)で桁区切りをつけた書式を設定すると、EXCEL(2)でも桁区切りが表示され、EXCEL(1)で桁区切りをつけないとEXCEL(2)でも表示されないという状態です。 質問は以下の2つです。 1.「CSVファイルは書式を持たない」というような認識を持っていたのですが、それは違うのでしょうか? 2.EXCEL(1)の書式は違っても、EXCEL(2)で表示されるものを同じものにするにはどうすればよいのでしょうか? 詳しい方どなたか教えてください。

  • ExcelからCSV出力して読込むと削除変換される

      Excelのブック1のシートに入力されたデータを 一度、CSVファイルに出力して このCSVファイルを別のツール(perlなど)で変換して この変換されたCSVファイルを再び 別のExcelのブック2のシートに読み込ませたいのですが Excelのブック1から出力したCSVファイルを 別のツールで変換しなくてもそのまま Excelのブック2のシートに読み込ませた時点で 文字の一部が消えたり数式が値になったりしてしまっています。 具体的には、 セルの先頭の ' (シングルクォーテーション) が消えてしまったり、 1つ足りなくなったりしています。また、 先頭の =1+1 などは、(表示上) 2になったりしてしまっています。 なお、セルの書式設定が標準だと、先頭の @ の後に続けて入力すると 正しく入力できませんが、セルの書式設定を文字列にすると、 この @ の問題は起きなくなりました。でも、セルの書式設定を文字列にしても ' (シングルクォーテーション) や数式が計算結果になる問題は 解決していません。 (問1) 削除されたり変換されてしまうのは     ・先頭の ' (シングルクォーテーション)     ・先頭の =     ・先頭の @    の3つのケースだけでしょうか。    このほかにもありましたら教えてください。 (問2) 先頭の =1+1 の場合ですが    セルの書式設定が標準の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が標準だと2と表示されていてその後    セルの書式設定を文字列にしても2と表示されています。    逆に、    セルの書式設定が文字列の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が文字列だと =1+1 と表示されていてその後    セルの書式設定を標準にしても =1+1 と表示されています。    いずれも入力したデータは同じなのに    入力時点での表示形式で表示内容が固定されてしまっていて    その後、表示形式を変更しても表示内容が反映されていない    ように感じるのですが何が起きているのでしょうか。 (問3) 前述の理由により、CSVファイルをセルの書式設定が文字列    の状態で読み込ませることはできるのでしょうか。    (後でセルの書式設定を文字列に変更しても =1+1 と表示されないので) (問4) Excelのブック1のシートのセルには     ユーザーが好き勝手な文字や数値や記号を入力します。     何を入力されても変化してしまわないようにすることはできるでしょうか。      ( 頭に ' を付けることをユーザーに強要するとか、       事前にセルの頭に ' を入力しておくなどはなしです) (問5) もし、できない場合、Excelのブック1のシートの各セルの先頭に     ' (シングルクォーテーション) や = から始まる数式を    入力することができないように制限をかけることはできるのでしょうか。 よろしくお願いします。(Windows7,Excel2010)

専門家に質問してみよう