H5セル「=IF(L5<=15,"開始1/2","")」の結果は開始1/2、H6セル「=IF(L6<=15,"中止1/2","")」の結果はスペースになっています。
この2つのセルのスペースではない方の表示が出てるカウントを「=COUNTA(H5,H6)」と設定しましたが、1を想定していたところ結果が2となっています。
この原因と正しい式が分かる方お願いします。
COUNTAはセルの中身が空白かどうか、なのでセルの結果までは
見てくれません。
「 =COUNTA(H5:H6)-COUNTIF(H5:H6,"") 」
中身が空白でないセル数から結果が空白のセル数をひいてやると
うまくいくと思います。
ヘルプを見ると、
COUNTA 関数では、空白文字列 ("") を含め、すべてのデータ型の値が計算の対象となります。ただし、空白セルだけは計算の対象となりません。
とあります。上の例だと、Hのセルに入るのは、空白文字列であって、空白セルではありません。
ですから、結果が2になるんでしょうね。
雑駁な解決案は、たとえば、I5セルに、「=IF(LEN(H5)<>0,1,0」、I6セルには「=IF(LEN(H6)<>0,1,0」と入れると、結果はそれぞれ、1,0になります。でどこかに「=SUM(H5:H6)」を入れると、結果は1になります。
あるいは、H列に文字列を返すのではなく、条件になってる場合に1、あってない場合に0を返し、その列のsumを計算する、というのもあるかもしれません。
意外に関数で処理するには面倒な感じですね。
H5とH6にIF関数で「見かけ上」空白の表示をさせても、COUNTA関数は「H5とH6には関数が入っている」から空白ではないということで結果が「2」になっているのだと思います。
=COUNTA(H5:H6)-COUNTIF(H5:H6,"")
上記の式を試してみてください。
やはりこの式ですか・・
http://www.geocities.jp/cxnpp630/iroiro-kansu2.html
こちらに わかりやすくまとまってます。
COUNT 関数は
選択セル範囲内の「値のみカウントする」 (有効値を)
COUNTA 関数は
選択セル範囲内の「記入セルのオールをカウントする」(末尾のAはALLの意味か)
COUNTBLANK 関数は関数は
選択セル範囲内の「空白セルのみカウントする」 (ブランクセルです)
質問の場合は
=COUNTBLANK(L5:L6)
とすればいいでしょう。
範囲でなければ
=COUNTBLANK(L5)+COUNTBLANK(L6)
とすればいいです。
良い解説でしたが、カウントしたいものが逆です・・
「=COUNTA(H5:H6)-COUNTBLANK(H5:H6)」ではいかがでしょうか?
1番の方の回答と考え方は同じです。
簡潔な関数ではかたづかないようです。ここで終了します。
この関数の意味を取り違えていました。
よく分かりました。