- ベストアンサー
エクセル/指定範囲のセル数を返すワークシート関数は?
エクセル2000です。 たとえば、A1:A100の範囲に、空白か否かを問わずセルがいくつあるかを返すワークシート関数はないでしょうか? 空白以外の数+空白の数で求められるかと思いましたが、 =COUNTA(A1:A100)+COUNTBLANK(A1:A100) では、計算の結果 ="" になっているセルが両方にカウントされてだめです。 VBAなら Range("A1:A100").Count で一発なのですが・・・・。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
◆こんな式はいかがでしょうか =COUNTIF($C$15:$D$24,"<>=?")
その他の回答 (5)
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.4です 恥ずかしい答えです 取り下げます
- gyouda1114
- ベストアンサー率37% (499/1320)
こんな方法も A1:A100 =ROW(A100)*COLUMN(A1) A1:B100 =ROW(A100)*COLUMN(B1) A3:A100 =(ROW(A100)-(ROW(A3)-1))*COLUMN(A3) A3:B100 =(ROW(A100)-(ROW(A3)-1))*COLUMN(B3)
お礼
ありがとうございます。
- FEX2053
- ベストアンサー率37% (7991/21371)
私の場合の例なら =c_c("A1","A100") これで出てきます。
お礼
なるほど・・・・。 ユーザー定義関数はあまり使ったことがないのですが、みようみまねで Function c_c(rng As Range) c_c = rng.Count End Function としてみました。合ってますかね? これでセルには =C_C(A1:B26) と、ドラッグで範囲を入力できるようになりました。 ありがとうございます。
- FEX2053
- ベストアンサー率37% (7991/21371)
>VBAなら Range("A1:A100").Count で一発なのですが・・・・。 それが分かってるならFunctionで定義しちゃえば良いんじゃないかと。 例えばこんな感じで標準モジュールに書き込むとか。 Function c_c(st As String, ed As String) As Double c_c = Range(st & ":" & ed).Count End Function
お礼
ありがとうございます。 変数、st や ed にはどうやって開始セルのアドレスと終了セルのアドレスを代入すればいいでしょうか?
- marbin
- ベストアンサー率27% (636/2290)
なぜそのようなことをしたいのか分かりませんが・・・。 =ROW(A100)-ROW(A1)+1
お礼
ありがとうございます。 質問したあとで、 =ROWS(C15:D24)*COLUMNS(C15:D24) で出来ることに気づきました。 例では1列でしたが実際は複数列なので・・・
お礼
あっ! これはすごいですね。 でも、COUNTIFの条件式 "<>=?" の意味がまったくわかりません。 よろしければご教示いただけませんでしょうか?