VBA Speedup

VBA高速化検証:If...Then...ElseステートメントとIIf関数

 条件によって変数に代入する値を変える場合などに使用するIIf関数ですが、If...Then...Elseステートメントを使用した場合とどちらが高速か疑問に思い、速度比較検証を行いました。尚、Excel2003と2007で検証を行っています。


「If...Then...Else」「IIf関数」速度比較

 下の表とグラフは、私のパソコン※でスピード検証テストを行った結果です。
 ※Vista / intel Core2 Duo / Excel2003,2007


結果

 ・Excel2003と2007では、ほぼ同様の結果であった
 ・If...Then...Elseステートメントが高速であった(IIf関数の8倍以上)


結論

 よっぽどの事情がない限り、IIf関数は使用しない方が良い。

※今回のテストは私のパソコンのみの検証であり、どのような環境でも、同様の結果を保証するもの
 ではありません。

※Excelのバージョンで結果に違いが出る事が考えられます。


検証テストコードとファイル

 検証テストのコード ・・・ [ Code ]

 検証テストを行ったファイルです。興味の有る方は試してみて下さい。
  ・Excel97-2010 ・・・[Test_File]


Excel Tips for Teachers

Copyright (C) 2009- 坂江 保 All Rights Reserved.