• ベストアンサー

エクセルからtxtファイルへの変換

宜しくお願いします。 txtファイルがあります。 中には、14桁の数字があります。 データが膨大なので編集しやすいようにエクセルで読み込みます。 この数字以外の一部を変更します。(1行削除または1列全部同じデータに修正等) 最後にTAB区切りのtxtファイルで保存すると、この14桁の数字が丸められてしまいます。(例56000500000058⇒56000000000000) 書式の表示形式を文字列にするのはなぜか設定してからセルをダブルクリックしないと元の数字列にならないので5000行もあるデータの編集等やってられません。 何かよい方法ありませんか。 要は、5000行もあるtxtファイルの編集を簡単に行ないたいのです。 たとえば、ある列の5000行をいっせいに0から1に変更したいとか。 簡単そうでなかなか思い浮かびません。

質問者が選んだベストアンサー

  • ベストアンサー
  • dac203
  • ベストアンサー率43% (92/212)
回答No.4

>数字が丸められてしまいます EXCEL上での書式が標準のままTXT出力すると「5.60005E+13」といった形で出力されるので、それが原因でしょうか?もしそうであれば出力する際にセル書式を「数字」としてあげれば解決しそうです。 >セルをダブルクリックしないと元の数字列にならない そうですね。バグなのか仕様なのか・・・。一発で・・・というわけにはいきませんが、シート全体を選択して「0と0に全て置換」という作業を0~9まで繰り返せば数字に戻せると思います。手間は手間ですが5000行ダブルクリックするよりは楽です(^^;)。 私も作業効率の面から質問者様と同じようにEXCELを使用することが多かったです。TXTエディタも便利だとは思いますが、列単位の編集となるとやりにくいかなぁ(--)。

d1c492
質問者

お礼

>数字が丸められてしまいます EXCEL上での書式が標準のままTXT出力すると「5.60005E+13」といった形で出力されるので、それが原因でしょうか?もしそうであれば出力する際にセル書式を「数字」としてあげれば解決しそうです。 出来ました。 文字列にすればよいのでは、と思っていましたが逆でした。 よかった。 列単位の編集・・・が問題です。

その他の回答 (5)

回答No.6

> 何かよい方法ありませんか。 正規表現が使用できるテキストエディタを使えばいいと、思います。 > たとえば、ある列の5000行をいっせいに0から1に変更したいとか。 秀丸エディタで、各行の3文字目の0を1に変更したいときは、 検索:「^.{2}\f0\f.*$」 置換:「\01\2」 各行の4文字目の文字を2に変更したいときは、 検索:「^.{3}\f.\f.*$」 置換:「\02\2」 カンマ区切りの5列目を3に変更したいときは、 検索:「^(.+?,){4}\f.+?\f,.*$」 置換:「\03\2」 タブ区切りの6列目を4に変更したいときは、 検索:「^(.+?\t){5}\f.+?\f\t.*$」 置換:「\04\2」 スペース区切りの7列目を5に変更したいときは、 検索:「^(.+? ){6}\f.+?\f .*$」 置換:「\05\2」 などなど、Excelを使わなくても、 「正規表現を使った置換処理」1回だけで、簡単にできます。

d1c492
質問者

お礼

ありがとうございます。 こんなこと出来たんですね。また一つ利口になりました。笑) 秀丸でやってみます。 きいてよかったです。 皆さんありがとうございました。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.5

保存をするときに表示が指数表示のままでは、次に呼び出したときに、情報が欠落してしまいます。 手順は以下の通りです 1.数字の入力されている列を選択します。 2.セルの書式設定で『数値』を選択します。 3.画面表示が変わらないようでしたら、『F9』を押します 4.表示が指数表示から通常表示に変わっていることを確認します。 5.[ファイル]-[名前を付けて保存]でファイルの種類をCSVやTab区切りにして名前をつけて保存をします。 よろしければ、一度お試し下さい

d1c492
質問者

お礼

ありがとうございました。 とりあえず、何とか使えそうです。 助かりました。

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.3

まるまりますか? 書式をカンマ編集にすると=>カンマが付いて書出されて仕舞う。 書式を0~0(14桁)=>そのままかきだされる。 >>要は、5000行もあるtxtファイルの編集を簡単に行ないたいのです。 Excelは元々指数で数字を持っていますから大量データになると 何故か本来の数字になってくれないなどの問題だあります。 例えば、整数なのに少数付きになってしますとか・・・ 少数が付いたらRound関数で整数にしていましけど・・・ 大量のデータの編集に向いているのはテキストエディターです。 高速に動きますし、マクロを組めば一部の変更も出来ます。これなら、数字も文字列扱いでが、TXTファイルが出来上るので 受渡には問題ない筈です。

d1c492
質問者

お礼

ありがとうございます。 イチイチマクロを組むのも面倒です。 決まった作業を毎回同じように何回も行うときはよいでしょうけど。

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

EXCELに取り込むときテキストファイルウィザードで取り込んで いるのであれば3ステップ目のデータビューで列のデータ形式を 文字列として取り込んでいますか。

d1c492
質問者

お礼

ありがとうございます。 文字列だと各々のセルをダブルクリックしないとダメなんですよ。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

大量のデータだからこそ、Excelでは危険です。 私が担当している業務でも、痛い目にあいました。 それは、Excelでは、65535行を超えられないのです。 ではどうしているかというと、対象ファイル(CSV)を 65535行で分割して処理しております。 単純な置換であれば、市販のエディタでできると思うの ですが、いかがでしょうか?

d1c492
質問者

お礼

ありがとうございました。 やはりExcelは、危険ですか。 列修正のやり方がわからなかったのです。