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

Excel2003です。
左表から選択範囲を決めて右表の[I3] A*を検索条件に
値[D5] +10と[D8] +5のAの荷姿だけの合計15を求めたい
のですが、わかりません。=SUMIF(E3:E10,I3,D3:D10)で求めると
-となる値も計算に含まれてしまい答えは、10になってしまいます。
右下表の[I9] C*を検索条件にした答えも-1になりますが、
これを0にできないかと考えています。
SUMIF関数と他の関数の組合せを使ってできるのではないかと
いろいろ試行錯誤しているのですがわかりません。
ヒントだけでも良いので、お解かりの方いましたらよろしくお願いします。

「SUMIF関数で試行錯誤しています」の質問画像

A 回答 (4件)

こんばんは!


せっかく数式をお考えですがちょっと違った関数を使う方法になります。

↓の画像でJ3セルに
=SUMPRODUCT((ISNUMBER(FIND(I3,$B$3:$B$10)))*($D$3:$D$10>0),$D$3:$D$10)
という数式を入れオートフィルで下へコピーしています。
(エラー処理はしていません。)
これで、I列のセルに入力した文字が含まれるもので
数量がプラスのものだけの合計が表示されます。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m
「SUMIF関数で試行錯誤しています」の回答画像1
    • good
    • 0
この回答へのお礼

この式で何とかなりそうです。
ありがとうございました。

お礼日時:2010/03/30 20:49

No.3です。

すみません。画像を添付し忘れました。
「SUMIF関数で試行錯誤しています」の回答画像4
    • good
    • 0
この回答へのお礼

画像まで添付くださりありがとうございました。

お礼日時:2010/03/30 20:53

EXCEL2007には複数条件の集計できる新関数SUMIFSがあるんですが、EXCEL2003では使えません。


EXCEL2003では次の方法になります。

方法1:配列数式
J3=SUM(IF((LEFT(E3:E10),1=I3)*(D3:D10>0),D3:D10,0))
と入力してCtrl+Shift+Enterで配列数式化する。
※検索条件はA*でなくAにしてください。

方法2:SUMPRODUCT関数の応用
J3=SUMPRODUCT((LEFT(E3:E10,1)=I3)*(D3:D10>0),D3:D10)
※検索条件はA*でなくAにしてください。


方法3:DSUM関数を使用
K3=DSUM(B2:E10,D2,I2:J3)
正し検索条件の項目名を左表と合わせることと数量を条件に追加する必要があります。
    • good
    • 0
この回答へのお礼

参考にさせていただきます。
ありがとうございました。

お礼日時:2010/03/30 20:52

E列のところでもう一工夫して


E3:
=IF(D3>0,B3,"")
として合算したい荷姿のみ抽出し,
=SUMIF(E:E,"A",D:D)
のようにしてやるのが一番シンプルかなと思います。
E列にプラスの数量のみ再掲し,そちらを"A"でSUMIFするような手もありますね。

配列数式を使うなら
=SUMPRODUCT((B3:B10="A")*(D3:D10>0), D3:D10)
のような感じですが,データ数が多くなってくると極端に効率が下がるのでお薦めではありません。
    • good
    • 0
この回答へのお礼

いろんな方法があるのですね。
参考にさせていただきます。
ありがとうございました。

お礼日時:2010/03/30 20:50

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