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

sum関数なので、合計欄のセルに
ex.=SUM(B1:B6)などと書くときに、
a列が"1"の場合のみ合計欄のセルに加算したい場合は
どうやって書けばいいでしょうか?
__ A B
1 1 100
2 0 200
3 1 300
4 0 400
5 1 500
6 0 600

合計欄の値=900にしたいのですが....
もしも書き方があるのであれば、
MAX,MINの場合も同じでしょうか?

A 回答 (5件)

とりあえず,簡単にできる方法は,



「セルC1に =IF(A1=1,B1,"")
 と書き,C6までコピーする.
 C1からC6まで合計する」

です.

sumif
とか
countif
とかいうのを見たことあるような気もしますが…….
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

お礼日時:2002/05/13 02:00

ex=SUMIF(A1:A6,1,B1:B6)



>MAX,MINの場合も同じでしょうか?
MAXIFみたいのは無いから、No.1の方のやり方が面倒が無いのでは?
    • good
    • 0
この回答へのお礼

SUMIF関数使用できました。ありがとうございます。

お礼日時:2002/05/13 02:01

SUMIF関数を使うなら、=SUMIF(A1:A6,1,B1:B6)


のような式を使えばできると思います。

MAX,MINはちょっと思い浮かびません。関数でなければオートフィルタを使ってA列が1のデータだけ抽出。他のシートにコピー、または下のステータスバーを利用して最大値を読みとる。
かな?

また、考えてみます。
    • good
    • 0
この回答へのお礼

オートフィルター機能ですね。
ヘルプを参考にして、使用してみます。
アドバイスありがとうございました。

お礼日時:2002/05/13 02:12

>a列が"1"の場合のみ合計欄のセルに加算したい場合は


>どうやって書けばいいでしょうか?
 =SUMIF(A1:A6,"=1",B1:B6)
のように書けます。


>MAX,MINの場合も同じでしょうか?
上のSUMIFを配列数式で書き換えてみると、
 =SUM(IF(A1:A6=1,B1:B6,0))
となります。数式バーから登録する時には、Ctrl+Shift+Enter として登録します。


これと同じように配列数式を使って、MaxIfモドキ、MinIfモドキを作ってみました。

a列が"1"のセルのみのMax
  =MAX(IF(A1:A6=1,B1:B6,MIN(B1:B6)))
a列が"1"のセルのみのMax
  =MIN(IF(A1:A6=1,B1:B6,MAX(B1:B6)))

SUMと似ています。ともにCtrl+Shift+Enter として登録します。
    • good
    • 0
この回答へのお礼

こんな裏技?があるんですね。
エクセルといえどもとても奥が深いですね。
とても勉強になりました。
ありがとうございました。

お礼日時:2002/05/13 02:05

こんばんは!



 =SUMIF(A1:A6,1,B1:B6)

書式は
 =SUMIF(検索範囲,条件,集計範囲)

です。

検索範囲と集計範囲は、対比させるので同じ広さにする必要があります。

検索条件には文字列もOKです。
比較演算子 も可能で
 例えば
  ">1" 1より大きい
  ">=1" 1以上
  "<>1" 1以外
また文字列の検索ではワイルドカードも使えます
 例えば
  "*a*" 文字 a を含む
  "a*" 先頭文字が a
  "*a" 文末が a

MAXとMINのような機能は単関数ではありませんから
配列関数または配列数式を使うとこになります。

配列数式の例

A列が1のB列の最大値
 =MAX(IF(A1:A6=1,B1:B6))
と数式バーに記載後
 配列数式とするためには [Enter]をせずに
[Ctrl]+[Shift]を押したまま[Enter]で入力確定します
 成功すると数式バーに
 {=MAX(IF(A1:A6=1,B1:B6))}
 と{}が付加されます。

最小値も同様で
 =MIN(IF(A1:A6=1,B1:B6))

 同様に配列数式として入力確定
    • good
    • 0
この回答へのお礼

とてもご丁寧なご説明ありがとうございました。
大変勉強になりました。

お礼日時:2002/05/13 02:10

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