【スプレッドシート初心者向け】絶対に覚えておきたい関数「ARRAYFORMULA関数」編
スプレッドシートの関数、ARRAYFORMULAについて学びましょう。この関数は一度に複数のセルに対して計算を行うことができます。
ARRAYFORMULA関数:一度にたくさんの計算をする関数
ARRAYFORMULA関数は、一つの式をスプレッドシートの複数のセルに適用するための関数です。これは、同じ計算をたくさんのデータに適用したいときに非常に便利です。
また、処理をしたい列の最初の行に関数を入れるだけで済むので、関数の更新ミスや関数が正しく機能しているのかの確認を同時にできるので、効率的な処理が可能です。
例えば、あなたが各月の収入と支出からその月の利益を計算したいとします。以下のような収入と支出があったとします。
スプレッドシートに以下のように入力します:
$$
\begin{array}{|c|c|c|}
\hline
\text{月} & \text{収入} & \text{支出} \\
\hline
\text{1月} & 30000 & 20000 \\
\hline
\text{2月} & 35000 & 25000 \\
\hline
\text{3月} & 40000 & 30000 \\
\hline
\text{4月} & 45000 & 35000 \\
\hline
\text{5月} & 50000 & 40000 \\
\hline
\end{array}
$$
そして、次のようにARRAYFORMULA関数を使います:
=ARRAYFORMULA(B2:B6 - C2:C6)
これは、「B2からB6までのセルの数字から、C2からC6までのセルの数字を引いてください」という意味です。すると、以下のような結果が得られます。
$$
\begin{array}{|l|c|c|c|}
\hline
\text{月} & \text{収入} & \text{支出} & \text{利益} \\
\hline
\text{1月} & 30000 & 20000 & 10000 \\
\hline
\text{2月} & 35000 & 25000 & 10000 \\
\hline
\text{3月} & 40000 & 30000 & 10000 \\
\hline
\text{4月} & 45000 & 35000 & 10000 \\
\hline
\text{5月} & 50000 & 40000 & 10000 \\
\hline
\end{array}
$$
これが各月の利益です。ARRAYFORMULA関数を使うことで、一度に全ての月の利益を計算することができました。
※注意1
ARRAYFORMULA関数は指定した範囲すべての行に反映同じ関数を反映してしまいます。
そのため、上記のような計算式を入れていて、エラーが出たりすることがあります。
エラーを避ける方法として、IF関数と組み合わせることをお勧めします。
(例)
=ARRAYFORMULA(IF(B2:B6="","",B2:B6 - C2:C6))
これは、「もしB2からB6の間で空の行があった場合、【空白】を出力してください。逆にB2からB6の間で値が入っている場合はB列とC列の値同士で引き算をしてください。」
というような内容になります。
※注意2
VLOOKUPやCOUNT、SUMなどに組み合わせる場合、範囲指定の開始行も自動的に下がってしまいます。
必ず範囲などは$を使用して固定するようにしてください。
ARRAYFORMULA関数はエラーが出た時の対処法に関しても記述しておくと、完全自動処理できるようになります。
以上が、ARRAYFORMULA関数の使い方です。この関数を使って、スプレッドシートで一度にたくさんの計算を楽しんでみてくださいね!