1. 配列数式を多用すると保守しにくい
これまで、「配列を返すカスタム関数」、「配列数式に置きかえるための ARRAYFORMUAL 関数」「行列の積」のように「複数行を計算結果として返す関数」を見てきた。
- カスタム関数を多くのセルで呼び出しエラーが表示される場合、配列を返す関数(配列数式)に変更する。または、新しいスプレッドシートを利用。
- 「数式の繰り返し」を ARRAYFORMULA で置きかえる (1)
- 「数式の繰り返し」を ARRAYFORMULA で置きかえる (2) - VLOOKUP 関数の場合
- SUM 関数の繰り返しを「行列の積」で置きかえる
「数式の繰り返し」を「配列数式」で置き換えると、数式が複雑になる。カスタム関数は、元の関数をラップする関数が必要となる。そのため、保守まで考えると乱用したくない。
加えて、2013年12月以前の Google スプレッドシートでは、配列数式を用いると処理できる計算が多くなった。しかし、現在のバージョンでは、計算できる処理量に差がないように見える。
2. 配列数式のメリット
それでも、配列数式を用いるメリットはある。それは、
- 配列数式を用いると、シートの行が足りなくなり「行を追加する」と、行が増えた分だけ自動で再計算を行なってくれること。
- そのため、前行の数式を手作業で「下方向へコピー」する手間が省ける。
- また、配列数式を入力した行以外では、誤って式を消したり、変更されたりする心配がない。
以下の例で説明する。
a. 手動で数式を下方向へコピーする場合
例えば、「配列数式」を使わずに、行を追加する度に数式を下方向へコピーする場合。
最初に「行」を追加する。次に、「下方向へコピー」したいセルを選択する。
そして、下方向へのコピーを行わなければならない。
「下方向へコピーしたセル」は数式なので、誤って消してしまったり、意図せず誤入力をしてデータを壊してしまうことがある。
b. 「配列数式」を利用する場合
これに対して、配列数式の場合は、行を追加した後、再計算が行われ、自動的にセルに値が入力される。
以下のように、行を追加すると、「処理中」と通知が出た後、計算が必要なセルに自動的に値が入力される。
ただし、これは配列数式の呼び出しで、計算を行う範囲が適切に指定されていることによる。
その後、計算元となる値をセルに入力していくと、すぐに再計算が行われる。
自動的に入力されたセルは、誤って消したり、誤入力をしても、再計算が行われ元のデータに戻る。
0コメント:
コメントを投稿