- ベストアンサー
エクセルのSUMIF関数なのですが・・・
A列に日付、B列に販売員名、C列に売上金額とし、現在三ヶ月分800個のデータが入力されている状態だとします。 例えば販売員Yさんの現在の売上を集計しようとすると =SUMIF(B1:B800,"Yさん",C1:C800)になると思うのですが、Yさんの月ごとの売上集計を計算するにはSUMIF関数をどういう風に変えればいいのでしょうか。 分かりにくい説明かもしれませんが、どうぞ宜しく御願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
再びこんばんは >例えばYさんの取引件数を調べるのに >COUNTIF(b1:b800,"Yさん")を使っているのですが、 >これを同じく月別に計算できる関数というのは有る >のでしょうか。 #3での式は (指定の月か)*(指定の販売員名か)*(売上) の結果を加算していく式ですから前記式から売上 部分を消すと月別の件数になります。 配置は前回と同じで以下の式です =SUMPRODUCT((MONTH($A$1:$A$12)=F$1)*($B$1:$B$12=$E2))
その他の回答 (3)
- comv
- ベストアンサー率52% (322/612)
こんにちは 個人的には#2imogasiさんのデータベース関数が 好みですが、配列関数での例を1つ A B C D E F G・・・・Q 1 ****/**/** Y ** 1 2・・・・12 2 ****/**/** X ** Y 式 → → 3 ****/**/** Y ** X ↓ →・・・・↓ : ****/**/** : : 800 ****/**/** Y ** F1~Q1に月(数値) E2~ 販売員名 F2に式 =SUMPRODUCT((MONTH($A$1:$A$12)=F$1)*($B$1:$B$12=$E2)*$C$1:$C$12) 入力後 Q2まで複写 必要行まで複写
お礼
とても興味深い関数を有難うございます。早速試してみ、うまくいったので感動しました。例えばYさんの取引件数を調べるのにCOUNTIF(b1:b800,"Yさん")を使っているのですが、これを同じく月別に計算できる関数というのは有るのでしょうか。何度もすみませんm(_ _)m
- imogasi
- ベストアンサー率27% (4737/17069)
(1)=sumif()関数は第2引数に"=a and =b"のような表現を許さないし、項目名を入れて、コード1="1" and 日付="2002/9/21"なども出来ないようです。 (#1のご解答のように1列に項目をまとめれば出来ますが) (2)代わるものとして=Dsum関数があります。 簡単テストデータとしてA1:C7に コード1 日付 計数 a 2002/9/21 1 b 2002/10/2 2 c 2002/9/15 3 a 2002/9/21 5 c 2002/10/1 1 d 2002/9/21 2 a 2002/9/18 3 条件としてE1:F3に コード1 日付 a 2002/9/21 d 2002/9/21 として例えばA13に =DSUM(A1:C7,C1,E1:F3)という関数式を入れます。 結果は8で「aで2002/9/21かまたはdで2002/9/21」を足すに なります。列方向に並べると「OR」条件、行方向は「AND」条件と考えます。=DSUM(A1:C8,"計数",E1:F3)とも表現できます。 E2:F3の部分には>3なども使えます
お礼
早々のご回答有難う御座いました。少しずつ勉強していきます。また宜しく御願い致します。
- nishishi
- ベストアンサー率39% (17/43)
A列の日付が日付形式の場合ですが、 もう一列追加して、月と販売員名を表示させます。 たとえばD1に =text(a1,"mm")&b1 と入力して後はコピーします。 表示的には「10Yさん」というようになると思います。 これを利用すれば販売員別、月別集計ができるとおもいます。 でも、ピボットテーブルで作るほうが集計表を作るだけ なら簡単だとおもいますけど
お礼
月別集計以外に実はもう少しややこしい問題も有り、ピボットテーブル以外で何か無いかと思いお尋ねしました。とても使いやすく分かりやすい回答を本当に有難う御座いました。
お礼
おかげさまで希望通りのことが出来、大変助かりました。再度のご回答、本当に有難う御座いました。