Ⅰ.VLOOKUP関数の遅さを体験
1) Excelのオプションの計算方法の設定を[手動]に変え、[ブックの保存前に再計算を行う]のチェックを外す。2) 下記の10万行をVLOOKUPで埋め尽くしたSheet1及び参照先のSheet2からなるBookを作成。
→ 実際に使用したBookはこちら。※こちらをクリックするとダウンロード
Sheet1 ※参照元 ※4~99990行は非表示 |
Sheet2 ※参照先 ※4~99990行目は非表示 |
3) 再計算をクリックし、遅さを体験
→ Core2Duo L7100 1.2GHz環境では完了まで約18分かかった。
Ⅱ.改善
1) Sheet1を以下のように変更→ 実際の改善版はこちら。※こちらをクリックするとダウンロード
→ 参照先がソートされてることが条件で、VLOOKUPと同じ動きをIF、INDEX、MATCHを使って再現。
2) 再計算をクリックし、速さを体験
→ 同環境で完了まで3秒以下。実に、360倍以上。
参考
- エクセルでVLOOKUP関数を使用すると、データ数が多くてフリーズしてしまいます。(Office系ソフトのQ&A)
http://okwave.jp/qa/q4733179.html
0 件のコメント:
コメントを投稿