プロが教える店舗&オフィスのセキュリティ対策術

Excel2007を使用しています。
複数の検索条件から、データの数をカウントしたかった為、COUNTIFSを使用してカウントしようとしたところ、エラーが返ってきてしまいました。

実際のではありませんが、下記のように記入しました。
=COUNTIFS(A:C,1,D:D,2)

SUMPRODUCT((A:C=1)*(D:D=2))
なら、一応やりたいことは出来たのですが、動作が重くなってしまいました。
(面倒がらず列選択せず、きちんと範囲指定すれば別なのかもしれませんが)

何かスマートなやり方があれば、ご教授頂ければと思います。

A 回答 (8件)

NO4です。


COUNTIFS関数を選択されていたのでand条件と思いこんでいました。
SUMPRODUCT関数がスマートと思いますが一例です。
=SUM(INDEX((A:C=1)*(D:D=2),))
    • good
    • 0
この回答へのお礼

SUM関数で、そういう事ができるという事実を初めてしりました。

関数って奧深いですね。
来週にでも試してみたいと思います!
有り難う御座いました!

お礼日時:2011/03/04 20:19

訂正します



No2の回答で
>条件が、OR条件のようですので一つではできません
と記載しましたが、厳密に言うとOR条件ではないですね



No6さんの回答のように 作業用列の場合
=COUNTIF(A1:C1,1)*(D1=2)
ではないかな
(OR条件の場合 No6さんの式を使用ください)



SUMPRODUCT関数使用で 範囲をきちんとすればいいと思いますよ
    • good
    • 0
この回答へのお礼

またまた回答有り難う御座います。
そうですね、ORとANDの複合体みたいな感じです。

SUMPRODUCTは、確かに式としてはスマートなのですが…。

ありがとうございました><

お礼日時:2011/03/04 20:18

列数も多く、しかも行数が多い場合には作業列を使って対応することが分かり易く計算も重くなりません。

例えば次のようにすればよいでしょう。いたずらに式を複雑にする必要もありません。
E1セルには次の式を入力して下方にオートフィルドラッグします。

=IF(AND(COUNTIF(A1:C1,1)>0,D1=2),1,"")

その上で、答えは =SUM(E:E) で表示させます。
    • good
    • 1
この回答へのお礼

確かにそれでできるのですが
実はカウントするのは一項目ではなく複数あり
別シートで集計をだしているものなので、なかなか現実的ではない感じです。

むむ、難しいですね。

回答ありがとうございました!

お礼日時:2011/03/04 20:15

>SUMPRODUCT((A:C=1)*(D:D=2))


>なら、一応やりたいことは出来たのですが、動作が重くなってしまいました。

動作が重くなる原因は 列指定のためと思われます
範囲を少し多めにとるくらいに設定してはいかがですか?
    • good
    • 0
この回答へのお礼

面倒くさがって列指定するのがいけないのですよね><

でも行が1000以上あるので、範囲指定しても同じかもと思って見たりしています。(まだ試してませんが)

お礼日時:2011/03/04 20:22

どうもA:Cを許容しないみたいですので次の方法をお試しください。


=COUNTIFS(A:A,1,B:B,1,C:C,1,D:D,2)
    • good
    • 0
この回答へのお礼

回答有難うございます!

AND条件ではないので、それだと正確にカウントさないのですよね。

もう少し色々考えてみますね。

お礼日時:2011/03/04 12:35

訂正します



>=COUNTIFS(A:A,1,D:D,2)+COUNTIFS(B*B,1,D:D,2)+COUNTIFS(C:C,1,D:D,2)
=COUNTIFS(A:A,1,D:D,2)+COUNTIFS(B:B,1,D:D,2)+COUNTIFS(C:C,1,D:D,2)
    • good
    • 0

SUMPRODUCT((A:C=1)*(D:D=2)) で解決するならそれで良いのでは?




条件が、OR条件のようですので一つではできません
=COUNTIFS(A:A,1,D:D,2)+COUNTIFS(B*B,1,D:D,2)+COUNTIFS(C:C,1,D:D,2)
    • good
    • 0
この回答へのお礼

その方法も考えたのですが、実際のデータはもう少し範囲が広いので、なかなか凄いことに!

ORで、条件指定が出来ないのが痛いですね。

回答有難うございました。

お礼日時:2011/03/04 12:18

COUNTIFS(A:C,1,D:D,2)⇒ COUNTIFS(A:C,"1",D:D,"2") というように二重引用符で囲むと反映すると思いますが。

    • good
    • 0
この回答へのお礼

回答有難うございます。
文字列参照になるだけで、結果変わらずでした。

範囲指定無理見たいですね(;つД`)

お礼日時:2011/03/04 12:12

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