• 締切済み

エクセルのオートフィルタでのデータ抽出&カウント

エクセルのローデータでのオートフィルタでのデータ抽出&カウントで困っています。 A列にNo.、B列にデータB、C列にデータC、D列にデータDがあるとします。 それぞれの列に1~9までの数字があり、 それぞれの列、 データの一番下(正確には1行開けて)にはSUMやCOUNTIFなどの関数(計算式)が入っています。 で、これをフィルターにかけ抽出した際、この抽出したデータのみで計算の値を表示したいのですが、 やってみると 全データの計算の値で表示されてしまいます。 どうすればよいのでしょうか? 大変困っています。 よろしくお願いいたします。

みんなの回答

  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.5

>ちなみにCOUNTIFは一覧に無いのでSUBTOTALは使えないんでしょうか。 直接結果を求めることはできませんが、 数式を工夫して同様の結果を得ることはできます。 例えば、 データが2~99行目にあり、「C列の値が5である行」をカウントする場合。 ---------------------------------------------- ●甲案: オーソドックスに作業列を使って。  1.まず、すべての行を表示した状態で、   適当な列(仮にE列とします)の2行目を   =SUBTOTAL(3,A2)   として下方にフィルしておきます。   ※A2の部分は「必ずデータが入力される列(空白セルのない列)」の2行目を指定します。  2.そのうえで、任意のセルを   =SUMIF(C2:C99,5,E2:E99)   とすれば、オートフィルタをかけた際に、   「表示されている行で、かつ、C列が5である行」の数が得られます。 ---------------------------------------------- ●乙案: ややトリッキーですが数式一発で。  任意のセルを   =SUMPRODUCT(SUBTOTAL(3,OFFSET(A2,ROW(A2:A99)-ROW(A2),))*(C2:C99=5))  とすれば、直接結果を得ることができます。  ※A2の部分は「必ずデータが入力される列(空白セルのない列)」の2行目を指定します。 ---------------------------------------------- いずれもExcel2003で動作確認済。 ■集計 http://bekkoame.okwave.jp/qa4461533.html ※noname#70958は私の前のアカウントです。  一部数式が違っていますが、どちらも間違いではありません。  質問のニュアンスに応じて変更しました。 以上ご参考まで。

  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.4

こんにちは #2です。 > ちなみにCOUNTIFは一覧に無いのでSUBTOTALは使えないんでしょうか。 直接は無いと思います。 COUNTIFで何をしたいのかなどを具体的に書かれると何か別な方法 なり、回答が得られると思います。 では。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

オートフィルターー>SUBTOTAL関数使用で加算や件数カウント は公式みたいなもの。エクセルの解説書を余り読んでない証拠。 これでやってみて、それでは出来ない複雑なときに、ここに質問する 段階のもの。 前もって関数の解説書を一読しておかないと、必要なとき調べることもできない。GoogleでSUBTOTAL関数を照会のこと。 「エクセル フィルタ 件数」で照会しても、SUBTOTAL関数に行き着くよ。

kayamama
質問者

お礼

ありがとうございます。 しかしながら、imogasiさんと私のOKWaveへの考え方は違うようですね。 確かに私は解説書を読んでいません。 しかしながら、エクセルを使っている方全員が全員、解説書を読み込んでいるとは思えませんが。 かくいう私も読まずに、速戦で自分で触って学んだり教えていただきながら使ってきました。 そういう方は多いと思います。 ここは明確に「解説書を読んでもわからないときに質問しましょう」とあるのでしょうか?そうではないと思います。誰でも使えるサイトなんですから。時間が無いときなどは、いちいち解説書を手元に取寄せ、該当ページを探す、なんてできません。 ですので、私はこういう使い方をしています。 imogasiさんが不快に思われたのなら申し訳ないです。 しかしながら、みんながみんなエクセル知識浸透・理解しているわけではないんですから、もう少し寛大な気持ちで見ていただけたらと思います。

  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.2

こんにちは 既に回答あるようにSUBTOTAL http://www.kenzo30.com/ex_kisopoint/onepoint_susiki2.htm を使うと良いと思います。 A10に=SUBTOTAL(9,A1:A9)とすれば表示されている範囲の合計と なります。 では。

kayamama
質問者

お礼

ありがとうございます。 たすかりました。 ちなみにCOUNTIFは一覧に無いのでSUBTOTALは使えないんでしょうか。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

該当の関数をSUBTOTAL関数に変更すれば可能です。 数式はExcelバージョンで相違しますので詳細はHELPを参照下さい。

kayamama
質問者

お礼

ありがとうございます。

関連するQ&A

専門家に質問してみよう