|
▼さや さん:
おはようございます。
>>Evaluate("Sum((a1:a100 = """") * 1)") = 100
>について、説明していただけるとありがたいです。
セル範囲が全部空白か否かの判断は、前述したように
CountBlank関数を使うほうが良い ということをお断りして・・。
Evaluateに関しては、
www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=8117;id=excel
Helpとここを参照していただくとして・・・。
中身の "Sum((a1:a100 = """") * 1)" これは、
配列数式です。
セルA1:A100以外のセルに
「=Sum((a1:a100 = "") * 1)」(両端の「」は除く)
を指定してください。
但し、セルの確定は通常のEnterキーではなく、Ctrl+Shift+Enterキーで確定します。
数式バーには、
{=SUM((A1:A100="")*1)}
このように表示されているはずです。
この数式があるセルには、A1:A100全て空白なら、100と表示されます。
A1:A100="" という数式で空白か否かの結果が
TrueかFalseで100個分の配列として作成されます。
(空白なら、True、そうでなければFalse)
*1 をすることでブール型のデータを数値に変換しています。
(True--->1 False--->0)
これのSumつまり、合計を取得しているので空白の個数が求められます。
Evaluateや配列数式は上手に使うと便利です(私は、そう思っています)。
|
|