こんにちは、阿久梨絵です!
Google Sheetsで ARRAYFORMULA とIF関数を使えば、複数行のデータに一括処理ができてとても便利です。たとえば、点数に応じて「合格」「不合格」を表示するような処理は、教育現場や社内評価などでよく使われます。
しかし、空欄のセルにまで「不合格」(下記図の7行目)と表示されてしまうという問題に直面したことはありませんか?

Google スプレッドシートのARRAYFORMULA関数の使い方・活用例の問題点
関連記事:Google スプレッドシートのARRAYFORMULA関数の使い方・活用例
以下のような式を使うと、A列の点数が100以上なら「合格」、それ以外は「不合格」と表示されます。
=ARRAYFORMULA(IF(A2:A >= 100, “合格”, “不合格”))
この式は一見便利ですが、A2:Aのように列全体を指定すると、空欄のセルにも「不合格」が表示されてしまうのです。これは見た目にも分かりづらく、誤解を招く可能性があります。
解決策①:範囲を限定する
空欄に「不合格」が出るのを防ぐには、対象範囲を明示的に指定する方法があります。例えば、データがA2〜A6までなら、以下のように書き換えます。
=ARRAYFORMULA(IF(A2:A6 >= 100, “合格”, “不合格”))
これにより、A7以降の空欄には何も表示されなくなり、見た目もスッキリします。

解決策②:ISBLANKで空欄を除外する
もう一つの方法は、空欄セルを条件で除外することです。これにはISBLANK関数を使います。
=ARRAYFORMULA(IF(ISBLANK(A2:A), “”, IF(A2:A >= 100, “合格”, “不合格”)))
この式では、まずISBLANKで空欄をチェックし、空欄なら空文字(””)を返します。そうでなければ点数判定を行います。
この方法なら、列全体(A2:A)を指定しても空欄が自動的に除外されるため、範囲指定の手間が不要になります。

範囲指定 vs 空欄除外:どちらがベスト?
| 方法 | メリット | デメリット | おすすめシーン |
|---|---|---|---|
| 範囲指定(例:A2:A6) | 処理対象が明確 | 行数が変わると手動調整が必要 | データ量が固定・少ない場合 |
| ISBLANKで空欄除外 | 自動で空欄を除外/柔軟 | 式がやや複雑 | データが増減する可能性がある場合/自動化したい場合 |
まとめ
Google Sheetsの ARRAYFORMULA は非常に強力ですが、空欄処理を意識することで、よりスマートで誤解のない表現が可能になります。
・データ量が決まっているなら範囲指定でOK
・柔軟に対応したいならISBLANKで空欄除外が便利
用途に応じて使い分けて、より見やすく、正確なスプレッドシートを作成しましょう!Google
阿久梨絵でした!
