• ベストアンサー

2つの日付の差が10日以下を作業列なしにカウント

たびたびお世話になります。 例えばイチゴを出荷した日と売り切れた日が縦にズラッと並んでいるリストがあるとします A列   B列 出荷日  売り切れ日 12月1日 12月5日 12月10日 12月16日 12月20日 12月23日 出荷後10日以内に売り切れた回数を作業列を使わずにカウントして合計を出したいのですが、可能でしょうか? 通常ならC列にB列-A列をした数を出して、C列をCOUNTIF関数で"<=10"を条件にすれば良いのですが、作業列を作れない場合に同じようなことができるのでしょうか? よろしくおねがいします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

No2です。 B列の未入力を見ていませんでした。 =SUMPRODUCT((A1:A100+10>=B1:B100)*(A1:A100<>"")*(B1:B100<>"")*1)

jim-shock
質問者

お礼

なにー!?たったいま未入力のセルを1、あるいは0としてカウントしてしまうのでどうしようと追加の質問をしようと思っていたところでした!!!未入力に対応した式がすでに用意されている・・だと・・・!ありがとうございます、ありがとうございます!

jim-shock
質問者

補足

これはつまり、出荷した日+10>=売り切れた日をすべて別個に計算しつつ A列の空欄ではない数でもすべて別個に計算し、それぞれに掛け合わせ B列の空欄ではない数でもすべて別個に計算し、それぞれに掛け合わせ TRUE×FALSEは1×0だからA列,B列のどちらかが空欄なら答えはゼロになってカウントされない! そうしてFALSEによってゼロにされなかった1だけが合計されて、結果として10日以内に売り切れた出荷分だけがカウントできるってことかーーー!!!ありがとうございます! これで作業列を増やさずにスマートに集計が取れます!ありがとうございました!

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

IF(A1+10>=B1) の結果が正なら1偽なら0で、IF(A100+10>=B100)までの結果の1か0が配列としてあって、あとは同じ考えで1か0の配列を掛け算して最後に和を出しているです。 > C列をCOUNTIF関数で"<=10" だと A1:A100+10>=B1:B100 じゃなくて A1:A100+10>B1:B100 でしたか…。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

=SUMPRODUCT((A1:A100+10>=B1:B100)*(A1:A100<>"")*1) A1:A100はB1:B100は合わせてください。

  • f272
  • ベストアンサー率46% (8469/18131)
回答No.1

こんな感じ? =SUMPRODUCT((B1:B3-A1:A3<=10)*1)

jim-shock
質問者

お礼

ば、ばかな・・・!SUMPRODUCT関数は配列の掛け算のはず・・・! コンマで区切っていない...だと...!?!私に補足を、補足をお願いします!!!ナニトゾー

関連するQ&A