Google Sheetsで ARRAYFORMULA の空欄処理を最適化するテクニック

こんにちは、阿久梨絵です!
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
阿久梨絵でした!

上部へスクロール
Verified by MonsterInsights