• ベストアンサー

Excel-一つしたのセルより値の大きいセルの数

初歩的な質問かもしれませんが、よろしくお願いします。 画像のように入力されている時、行の中で下より上の数字が大きいセルの数を数えたいのです。 画像の例であればD3>D4、E3>E4、G3>G4なのでI3に「3」と入れ、 E6>E7、G6>G7なのでI6に「2」と入れる。 いろいろ考えてみたのですが、うまくいきません。 ご教示お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

>つまりFALSE、TRUEに1をかけることで数値にするという理解であっていますか? あっています。 今回条件は単数ですが複数条件の場合は下記の設定でカウントできます。 AND条件の場合 =SUMPRODUCT((範囲条件1)*(範囲条件2)) OR条件の場合 =SUMPRODUCT((((範囲条件1)+(範囲条件2))>0)*1) AND・ORの複合条件 =SUMPRODUCT((範囲条件1)*(((範囲条件2)+(範囲条件3))>0))

sirenaazzurro
質問者

お礼

なんどもありがとうございました。 おかげで思い通りの表が作れました。 感謝です!

その他の回答 (4)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

>SUMPRODUCT以降のカッコの中身がどうしてこうなるのか、 >解説していただけないでしょうか・・・。 通常、SUMPRODUCT関数は積の和を求める関数です。 =SUMPRODUCT(A1:A4,B1:B4) ↓ =SUMPRODUCT({A1,A2,A3,A4}*{B1,B2,B3,B4}) ↓ =SUMPRODUCT({A1*B1,A2*B2,A3*B3,A4*B4}) このように2列を掛け合わせたものの集計となります。 範囲部分に、条件文を使うことで、単数or複数の範囲条件のカウントや数値の合計を 計算することができます。 今回の数式の場合だと下記のような流れで3が集計できます。 =SUMPRODUCT((B3:H3>B4:H4)*1) ↓ =SUMPRODUCT({B3>B4,C3>C4,D3>D4,E3>E4,F3>F4,G3>G4,H3>H4}*1) ↓ =SUMPRODUCT({FALSE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE}*1) ↓ =SUMPRODUCT({0,0,1,1,0,1,0}) ↓ =3

sirenaazzurro
質問者

お礼

丁寧な解説ありがとうございます! つまりFALSE、TRUEに1をかけることで数値にするという理解であっていますか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

I3=SUMPRODUCT((B3:H3>B4:H4)*1) I6=SUMPRODUCT((B6:H6>B7:H7)*1)

sirenaazzurro
質問者

お礼

回答ありがとうございます。 やはりこの式がよいのですね。 SUMPRODUCT以降のカッコの中身がどうしてこうなるのか、 解説していただけないでしょうか・・・。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 I3セルに =SUMPRODUCT((B3:H3>B4:H4)*1) という数式を入れてみてください。 ※ 画像のように1行おきにデータが規則正しくある場合は I3セルに数式を入れたあと、 I3~I5セルを範囲指定 → I5セルのフィルハンドルで下へ3行ずつコピーします。m(_ _)m

sirenaazzurro
質問者

お礼

回答ありがとうございます。 なるほどです、これならいけそうです! ちなみに、SUMPRODUCT「要素の積を合計」でなぜこの答えになるのかがよく理解できません。 噛み砕いて説明していただけないでしょうか・・・?

回答No.1

1. B5=IF(D3>D4,1,"")を入力 2. 1.をC5~H5、B8~H8へコピー 3. I3=SUB(B5:H5) 4. 3.をI6にコピー

sirenaazzurro
質問者

お礼

回答ありがとうございました。 でも、作業列は作りたくなかったのです。 言葉足らずでごめんなさい・・・

関連するQ&A