[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『3万行ほどのデータのフィルタなどが重い』(だん)
宜しくお願い致します。
タイトル通り3万行ほどのリストデータを、
列ごとに重複は赤くしてその分を色フィルターで絞る、
を押すだけでエクセルが固まりかけてしまいます。
フィルター機能をサクッとするやり方ご存じないでしょうか?
テーブルにしてみて少し軽くなりましたがそれでも遅いです。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
もし式があるのならばコピー、値の貼り付けで式を値に変換してはどうだろうか? (ねむねむ) 2021/08/16(月) 14:38
式は値だけにして軽くしております。
マクロというものでフィルターと同じことはできないでしょうか?
(だん) 2021/08/16(月) 14:47
重複を赤くするのは条件付き書式で行っていますか? 条件付き書式は重くなる原因となるので、重複の判定列を作成してその列で絞込で軽くならないでしょうか。
マクロでフィルターをかけることはできますが、 マクロからフィルター機能を使う、というだけなので軽くならないと思います(検証したことないのでわかりませんが) 根本原因としてデータの重さが問題だと思うので、先にデータ軽くしませんか? (*) 2021/08/16(月) 15:02
7万件のデータで実施してみました。(当方Excel2010)
条件付き書式の[重複する値]を1列に設定するだけで、 めちゃくちゃ動作が鈍くなりますね。(重複の量にも寄ると思いますが) 該当列のオートフィルタ矢印を押すだけで10秒弱は待たされます。
(白茶) 2021/08/16(月) 15:33
30,000*30,000 = 900,000,000ですからねぇ。時間掛かってもしょうがないです。
アイデアだけですが・・ 30,000*(2+アルファ) くらいで出来そうな気がする。
30,000の配列の入れ物を作る 重複があるかどうか、Dicrtionryオブジェクトを使って判定する。 重複がある行番号に対応する配列の位置に「1」でも書き込む(※) 最後に配列を表の右横列に書き出す。 書き出された列で1をフィルタで抽出する。
(※)マクロの実装にちょっと工夫が必要。
(半平太) 2021/08/17(火) 17:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.