- ベストアンサー
エクセル2007のcountifs,sumifsについて
以前は複数条件を設定する場合にはsumproductを使っていましたが 使い慣れたcountif,sumifに複数の条件が設定できると知り、 計算式を作ってみましたがうまくいきません。 期間内の数値の入力されているセルの個数を求めたくて 次のような式にしてみました。 D1は2009/10/1 D2は2009/11/1 p6:p331は金額 B6:B331は日付 =COUNTIFS(P6:P331,">=1",B6:B331,"and(>=D1,<=D2") 実際には30程該当するセルがあるのに0と表示されます。日付の 部分がおかしいのだとは思いますがどのように入力したらいいのでしょうか。 それと、金額の入力してあるセルを指定するのに >=1としていますが これも他に数値を表す関数とかありますでしょうか。 同じようにSUMIFSも0になってしまいます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
根本的にCOUNTIFSの使い方を間違えています。 =COUNTIFS(P6:P331,">=1",B6:B331,">="&D1,B6:B331,"<="&D2) としてみて下さい。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
SUMPRODUCTでやるなら D1に 2009/10/1 D2に 2009/11/1 例データ(質問のデータを変えている) A列 B列 参考(該当行) 12 2009/10/2 * a 2009/10/13 23 2009/10/21 * 42 2009/10/30 * 13 2009/10/31 * 45 2009/11/2 qwe 2009/10/3 式 =SUMPRODUCT((ISNUMBER(A6:A12))*(B6:B12>=$D$1)*(B6:B12<$D$2)*1) で(ISNUMBER(A6:A12)は数値かどうか判定) 結果 4 2007でもこれで出来るでしょう。 ーー COUNTIFS に置き換えると,ISNUMBER部分以外は =COUNTIFS(B6:B12,"<="&D1,B6:B12,"<"&D2) で普通の解説どおりだが、ISNUMBERをセル範囲A6:A12の外から作用させられないかも。それで空き列(例としてK列)に数値であることのサイン(例えば1)を立てて =COUNTIFS(K6:K12,1,B6:B12,"<="&D1,B6:B12,"<"&D2) としないとならないのかなと思う。 (WEBを相当調べたがこの点の疑問点の説明例は出くわさなかった。)
お礼
ありがとうございました。SUMPRODUCTはネットでたまたま 自分の作りたかったのと同じような例がありましたので うまく出来ました。COUNTIFS、SUMIFSが複数条件に対応 しているということで使いたかったのですが、期間の指定 がうまくいかなかったみたいですね。
- mu2011
- ベストアンサー率38% (1910/4994)
=COUNTIFS(P6:P331,">=1",B6:B331,"and(>=D1,<=D2") これは、B6:B331の範囲で"and(>=D1,<=D2"の文字列との論理積だから「0」になります。 一例です。 =COUNTIFS(P:P,">=1",B:B,">="&D1,B:B,"<="&D2) =SUMIFS(P:P,B:B,">="&D1,B:B,"<="&D2)
お礼
ありがとうございました。期間内の数値を合計したかった のでandを使えばいいと思っていましたが、間違っていましたね。
お礼
出来ました。ありがとうございました。まだ&の使い方 がよくわからないですが、こういう方法で使うということですね。