- 締切済み
countifでできますか?(追加質問)
以前、以下のような質問をさせて頂き、既にご回答を頂いております。 ----- 複数の名前付きのテーブルを作り、別の表にそのテーブル内の項目をリストボックス化して入力できるようにします。 その表の下部でcountifを使い、例えばAテーブルに含まれる項目の個数を数えたりするにはどんな関数を入れたらよいでしょうか。要は、テーブル毎の個数を表の下部でカウントできるようにしたいのですが、お分かりの方、ご教授願います。ただし、A1とかA2というように個別の項目をカウント条件にするのではなく、そのテーブルに属しているものすべてがカウントされるようにしたいです。 ---- ご回答頂いた内容で解決はできましたが、追加の質問をさせて下さい。 そのテーブルに属するもののうち、A2だけをカウントしたい、というように一部の項目のみをカウント対象とするにはどうしたらよいでしょうか。よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
補足をした方がよいのでは? (1)前の質問の番号 (2)データ実例と、実現したい結果をできればテキストで質問に上げる。 小生は前の質問も読んだが、質問の表現に、良くわからない点があり、質問ぶりから要領を得ないと思い、十分理解できず、回答を上げなかった。 ーー >ご回答頂いた内容で解決はできましたが 小生にとっては不思議です。 解決できたのに、なぜ再質問するのですか。 新しい、質問を理解する情報は何も加えてないのではないですか? == CountIfはエクセル関数の1つであり、関数による回答を希望している、のだろうね。 2つしか引数はなく、範囲と検索値です。 これを関数式の複写の仕組で実現しようとするものだと思う。 その際範囲が、横方向の複写で実現することになるのでは。 Googleで「countif 複数範囲」で照会して出てくる、タイプとは違いますか? その時テーブル名が変化してほしいのでは。 そういうのを実現するのは、INDIRECT関数を使うべきケースが多いので、そのケースではないかと思う。 == CountIfはエクセル関数の1つであり、関数による回答を希望している、のだろうね。 2つしか引数はなく、範囲と検索値です。 これを関数式の「複写の仕組」を利用して、実現しようとするものだと思う。 その際範囲が、縦方向と横方向の複写で実現することになるのでは。 ーー Googleで「countif 複数範囲」で照会して出てくる、タイプのどれか、とは違いますか? その時テーブル名が変化してほしいのでは。 そういうのを実現するのは、INDIRECT関数を使うべきケースが多いので、そのケースではないかと思う。 ==== 例データ F1:F8 とH1:H7 物品 物品 A A C B B B A A A A C C C G列は開けている。 F1:F8を範囲指定 挿入ーテーブルーOK → テ-ブル名が決まる(メモする) 小生の場合 テーブル5(5は半角文字) 同じく操作で、 H1:H7を範囲指定 挿入ーテーブルーOK → テ-ブル名が決まる(メモする) 小生の場合 テーブル6(6は半角文字) データ例 A列 B列 C列 A,B,Cとテーブル5、テーブル6は手入力。 3、3以下の部分は下記関数の結果です(先回りして出しているが、関数を入れてない、初めは空白) ー テーブル5 テーブル6 → 上記で決まったテーブル名 A 3 3 B 1 2 C 3 1 ーー B2の式 =COUNTIF(INDIRECT(B$1&"[物品]"),$A2) <===INDIRECT関数を被せている点注意。 下方向に式をB4まで複写。 B2:B4の式を右方向に式複写.<===ここがメリット点です。式はB2セルの1か所しか入れてない。 ーー 結果は 上記の通り。 == 全般にセル番地の、$の有無に十分注意必要(微妙な箇所)。 上記説明は、「構造化参照」という難しい名前の仕組(エクセル2007以後?)と関係があると思う。 === 最後に質問の意図を勘違いしていたら、長文を読ませてすみません。 その場合でも、上記もどこかで役立つようにも思う。
お礼
言葉足らずで申し訳ございません。 前回の質問で解決は図れたのですが、新たな必要性が生じましたため、このような質問をさせて頂きました。ご回答いただき、ありがとうございます。