やりたいこと
・10行に1行の割合でデータ抽出
・特定列の値を基準に行を並べ替える
できなくてよいこと
・グラフ作成
・表計算
エクセルで扱えるのは ひとつのシートで65536行までです。
それ以上だと アクセスとかになるでしょうが、アクセスでも数万件程度に してたほうがいいです。
それ以上は、SQL サーバーか、オラクルなどのデータベースとなります。
RetroEngine: sed アーカイブ
DOSの頃の古いソフトです。処理が並べ替えとかテキストをいじるだけなので、こういうソフトが一番なんですが、マクロを組まないといけないので、その部分が大変でしょうね。自分でプログラム組むよりも楽、あと考えられるのは、強制的にファイルを分割して、エクセルで処理するというやり方だけど、並べ替えがあるから、ちよっと無理かな。
一時期、Perl の教科書と首っ引きでいろいろやっていた時期もあったのですが、ぜんぜん頭に入らなくて、使わなくなったとたんに全部忘れました。今また、あの不毛な勉強を繰り返す気になれないのです。
現状
Node 1,1.82560E+07
Node 2,5.38378E+06
Node 3,2.08631E+07
Node 4,5.50201E+06
Node 5,1.87050E+07
Node 6,5.74940E+06
Node 7,1.74420E+07
Node 8,5.87463E+06
Node 9,1.67947E+07
こんなデータが156万行あるのですが、ここでやりたいことは、単にカンマの後ろの数字の上位10個を選びたいだけだったりします。こういったデータ処理がたくさんあるんですよ、今日。今日、ってのがお笑いなんですが。正規表現も、何度使っても頭に入らないのであれなんですけれども、仕方ない、とりあえずsedでなんとかしますかね。常用しているSpeeeeedはエラーを起こすのですが、sedなら大丈夫なのかな。
http://www.vector.co.jp/soft/winnt/business/se356762.html
ズバリ自動化Waha! Transformer Personal(WindowsNT/2000/XP / ビジネス)
データベースソフトで簡単に使えそうなものという事で、こういうのは、どうでしょう。
http://www.vector.co.jp/soft/win95/business/se301161.html
CS Editor(Windows95/98/Me / ビジネス)
こんなのも
CS Editor がメモリ不足で落ちました。156万行あってもファイルサイズは高々40MB程度。2GBのメモリをつんでいるのに、なぜ落ちるのかな。ズバリ自動化も検討してみます。
オーバースペックでは?
http://k2top.jpn.org/index.php?K2Editor
K2Editor - K2 Software's Page
もう見ていないかな…
テキストエディタしか使えない私の解決策としては
リンク先のような正規表現の検索置換ができるテキストエディタで
検索語:(^.*¥n)^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n
置換語:¥1,
とすると、10行が1行になります。
単純に間引くだけならこれでもできると思うのですが、問題はそのファイルが開くかどうかですね。
その後、軽くしたデータをExcelで開いては?
いやー、私も間引くだけなら Speeeeed でやっちゃうところなんですけれども、156万行というのが大きすぎるらしくて、エラー落ち。CSV エディターの類もファイル読み込みでアウト。
で、結局、今日は AWK の教本と首っ引きで非効率なスクリプトを書いて処理しました。というわけで目先の課題はもう解決しているのですが、何かいい回答がついていないかなー、と期待中。
MRDB Forum
MRDB Ver.6.0というソフトはいかがでしょうか?NEはOrcle同様のマルチユーザ版なので6.0でいいと思います。
1.ExcelのデータをCSVかSylk形式に変換する。
2.MRDBでレコードを定義する。(以後はMRDBでの操作です)
3.外部ファイル入力で1のデータを取り込む
4.連番を振る
5.条件で連番を10で割った余りが0のレコードを抽出又は表示、印刷
6.表一覧から表を選択し右クリック。ソートする。
以上の操作で2だけは項目数により変化しますが慣れた人なら数時間で全部できてしまいます。
1ヶ月のサンプル版も入門テキストもダウンロード可能ですから試して見てください。
本ソフトは佐倉市や富士宮市などでよく使われているソフトです。特に災害発生時の被災者支援には生産性が高い事でよく使われています。
また、関数もExcel同様のSUMの他に「合計」という関数も用意されています。
高度なことをやる場合にはC原語との連携も可能です。
レコード数は1表あたり1200万件まで対応可能です。
オーベースペックではないかと。awk で簡単に(入門書に掲載されている初歩的なサンプルをつなぎ合わせるだけ……まあ、それがなかなか、苦手な人=私にはつらいのですが)できることをしたいと思っているに過ぎないので。
アクセスは高機能すぎまして……。勉強するのが面倒くさいです。今回のはてなの意図は、エクセルより高機能な表計算ソフトがほしいという話ではなくて、エクセルで処理するための前工程に適したソフトウェアがほしい、ということなのです。ソートした上位分だけエクセルに読み込むとか、10分の1、100分の1だけサンプリングしてエクセルに読み込むとか。