複数のセルがすべてカラか判定させる関数 – Excel&Googleスプレッドシート
特定のセルがカラかどうかを判定するぐらいならISBLANK関数が使えますが、残念ながら複数セルの判定はできません。
そこで今回はIF関数とCOUNTA関数を組み合わせ、複数のセルがすべてカラかどうかを判定する方法を解説し〼。コピペで簡単に実装可能です。
Excel、Googleスプレッドシート両方に対応した関数だけで組んでますので、どちらでも同じように動いてくれ 〼 。
関数
=IF(COUNTA(範囲)=0,"すべてカラの場合の表示","カラじゃない場合の表示")
判定結果を表示したいセルに上記関数を入れてください。
あとは範囲の指定と、"(ダブルクォーテーション)で囲まれた部分に表示されるテキストを入れればOK。
入力例
=IF(COUNTA(A1:A8)=0,"すべてカラ","カラじゃない")
=IF(COUNTA(A3,B5,C1:C6)=0,"○","×")
=IF(COUNTA(D:D)=0,"データなし","")
1行目はA1からA8セルまでがすべてカラかどうか判定する場合。全部カラなら「すべてカラ」、ひとつでも値が入ったセルがあった場合は「カラじゃない」と出〼。
2行目は飛び飛びで判定するセルを指定。A3、B5、C1からC6セルが全部カラなら○が、ひとつでも値があれば×が表示され〼。
3行目はD列全部を範囲指定。D列に入力が一切なければ「データなし」と表示。データがひとつでも入っている場合はでなにも表示しません。
3行目のように""と半角ダブルクォーテーションの中になにも入れないでおくことで特にテキストは表示させずカラ表示にすることも可能です。
3行目ではひとつでもデータがある場合非表示としていますが、"データなし"部分を""とすることで範囲内の全セルがカラだった場合になにも表示させないことも。
また、テキスト表示だけでなく関数を入れることも可能。テキスト表示を意味する""を消して処理したい関数などを入れれば、範囲内の全セルがカラだった場合の処理、ひとつでもデータがあった場合の処理を分岐させることができ〼。IF関数便利。
利用例
画像はGoogleスプレッドシートのスクショですが、同じ記述でExcelでも機能し〼
画像は全員出席した場合と一人でも欠席があった場合とでB列の表示が変わる表の例。
各日付の列で誰かが欠席した場合、欠席やら忌引などと書き込み、一人でも欠席者がいた場合はB列に「欠席あり」と表示。
一人も欠席者がいない=行状書き込みがない日は「欠席なし」と出す形。ちなみにこの「欠席あり」「欠席なし」のテキストは空欄も含めて自由に変更可能。
しかしAくんとDちゃん、仲良すぎませんかね……
仕組み
COUNTAは指定範囲内に値があるセルがいくつあるかを数える関数。
で、COUNTA関数が数えたカラではないセルの数が1以上、つまりひとつでもカラでないセルがあればIF関数でTRUE部分に記述したテキストを表示し〼。
反対に、指定範囲内のセルがすべてカラの場合はCOUNTA関数のカウントが0なので、1未満でFALSEのテキストを表示する寸法。
ISBLANK関数を使わず比較にした理由
複数のセルがカラかどうかを確認するだけなら、今回ご紹介したCOUNTA関数の代わりにISBLANK関数とIF関数(もしくはIFS関数)の組み合わせでも実現可能。
ただ、上記のCOUNTA関数で数えて比較する方法なら、比較数値を変更することで「判定するセルのうち2つまではカラじゃなくても許容する」的な使い方もできてオススメ。
汎用性大事。思いついた私エラい!
ディスカッション
コメント一覧
まだ、コメントがありません