- ベストアンサー
SUMPRODUCT関数について
指定された条件にあったセルの数を数えたいのですが、うまくいきません。 具体的に言いますと、競馬のデータなのですが、 セルG7:G33にコースの距離(1400,1600,2000など) L7:L33に着順(1,2,3,4,など)が入力されています。 ちなみにどちらも数値のみで[m]や[~着]などの記号は入力していません。 この中で、1600以下のレース(1000~1500まで)の着順や1600以上のレースの着順をそれぞれ1着、2着、3着、4着以下というように具体的に分けたいのですが、どうすれば良いでしょうか? 表にすると a b c d e 1600> (1着の数) (2着の数) (3着の数) (4着以下の数) 1600> (1着の数) (2着の数) (3着の数) (4着以下の数) こんなイメージです。 COUNTIFで1600以上のレース数はだせたのですが、着順を個別に出すことが出来ません。SUMPRODUCT関数かなとも思ったのですが、エラーか[0]になってしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SUMPRODUCT関数は横方向に積算して縦方向にその合計を求める関数です 質問の場合は、横方向に条件が整った場合に "1"(True)となるようにします そんなですので条件を考えると1600m以下1位の場合は (G7<=1600)*(L7=1) などとなりますね これを配列で SUMPRODUCT関数に渡せばOK =SUMPRODUCT((G7:G33<=1600)*(L7:L33=1)) こんなんでどうでしょう あとは自身で工夫してみてください
その他の回答 (1)
- web2525
- ベストアンサー率42% (1219/2850)
B1に =SUMPRODUCT(($G$7:$G$32<=1600)*1,($H$7:$H$32=COLUMN()-1)*1) B2に =SUMPRODUCT(($G$7:$G$32>=1600)*1,($H$7:$H$32=COLUMN()-1)*1) これで右方向にコピー ただ両方に1600mのレースが含まれますがいいの?
お礼
ありがとうございます!無事出来ました。 やはり自分で入れていた数式と若干違ってました・・・ あと1600m以上は1600mも含み、それ以外は1600mは含まないようにやってみて出来ました。ありがとうございました!
お礼
ありがとうございます!無事出来ました。 自分なりに工夫して関数で求めたい値を出すことが出来ました。 本当にありがとうございました!