• ベストアンサー

エクセル関数countifの初歩的な使い方(範囲)のことで教えてください

表に書かれたデータ数を数えるときに使う関数countifで、検索範囲を自由に変更して集計できるようにしたいので、その方法を教えてください。例えば10行5列の表の各セルにa~zのどれかが入っていて、1~5列まで集計した表を作りました。次の6~10行までまで、その次には1~10行までというように、行の検索範囲を自由にしたいのです。自分で作った集計表では、すべての関す運式の範囲をいちいち変更しなければならないの面倒です。マクロを組まなくては無理ですか。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えば検索したいセルの範囲をB2からF10とするときにA20セルにB2、A21セルにF10と入力してその範囲内にあるデータの入力されているセルの数を数えるのでしたら次のような式にします。 =COUNTIF(INDIRECT(A20):INDIRECT(A21),"<>") このようにすることで、A20およびA21のセルに入力するセル番地を変えることでその範囲内のデータを表示させることができます。

a12
質問者

お礼

=COUNTIF(INDIRECT(A20):INDIRECT(A21),"<>")でできることがわかりました。簡単なことでした。丁寧に答えていただき、ありがとうございました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

元のリストのレイアウトが具体的にわからないので、一般的な回答になりますが、データ入力範囲に合わせてデータ範囲を自動的に変更したいという意味なら、数式を使った名前定義を利用すれば簡単に対応することができます。 特定範囲の文字列を単純にカウントするだけであれば、無理にデータ範囲を指定するのではなく、以下のように列全体を指定すれば良いのではないでしょうか(たとえばA列のカウントの場合) =COUNTIF(A:A,"検索する文字列") いずれにしろ、このようなご質問では、文章で説明するより、現在使用している関数をそのまま提示されたほうが、具体的な操作方法や、より的確な回答が得られると思います。

a12
質問者

お礼

回答ありがとうございました。説明が不十分で申し訳ありませんでした。数式を使った名前定義を利用するということで解決できそうです。ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

元のリストのレイアウトが具体的にわからないので、一般的な回答になりますが、データ入力範囲に合わせてデータ範囲を自動的に変更したいという意味なら、数式を使った名前定義を利用すれば簡単に対応することができます。 特定範囲の文字列を単純にカウントするだけであれば、無理にデータ範囲を指定するのではなく、以下のように列全体を指定すれば良いのではないでしょうか(たとえばA列のカウントの場合) =COUNTIF(A:A,"検索する文字列") いずれにしろ、このようなご質問では、文章で説明するより、現在使用している関数をそのまま提示されたほうが、具体的な操作方法や、より的確な回答が得られると思います。