• ベストアンサー

EXCELの関数に詳しい方…

EXCEL2007を使用です。 C列からB列を引いた値をD列に表示しています。 COUNTIFS関数でD列の値の1以上500未満の数値をカウント(添付の画のF2) させているのですがC列からB列の差分値をわざわざD列へ表示しなくても カウントさせる方法がありましたらご教授していただけると助かります。 1から499の範囲内の数値になるものが何個あるかしりたいです。 また作業量が膨大かつ見づらくなるため無駄なものは省けたらと思っています。 わかりにくいかと思いますがよろしくお願い致します。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

=SUMPRODUCT(((C2:C52-B2:B52)>=1)*((C2:C52-B2:B52)<500))

cyokomatu
質問者

お礼

私の求めてたご回答でした! SUMPRODUCT関数について調べてきましたがとても便利で教えていただき感謝しきれません。 ありがとうございました。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

=COUNTIFS(B2:B52,">=1",C2:C52,"<500") でよろしいかと思います。

cyokomatu
質問者

補足

説明がへたなのと画像が見づらくて申し訳ありません。 例えば C2に「900」 B2に「929」 D2が「=C2-B2」と入っているのでD2の値は「-29」になっています。D列はこの計算式をコピーしてありD52だと=C52-B52の計算式です。 このD列の値の1から499の範囲内の数値になるものが何個あるかをカウントしたいと思い =COUNTIFS(D2:D52,">=1")-COUNTIF(D2:D52,">500") で答え(この場合29個)は出たのですが D列を使用せずに各行のC列-B列の値で1から499の範囲に該当するものが何個あるのか調べたいのです。 =COUNTIFS(B2:B52,">=1",C2:C52,"<500") ですと0と表示されてしまいます。 説明不足の中、ご回答ありがとうございました。

関連するQ&A