• ベストアンサー

エクセルから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は、危険ですか。 列修正のやり方がわからなかったのです。

関連するQ&A

  • ExcelでtxtファイルをVBAで読み込む方法

    スペース区切りのテキストファイル(拡張子はtxt)が有ります。 データは、数字ですが上桁には0が入っています。 00001 0003 010222 302033 00025 等のデータです。 このファイルを、ウイザードを使わずにVBAにて直接文字列(テキスト)として読み込むコマンドを失念してしまいました。 教えて下さい。宜しくお願い致します。

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • [awk]でデータ整理がしたいです。

    こんばんは この度、研究で膨大なデータをまとめたいのでawkを使おうと思っています。 元のファイルは約1万個あります。 ファイル名は R150km‐1020010001.txt から R150km‐1021800180.txt まであります。 102までは共通でそのあとの数字が変わります。 0010001...0010180 0020001 0020002...0020180.................1800180 といった形です。 中身は、 0 0 0 34 57 69 79 109 ....... といったように1行で8000列の数値データが入っています。 このファイルを下記のように1行目に0010001のファイルの中身、tabで区切って、2行目に0010002のファイルの中身といった形で一つのtxtにまとめたいです。 0 (tab) 0 (tab) 0 ... 34(tab) 28(tab) 36... 57(tab) 67(tab) 53... 69(tab) 78(tab) 72... 79(tab) 89(tab) 88... 109(tab) 99(tab)107 ... ... .... ... 可能でしょうか?ご回答お待ちしております。 よろしくお願いします。 awk初心者なので何か足りないところあったらすみません。

  • エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。

    エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。 ダウンロードしたエクセルデータのA列に日付として8桁の数字が入っているのですが、文字列として認識してるようで日付に変換出来ません。 例えば2010年1月1日の欄には20100101と入っていて、2001/01/01と変換したいのですがどうすればいいでしょうか。 セルの書式設定→表示形式→ユーザー定義で試してみましたが上手くいきませんでした。 データの量が何千行もあって膨大なので、1行ずつスラッシュを入れていくという作業は出来ません。 8桁の数字を一括して日付に変換出来る方法はあるのでしょうか。 教えて下さい。 宜しくお願い致します。

  • 【Access97】txtファイルの一括インポート

    txtファイルをAccessへ自動でインポートする方法としてはマクロの”テキスト変換”しか知識がありません。 今回そのtxtファイルが1000個以上あり、一回一回txtファイル名を変えての”テキスト変換”では膨大な時間がかかってしまいます。 ファイル名はすべて「数字4桁.txt」で統一、1つのフォルダ内に保存してありますので、この条件でAccessへ一度に取り込む方法があればご教授ください。 <txtファイル:ヘッダーなし、1ファイルにつき1~100行程度のデータ> 001,"トウキヨウ","東京" 002,"オオサカ","大阪" 003,"ナゴヤ","名古屋" 004,"フクオカ","福岡"   ・   ・   ・ <Accessテーブル:フィールド名はtxtデータの並び順に合わせて作成> ─── ──── ─── 番号   支店カナ 支店名 ─── ──── ───

  • テキスト形式(.txt)をエクセルで読み込むときに1桁目の「0」を読み込みたい

    タブ区切りで作成されたテキストデータがあります。 これをエクセルで読み込むと、タブ区切りからセル区切りに自動的に変換されますが、 テキストに「0」から始まるデータがある場合、エクセルに変換されると数値として読み取ってしまうので、2桁目以降の0以外の数字を1桁目として認識してしまいます。 つまり、 「テキストデータを「文字列」のデータとしてエクセルで読み取る」 方法を探しています。 ご存知の方、教えてください。 よろしくお願いいたします。

  • excelからtab区切りテキストへの変換で…。

    過去の質問を検索しましたが、無い様ですので質問させてください。 excelでためたデータベースをtab区切りテキストに変換したのですが、 できあがったtab区切りテキストをテキストエディタで開きますと、 (" ")が勝手にデータの両端についてしまうのです。 例えば(18,000)という数字データがあったとします、 それをタブ区切りテキストに書き出すと、("18,000")という風になってしまいます。 そこで、とりあえずすべてのデータの書式を文字列にしてやりますと、(18000)となってしまいますから、 文字列として(,)を追加したのですが、 やっぱりtab区切りテキストに変換すると(" ")がついてきます。 ただし、普通の文字のフィールドは大丈夫です。 (" ")を消す方法はないでしょうか? 少々わかりにくい説明ですが、何卒よろしくお願いします。 あと、追加で質問なのですが、桁数の多い数字が勝手に16進数?に変わってしまいます。 こちらの方も原因が分かりませんので教えていただければ幸いです。 ちなみに検証してみたexcelのバージョンは Win版 Excel2000 Mac版 Excel98 です。 設定は特にいじっていませんので、初期設定だと思います。 よろしくお願いします。

  • phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ

    phpファイルと読み込みたい変数が書かれたtxtファイルが同じフォルダ階層に以下の名前であります。 1, yomikomi.php 2, hensuu.txt hensuu.txtの内容は &days=1,8,15,22,29&days_b=3,10,17,24&last=end& の1行です、 &で囲まれた変数"days" と"days_b" の値が、カンマ区切りで書かれています。 数字の個数や値は手入力で修正し毎回変動します。 last=end&の意味は分かりません。 他のプログラムも参照しますので、数字以外の書式は変えることは 出来ません。 やりたい事は yomikomi.phpの中からhennsuu.txtの変数 days says_b を配列変数として読み込みたいのです。 どなたかお知恵をお貸し下さい。

    • ベストアンサー
    • PHP
  • エクセルで保存してしまったものTXTファイルへ

    会社の会計システム(SAP)からweb bankへ読み込ませる為のファイルをテキストファイルで設定しなければいけいないものを、「.exl」で保存してしまいました。 エクセルファイルをTXTファイルで保存しなおしweb bankへ読み込ませたのですがエラーになりました。理由の一つは合計額のところが桁数が多くて表示がきちんとされていない事が考えられます。 桁数が多くて数字の列になっておらず、それをきちんと数字の羅列にするためにはどうすればいいのでしょうか? エクセルだと書式設定で直ると思いますが、NOTE padだと、どうすればいいやらわかりません。 ネットでしらべると、ソフトのようなものをダウンロードしてなど、書いてありますが、会社のPCなのでそういうことはできません。 よろしくお願いいたします。

  • VBA 大きなtxtテキストファイルを開く方法

    VBA excelで大きなtxtファイルを開きたいのです!65500行(excelの行のMax)以上の場合sheetを分けてtxtのデータを全部開く場合にどうしたら良いのかどたなかアドバイスをお願いします。txtファイルを開くプログラムは作成した事があるのですが今回必要としている作業はほぼ65500行以上あるデータです。txtファイル名はその都度違います。データ量も一定ではありません。(行数は多いのですが、列は5列ほどのデータです)現在はマニュアルでエクセルにコピペしている状態です。ヒントを頂ければ幸いです。よろしくお願いします。

専門家に質問してみよう