dポイントプレゼントキャンペーン実施中!

AR列に初回来店日(AQ列)と2回目来店日(AT列)の差分の日数を入れている表があります。
格顧客の受注番号順に並べているので、当然の2回目来店日が空白になるセルもあります。
最終的に2回目までの来店日数が、31日以下、32日以上62日以下・・・
を表示させたいのですが、空白セルもカウントしてしまいます。
過去の記事より以下の数式を利用していますが、どこを変更すればよろしいですか?
1ヶ月未満算出:    =SUMPRODUCT((AR2:AR86>=0)*(AR2:AR86<=31))
1ヶ月以上2ヶ月未満算出:=SUMPRODUCT((AR2:AR86>=32)*(AR2:AR86<=62))
<来店日数算出>
  AQ    AR    AS    AT
2007/10/22
         0     0    2007/10/22
2007/10/23
         1     1    2007/10/24
2007/10/25
2007/10/25
※AS列は、日数を出すための数式が入っており、それを値に変換したのがAR列です。

長々と申し訳ありません。
基本的な質問だと思いますが、よろしくお願いします。
エクセル2000です。

A 回答 (2件)

>空白セルもカウントしてしまいます。


どの列ですか。第2回来店日列ですか。
>最終的に2回目までの来店日数が、31日以下、32日以上62日以下・・・
を表示させたいのですが、空白セルもカウントしてしまいます。
第2回来店日列が空白の行を除いて、再来店日数が31日以下の、「件数」を数えたいのか。
であれば、その条件(第2回来店日列が空白の)を条件に入れれが、良いだけではないの。何で回答が出ないのかな、一部の原因は質問がごたごたした印象があると思うよ。
ーーー
しかしやってみると難しいことがわかった
例データA1:B10
2007/10/1 2007/10/9
2007/10/5     2007/11/3
2007/10/7
2007/10/112007/12/5
2007/10/152007/10/29
2007/10/16
2007/10/222007/11/23
2007/10/252007/10/30
2007/10/312007/11/25
2007/11/1     2007/11/28
件数を求めるセルに
15日を越えるという条件で
=SUM(IF($B$1:$B$10="","",IF(DATEDIF($A$1:$A10,$B$1:$B$10,"D")>15,1,0)))
と入れて、Shift+Ctrl+Enterの3つのキーを同時押し。
結果

ーーー
配列数式で出来るものは、SUMPRODUCT関数に(式は変わるが)置き換えられることが多い。
空白の場合DateDif関数がエラーになるが回避法が難しい。
発想を単純化して
=SUMPRODUCT(((B1:B10-A1:A10)>15)*1)
結果

B列ブランクは引き算で3万台のマイナスになってくれるので15以上の場合は対象にならなかった。
以下の場合は1より大を入れないといけないだろう。
=SUMPRODUCT(((B1:B10-A1:A10)<15)*((B1:B10-A1:A10)>1)*1)
結果(15日未満、B列空白は除く)
    • good
    • 0
この回答へのお礼

ありがとうございます。
数式を利用させていただきます。
またの機会がありましたらよろしくお願いします。

お礼日時:2008/04/07 15:45

AR列に、どのような数式が入っているか不明なので


IF関数あたりでAS列にデータが無いときは "", 処理と仮定し

=SUMPRODUCT((AR2:AR86<>"")*(AR2:AR86>=0)*(AR2:AR86<=31))
 とか

尚サンプルの表では
   A      B     C     D     
1 2007/10/22
2         0     0    2007/10/22
3 2007/10/23
4         1     1    2007/10/24
5 2007/10/25
6 2007/10/25

などとしていただけると、可読性が高く回答しやすいです

また
>AS列は、日数を出すための数式が入っており、それを値に変換したのがAR列です。
なども、入力してある数式が提示されていると、回答の数式もより適切なものになる可能性が高いと思います
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考にさせていただきます。

お礼日時:2008/04/07 15:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!