アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2010です。
あるセルに、別のセル範囲に特定条件が記入されたらその合計を、記入されないうちはある文字を表示する、という関数を書きたいのですが、どうもうまくいきません。
イメージとしては、

=IF(記入されるかもしれない範囲と条件,SUMIF(検索範囲,検索条件,合計範囲),"未記入時の文字列")

このような感じなのですが、「記入されるかもしれない範囲と条件」の書き方がわかりません。
たとえば下の図のように、
どこかの行に「野菜」とその金額が書き込まれたら、A10に野菜の合計額を表示、野菜の記入が無いうちは「買い忘れ」と表示させる、という具合です。

    A      B
1   肉     398
2   魚     249
3   野菜   198
4  調味料   298
5   野菜   298
6   惣菜   398

  野菜合計
10  496 ←野菜の買い物が無ければ「買い忘れ」

このようにしたいのですが、

=IF((A1:A10,"野菜"),SUMIF(A1:A10,"野菜",B1:B10),"買い忘れ")

としてもエラーになりました。
(A1:A10,"野菜")の部分が駄目なのはわかるのですが、どのように書けばよいのでしょうか?
よろしければアドバイスをいただければ幸いです。よろしくお願いします。

A 回答 (2件)

=IF(COUNTIF(A1:A6,"野菜"),SUMIF(A1:A6,"野菜",B1:B6),"買い忘れ")



の様にされると良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速やってみたところ、うまくいきました。
こういう場合にはCOUNTIF関数を使うのですね。勉強になりました。

また、質問文でA1:A10と、例文のセル番号が間違っていて失礼いたしました・・・

お礼日時:2013/01/31 12:48

C列:金額が入っている品目


C1:
=IF(SUM(B1),$A1,"")
D列:
チェックしたい品目を並べる
E列:合計もしくはアテンション
E1:
=IF(COUNTIF($C:$C,$D1),SUMIF($A:$A,$D1,$B:$B),"買忘れ")
C列、E列は下方向にコピー
    • good
    • 0
この回答へのお礼

ありがとうございます。
作業列を使う方法ですね。それだとチェックしたい品目の文字列を省略できますし、オートフィルでコピーすると、指定する品目も自動的に変わるので合理的ですね。

C列は結局A列とイコールになるので(品目と金額はセットですから)、C列は設定せずにA列を直接指定するのでもいいですね。

お礼日時:2013/01/31 13:43

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