電子書籍の厳選無料作品が豊富!

A 日付 B名称 C可否(○×)も表でA日付が今日より前のものでなおかつCが○のセルの個数を求めたいのですがうまくいきません。
(1) AND(COUNTIF(A1:A10,"<"&TODAY()),COUNTIF(C1:C10,"○")) とするとFALSEと表示される。
どこが悪いのでしょうか?

A 回答 (2件)

こんばんは!


条件が二つ以上の場合は

=SUMPRODUCT((A1:A10<TODAY())*(C1:C10="○"))

としてみてください。
たぶん大丈夫だと思います。

※ Excel2007以降のバージョンですと、COUNTIFS関数が使えるはずです。
手元にExcel2003しかないので
この程度でごめんなさい。m(_ _)m
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
大変参考になりました。
EXCEL関数については、今後も質問させていただきます。

お礼日時:2012/04/14 18:01

=COUNTIF(A1:A10,"<"&TODAY())の式で今日より前の日付が幾つかるかを調べることができますね。

また、=COUNTIF(C1:C10,"○")でC列に○が幾つあるかを数えることができますね。しかしながら同じ行でA列が今日よりの前の日付でC列が○となっているとは限りません。A列が今日よりも前で、C列が○である行の数をお示しの式で求めることはできません。

両方の条件を満足する行の数を数えるためには回答No1さんのように

=SUMPRODUCT((A1:A10<TODAY())*(C1:C10="○"))

にするか、エクセル2010などでしたら

=COUNTIFS(A1:A10,"<"&TODAY(),C1:C10,"○") 

なお、データが多くなりますと計算が重くなりますので例えば作業列を使って対応することもできます。分かり易い方法です。
例えばD1セルに次の式を入力して下方にドラッグコピーします。

=IF(AND(A1<TODAY(),C1="○"),1,"")

答えのセルには =SUM(D:D)
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
大変参考になりました。
関数についての途中の命令の説明がとても参考になりました。

お礼日時:2012/04/14 18:02

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