IFおよびISBLANKステートメントを使用して、情報が含まれているセルの範囲を判別する


10

空白かどうかに関係なく、セルの範囲を確認する数式があります。

それらがすべて空白の場合は、別の空白を返します。

範囲内のいずれかのセルが空白でない場合、値を返しますMajor Milestone Due

これが私が現在持っている式です:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

Major Milestone Dueすべての空白セルを含む特定の行範囲がある場合でも、すべてをとして返します。

回答:


16

COUNTAではない範囲のセルの数を示します

だから...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")

基本的な式:NOT(COUNTA(BM2:BQ2))は、AND(COUNTA(BN2)、NOT(COUNTA(BM2:BQ2)))などのより論理的な演算子に適用できます
Rhak Kahr

9

配列数式として入力されている場合、数式は正しいです。

isblankあなたが使用して、配列数式としてこれを入力しない限り、配列のために動作しませんctrl+ shift+ enter。中かっこで囲むと、次のようになります。

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

また、if-countaはこれを問題なく行います-

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")


配列の数式が正しくありません。このバージョンは、範囲内の最初のセルに値が含まれている場合にのみからTRUEに移動しFALSEます。範囲内のすべてのセルを正しくチェックするには、AND追加する必要があります{=IF(AND(ISBLANK(BM2:BQ2)),"","Major Milestone Due")}
Marcus Hughes

@MarcusHughesどうしてそうなるの?これは配列数式であり、配列全体で機能します
Raystafarian

その理由は正確にはわかりませんが、テストしました(Excel 2010)だけでは動作しませんISBLANK。その数式を入力して、範囲の最初のセルを空白のままにして、範囲内の後のセルにデータを入力してください。ISBLANK条件はまだ返されTRUEます。最初のセルにデータを入力した場合のみ、FALSE正しく返されます。追加してみてくださいAND。範囲内のいずれかのセルにデータが追加された場合、そのセルは正常に戻りFALSEます。(これは2010年の奇妙な変種だけではないと思います。)
Marcus Hughes

2

考慮すべき重要なことは、「空白」の定義です。「別の空白を返したい」という言葉を使用したという事実に基づいて、空白を表示するセルとして「空白」を定義しているように見えますが、実際には、出力する""ため空ではない数式が含まれている可能性があります

COUNTAそしてISBLANKあなたがそれらの2つの式が本当に探しているので、ブランクとして、細胞のこれらの種類を扱いたい場合のメソッドは動作しませんのセル。出力する数式を処理""するには、2つのオプションがあります。


  • 常に範囲のサイズがわかっている場合は、次のいずれかを使用できます。

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    ここで、5は範囲のサイズです。この方法は、ダイナミックレンジでは機能しません。


  • 少し複雑な式(説明するのは、少なくとも、より複雑な!)を使用していますSUMPRODUCT

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


COUNTIF(BM2:BQ2,"<>")と同じ問題があることに注意してくださいCOUNTA。)


-1

ほぼ同じ質問の答えを探してこのページにたどり着きました。

それCOUNTAが言及されているのを見たとき、私はほとんどすぐに何をすべきかを知っていました。少し異なるコンテキストでは、列の左側に列の範囲がありnot started、同じ行のすべてのセルが空(空白)である場合に言いたいことがあります。

次の式は私のために働きます。

=IF(COUNTA(P3:U3)=0,"Not Started"...)

省略記号はIF、数式にいくつかの追加の関数があり、1つ以上が入力されている場合に範囲でさらにテストを実行することを示しています。


スーパーユーザーへようこそ。あなたの回答が反対票を集めていることに気づきました。考えられる理由は、重複を避けようとすることです。各回答は、すでに提供されているものとは実質的に異なるソリューションを提供することを目的としています。これは本質的にレイスタファリアンの答えの第二部を複製します。
fixer1234 2016

私の答えはコメントとしてキャストされるべきでした。
デビッドA.グレイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.