プロが教えるわが家の防犯対策術!

SUMIF(A1:A9,"1",A1:A9)

だとA1:A9の範囲に1があったら足し合わせる
のですが、
1か2か3があったら足し合わせたいものです。どうしたらいいでしょうか?

現状では
SUMIF(A1:A9,"1",A1:A9)
+
SUMIF(A1:A9,"2",A1:A9)
+
SUMIF(A1:A9,"3",A1:A9)
でしのいでいます。

A 回答 (6件)

こんにちは~



別解です。

=SUM(SUMIF(A1:A9,{1,2,3}))

と入れて、フツーに Enterで確定してください。
*
SUMIF(A1:A9,{1,2,3})
で、条件 1、2、3 のそれぞれの合計値の配列データをつくります。

数式バーで、(SUMIF(A1:A9,{1,2,3})) の部分だけをマウスでドラッグして、F9キーを押せば配列データがわかります。( 元に戻すのは ESCキー )
例ですが、
=SUM{3,6,9}

のようになれば、3→条件 1の合計値、6→条件 2の合計値、9→条件 3の合計値です。
それを SUM関数で合計すれば、条件が 1 または 2 または 3の場合の合計値が出ます。
*
それと、ちょっと気になったことを・・
SUMIF関数の書式は、
SUMIF(範囲, 検索条件, 合計範囲)

ですが、範囲と合計範囲が同じ場合、合計範囲は省略できます。

また、1、2、3 のように数値データでは、"1" のようにダブルクォーテーションで囲む必要はありません。

ですから、条件が 1だけなら、
=SUMIF(A1:A9,1)

のようになります。

この回答への補足

申し訳けないのですが
ついでに教えていただけないでしょうか?

「A1:A9の範囲で1,2,3の数を数える」 
をやりたいものです。

COUNTIF(A1:A9,{1,2,3})
でうまくいきません。
何故でしょうか?

補足日時:2005/10/07 11:00
    • good
    • 0
この回答へのお礼

>=SUM(SUMIF(A1:A9,{1,2,3}))

簡潔で素敵です。
{1,2,3}という部分が特に気に入っております。
こういうのがあってしかるべきだと思っておりました。

ありがとうございました。

お礼日時:2005/10/07 10:25

No.5です。



>「A1:A9の範囲で1,2,3の数を数える」 
> COUNTIF(A1:A9,{1,2,3})
> でうまくいきません。

=SUM(COUNTIF(A1:A9,{1,2,3}))

と入れてください。

=SUM(SUMIF(A1:A9,{1,2,3})) と同じですよ。
A1:A9の範囲内に、1が 2個、2が3個、3が1個あるとして、
COUNTIF(A1:A9,{1,2,3}) だけでは、それぞれの個数を {2,3,1} という配列のデータにするだけです。
=COUNTIF(A1:A9,{1,2,3})
と入力しても、配列の先頭( 上の場合で言えば、1の個数、つまり 2 )しかセルには表示されません。
{2,3,1} という配列を SUM 関数で合計してやれば、6 という正しい個数が返ります。
    • good
    • 0
この回答へのお礼

shiotan様

お忙しいところ、めちゃくちゃありがとう申し上げます。
助かりました。

お礼日時:2005/10/07 14:42

#1,3のmshr1962です。


>どうしてその様な操作をするのでしょうか?
配列数式にする為です。
Ctrl+Shift+Enterで確定すると数式の前後に{}が付きますが
手動で付けても配列数式にはなりません。

配列数式については下記を参照してください。
http://office.microsoft.com/ja-jp/assistance/CH0 …
    • good
    • 0
この回答へのお礼

配列数式 というのがあるんですね。
レクチャーありがとうございました。

お礼日時:2005/10/07 10:14

#1のmshrq962です。


>Ctrl+Shift+Enterの意味は何でしょうか?
キーボードの[Ctrlキー]と[Shiftキー]を押しながら最後に[Enter]キーを押すという意味です。


[Ctrlキー]、[Shiftキー]、[Altキー]はキーボードでのショートカットによく使われるので
覚えていた方が良いでしょう。

この回答への補足

キーボードの[Ctrlキー]と[Shiftキー]を押しながら最後に[Enter]キーを押す

目的は何でしょうか?
という質問のつもりでした。(^^;

どうしてその様な操作をするのでしょうか?

補足日時:2005/10/06 19:23
    • good
    • 0

「複数の条件のうちどれかを満たすものを判定」ですね、


実は私も似たようなことで悩んでいます。


もしも条件が1,2,3のみで、A1:A9に0が含まれていないのであれば
=SUMIF(A1:A9,"<=3",A1:A9)
で良いのではないでしょうか?


もしも「2,5,8のみを足す」とするのであれば、IF文を併用してみます。
B列を判定用の列に使います。
B1:B9に
=IF(A1=2,1,IF(A1=5,1,IF(A1=8,1,0)))
と入力すると、B列は「A列が2または5または8である行のみが1,その他の行は0」になります。

あとは任意のセルで
=SUMIF(B1:B9,"1",A1:A9)
とすれば合計が求められるでしょう。

またはC列を合計用の列に使い、
C1に
=A1*B1
と入力してC9までコピー&ペーストします。
これでC列には「B列がまたは5または8である行にはA列と同じ値が、そうでない行には0が」入りました。
あとはC10で
=SUM(C1:C9)で良いでしょう。
    • good
    • 0
この回答へのお礼

解説付きで、ご丁寧にありがとうございました。

お礼日時:2005/10/07 10:08

=SUM(IF((A1:A9>=1)*(A1:A9<=3),(A1:A9)))


と入力してCtrl+Shift+Enterで確定して配列数式に
又は
=SUMPRODUCT((A1:A9>=1)*(A1:A9<=3)*(A1:A9))

この回答への補足

mshr様
ありがとうございます。
助かりました。

Ctrl+Shift+Enter
の意味は何でしょうか?

補足日時:2005/10/06 18:51
    • good
    • 0

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