• ベストアンサー

エクセル/指定範囲のセル数を返すワークシート関数は?

エクセル2000です。 たとえば、A1:A100の範囲に、空白か否かを問わずセルがいくつあるかを返すワークシート関数はないでしょうか? 空白以外の数+空白の数で求められるかと思いましたが、 =COUNTA(A1:A100)+COUNTBLANK(A1:A100) では、計算の結果 ="" になっているセルが両方にカウントされてだめです。 VBAなら Range("A1:A100").Count で一発なのですが・・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆こんな式はいかがでしょうか =COUNTIF($C$15:$D$24,"<>=?")

merlionXX
質問者

お礼

あっ! これはすごいですね。 でも、COUNTIFの条件式 "<>=?" の意味がまったくわかりません。 よろしければご教示いただけませんでしょうか?

その他の回答 (5)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.6

回答番号:No.4です 恥ずかしい答えです 取り下げます

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

こんな方法も 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)

merlionXX
質問者

お礼

ありがとうございます。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

私の場合の例なら =c_c("A1","A100") これで出てきます。

merlionXX
質問者

お礼

なるほど・・・・。 ユーザー定義関数はあまり使ったことがないのですが、みようみまねで Function c_c(rng As Range) c_c = rng.Count End Function としてみました。合ってますかね? これでセルには =C_C(A1:B26) と、ドラッグで範囲を入力できるようになりました。 ありがとうございます。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

>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

merlionXX
質問者

お礼

ありがとうございます。 変数、st や ed にはどうやって開始セルのアドレスと終了セルのアドレスを代入すればいいでしょうか?

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

なぜそのようなことをしたいのか分かりませんが・・・。 =ROW(A100)-ROW(A1)+1

merlionXX
質問者

お礼

ありがとうございます。 質問したあとで、 =ROWS(C15:D24)*COLUMNS(C15:D24) で出来ることに気づきました。 例では1列でしたが実際は複数列なので・・・

関連するQ&A