本記事作成時点でのバージョンは7.2.0.4です。
問題発生時の状況
Microsoft OfficeでいうところのExcelにあたるLibreOffice Calcですが、とある表を作っているときに、上の写真のように大量に計算式を配置しなければいけないことがありました。
ごく一部を覗いて、エラーにより大量に「#VALUE!」が表示されてしまうことが前提の表です。
なお、他のセルを書き換えたり、いったん違うシートを表示させたあとに戻ってきたりすると、自動計算が発動して再度計算式が更新されます。
その自動計算の際に、1万行以上も「#VALUE!」が表示されていると、再計算が終わるまでに何十秒もかかってしまうことがありました。
さすがにこれでは作業がままならないので、その対処法について。
エラー時は別のテキストに置き換えたらOK。
今回の場合は、正しく計算できず「#VALUE!」になったとしても、「#VALUE!」という結果を表示させなければ、処理速度が大幅に改善されました。

例として…
1 |
=IFERROR(A2+B2, "×") |
上の写真のC2セルには、上記の計算式を入れているのですが、A2およびB2セルが文字列同士であるため、合計値を求める計算にエラーが出ます。
本来ならエラーなので「#VALUE!」になるのですが、IFERRORを使っているので、エラー時には×という文字列を代わりに表示させることにしました。
これにより、処理速度の向上にもつながったので、計算式を大量に使っている表には、できる限りエラー対策を入れておきましょう。
なお、C3にも同様の計算式とIFERRORを入れていますが、こちらは数値同士の計算になるので、×にはならず正しく合計が求められています。
余談
今回はLibreOfficeによる例でしたが、Excelでも同様だと思われます。