Excel365を使用しています。
Excel365を使用しています。 =SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW($A$5:$C$10000))))*(A$5:C$10000="りんご")) フィルターがされているデータベースでCOUNTIF、COUNTIFSを使いたくて 上記のような数式を作ったのですが、”りんご”ではなく”100以上”または”100未満50以上”といったような条件にするにはどうしたらよろしいでしょうか?
作ってみた数式に少し間違えがありました。 =SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW($A$5:$A$10000))))*(A$5:A$10000="検索条件")) です。
Excel・137閲覧・25
ベストアンサー
どうしてもフィルターを使うなら、数式は次の様になります。 100以上10000未満の場合 =SUMPRODUCT((SUBTOTAL(102,INDIRECT("A"&ROW($A$5:$A$10000))))*(A$5:A$10000>=100)*(A$5:A$10000<10000))+SUMPRODUCT((SUBTOTAL(102,INDIRECT("B"&ROW($A$5:$A$10000))))*(B$5:B$10000>=100)*(B$5:B$10000<10000))+SUMPRODUCT((SUBTOTAL(102,INDIRECT("C"&ROW($A$5:$A$10000))))*(C$5:C$10000>=100)*(C$5:C$10000<10000)) A~C列をまとめてやろうとすると、SUBTOTALのカウントとSUMPRODUCTのカウントで、お互いの積の結果が出てしまいます。 例えばフィルターなしの状態で該当件数が 12件あれば、12×12=144 という結果になります。 なので、各列の結果を出して合計しています。
質問者からのお礼コメント
皆さんいろいろなやり方を考えて下さいましたがどうしてもフィルターでやりたかったのでこちらをベストアンサーに選ばせていただきました。 無事に解決することができました。ありがとうございました。
お礼日時:1/17 12:36