- ベストアンサー
エクセル関数(SUMPRODUCT)について教えてください。
SUMPRODUCTを使って、件数を出しています。 A B(抽出条件を入力) 1都道府県 ● 2職業 ● 3性別 ● 4購買日 ● A B C D 11 都道府県 職業 性別 購買日 12 東京 会社員 男 20080901 13 ・ ・ ・ ・ 14 ・ ・ ・ ・ 15 ・ ・ ・ ・ 上記のような表を作り、A11:E100までデータが入っています。 B1:B5に条件を入れて、C1:C4に =SUMPRODUCT(($A$12:$A$100=$B$1)*($B$12:$B$100=$B$2)*($C$12:$C$100=$B$3)*($C$12:$D$100=$B$4)*1) で件数をカウントしています。 抽出条件をすべて指定すると、件数が出てきますが、特に指定しないで 空欄のままで件数をカウントする方法はないでしょうか? (たとえば、職業を絞らないでほかの条件だけで抽出するとか) 何か解決策を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでいいかな たとえば、職業を絞らないで =SUMPRODUCT(($A$12:$A$100=$B$1)*(($B$12:$B$100=$B$2)+($B$2=""))*($C$12:$C$100=$B$3)*($C$12:$D$100=$B$4))
その他の回答 (3)
- A88No8
- ベストアンサー率52% (836/1606)
4to4さん、こんにちは 一般人として私の対応だったらカウント(計数)して分析するならピボットテーブルを使うし、複数条件で抽出(絞り込み)して分析するならフィルターを使います。 すいません、当たり前のことを書いてしまってm(__;m 常に縛られている4つの計数条件にとらわれずに自由にデータをいじり回したい!という意味に受け止めれたので。
- sige1701
- ベストアンサー率28% (74/260)
No2さんの回答もおもしろいですね 因みに、ISERRORよりもISNUMBERを使用した方が式が短くなるかな =SUMPRODUCT(ISNUMBER(FIND($B$1,$A$12:$A$100))*ISNUMBER(FIND($B$2,$B$12:$B$100))*ISNUMBER(FIND($B$3,$C$12:$C$100))*ISNUMBER(FIND($B$4,$C$12:$D$100)))
- hallo-2007
- ベストアンサー率41% (888/2115)
めちゃくちゃ長くなりますが =SUM(IF(ISERROR(FIND($B$1,$A$12:$A$100)),0,1)*IF(ISEROR(FIND($B$2,$B$12:$B$100)),0,1)*IF(ISERROR(FIND($B$3,$C$12:$C$100)),0,1)*IF(ISERROR(FIND($B$4,$C$12:$D$100)),0,1)) Ctrl+Shift+Enter それぞれのセルで、ISERRORとFIND関数で 文字が含まれると 1 含まれないと 0 にして合計します。 抽出条件が空白のときは 全てのセルが 1 になります。
お礼
遅くなりましたが、大変参考になりました。 ISERROR、面白いです。 ありがとうございます。
お礼
遅くなりましたが、大変参考になりました。 ありがとうございました。