- ベストアンサー
エクセルの関数について
エクセル2003です。宜しくお願いします。 担当者 売上 田中 20000 山田 30000 田中 10000 山田 20000 山田 -30000 上記のような表で、山田の販売件数を関数で出したいのですが、上記の表では山田の販売件数は2-1で1件というように出したいのです。(売上が-の場合は件数を-1にする) -がなければ、『山田』の数を拾って終わりなのですが、-が入ってくることによって自分ではわからなくなってしまいました。 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ちょいと誤記ましたので訂正 Excel2003まででは =SUMPRODUCT((A2:A10="山田")*SIGN(B2:B10)) などのようにできます。(ちなみにExcel2007以降でも,この式でもモチロンできます) 失礼しました。
その他の回答 (5)
- esupuresso
- ベストアンサー率44% (257/579)
答えを出したいセルをアクティブの状態にして・・・ =COUNT(IF((A2:A6=A8)*(B2:B6>0),B2:B6))の式をいれ、「Ctrl」+「Shift」+「Enter」を押します {=COUNT(IF((A2:A6=A8)*(B2:B6>0),B2:B6))} ← こんな感じになります
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 A・B列がデータ表、D列に担当者名を入力、売上が0以上の件数を計数します。 E2に=IF(COUNTIF(A:A,D2),D2SUMPRODUCT(($A$2:$A$100=D2)*($B$2:$B$100>0)),"")としてして方向にコピー
- imogasi
- ベストアンサー率27% (4737/17070)
A.山田+売上プラス、B.山田+売上マイナスの件数A,Bをそれぞれ出して、演算で引き算すれば良いのでは。 2条件のCountIF的な関数で出来るだろう。2007以後ならCOUNTIFSがあるが、 2003ならSUMPRODUCT関数を使う =SUMPRODUCT((A1:A10="山田")*(B1:B10>0)*1)-SUMPRODUCT((A1:A10="山田")*(B1:B10<0)*1) 例データ 山田 1 上田 2 上田 3 山田 -3 上田 5 山田 1 上田 2 山田 -2 ーー 結果 0
- kagakusuki
- ベストアンサー率51% (2610/5101)
=SUMPRODUCT(($A$1:INDEX($A:$A,MATCH(9^9,$B:$B))="山田")*ISNUMBER($B$1:INDEX($B:$B,MATCH(9^9,$B:$B)))*(($B$1:INDEX($B:$B,MATCH(9^9,$B:$B))>0)-($B$1:INDEX($B:$B,MATCH(9^9,$B:$B))<0))) で如何でしょうか。
- keithin
- ベストアンサー率66% (5278/7941)
Excel2007以降ではCOUNTIFS関数も利用できますが,Excel2003まででは =SUMPRODUCT((A1:A10="山田")*SIGN(B1:B10)) などのようにできます。 #別の方法 C列に C2: =SIGN(B2) 以下コピー などのようにして, =SUMIF(A:A,"山田",C:C) のように計算するのも簡便です。
お礼
たくさんのご回答ありがとうございます! 一番初心者にもわかりやすいと感じましたのでkeithin様にベストアンサーをつけさせて頂きます! また何かありましたら宜しくお願いします。