Excelで300万行を速く計算する方法
■ このスレッドは過去ログ倉庫に格納されています
Excelっていうか、データが300万行あるってこと?
それをExcelで読ませて計算したい? 数十万行のExcelファイルが複数あって
それを速く集計する方法について VBA使うならできるよ
1行ずつ読み込んで、配列に格納して計算すればいい 昨日はExcelの限界は1048576行列にだよってレスが多かったけど
複数ファイル合わせて300万行超えるよって話 なんか使う関数次第で結構差が出るんだよな
lookup系のヤツ使うと特に重くなる印象 300万行のセルに入力するのがだるい
そしてあっているかわかるの? 1 フォルダ配下のファイル名を取得する
2 ファイル名でループする
3 ファイルを1行ずつ読み込むループさせる
4 必要な値を配列に格納する or 計算結果を変数に格納 元データ全部合わせると300万行超えるけど
集計したら数千行で収まります >>12
だいたいこういうのビックデータ分析だからデータはあっているものとするんじゃない?
俺は1日3000万件収集されるビックデータを分析するために簡易的にVBA使ってた てか一回部位ルックして計算し終えたら
それをメモ帳に張り付けて関数消す
そのあとメモ帳コピってはりつけるだけで相当速くなる >>19
vlookupとかクソ遅すぎて使い物にならんよ CSVとして結合した単一ファイルを作りExcelの存在を無視して集計する 今やってる事
1つのフォルダに数十万行のExcelファイルが複数ある
それをQueryで一つに集計する
集計はQueryが行うけどSUMIFSと同じようなイメージ >>21
俺もこれかな
またはAccessで瞬殺かな >>19
範囲選択してコピーしてそのまま値だけ貼り付けでよくね VLOOKUPって言う人多いけど365だからもう使わないです
元データを1つのフォルダにぶっこんであとはQueryが勝手に計算する vbaって大量データの場合重いよね
c#でコード書いてる PowerQueryとPowerPivotの組み合わせ
いわゆるモダンExcelでもかなり遅い >>27
昨日はC++が秒殺だよっていうレス見たけどどうなのかな Queryってなんのこと言ってんの
DBのクエリ?LINQ?EXCELファイルをインポートしたDataTableで加工すんの? Webスクレイピングでサイトから撮ってきたデータを一行ずつ処理してるんだけどそれで1分くらいかかるわ
もう少し最適化したい >>33
コード 名前 数
の3列が1ファイルに数十万行ある
コードは全部で1万種類くらい
データが100万行あっても集計したら1万行になるはず モダンExcelだと遅い
速く計算したい
ワークシート関数だともっと遅い そんなシンプルなデータをExcelにしてる時点で管理がウンコだな
明日からcsvにしろ >>39
すまん
プログラミングはサッパリわからん プログラミングわからんなら300万行に手を出すなよ >>40
csvなら速いか?
300万行でも楽々? 計算できるかは知らんけどsakuraで正規表現で必要なデータだけトリムしてExcelに貼れば? >>48
つーか情報小出しだし要件が全く不明
わざとじゃないなら300万行処理できる知性に達してない CSVにしてEmEditorでやれ
300万くらいなら十秒もかからんぞ こんなところでウダウダ聞くより何でもいいからプログラム覚えた方が早いんじゃね 一回CSVにしてからテキストエディタに読み出して10万行刻みにExcelに貼り付けて集計していけばいいじゃん Excelのクエリ知らないのが多いからここで聞いても無駄 PowerQueryとPowerPivotならわる
スピルも使える
Queryとスピルの組み合わせが良いと思うんだけど クエリのマージを多用すると重くなる
グループ化ならいいけどマージはワークシートでやるのがオススメ 一言で言うとsql使え
最低でもjqとか
演算速度がダンチすぎる 何でわざわざエクセルなんだよ
アクセスでもなんでもあるだろ ■ このスレッドは過去ログ倉庫に格納されています