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

例えば、以下のような表があるとします。

A        B       C
2005/10/12  山田一郎  5,000
2005/10/17  鈴木花子  1,000
2005/10/28  鈴木花子  2,000
2005/11/03  山田一郎  1,000
2005/11/17  山田一郎  2,000
2005/11/19  鈴木花子  4,000

これを、次のように仕訳したいのですが、

     山田一郎  鈴木花子
10月  5,000     3,000
11月  3,000     4,000

どのような関数を使えばうまく集計することができますでしょうか?

自分なりに、SUMIFやSUMPRODUCTを使って考えてみたのですが、
うまく集計することができませんでした。

どうぞよろしくお願いします。

A 回答 (3件)

上記の解答の表がAA1:AC3として


AB2=SUMPRODUCT((TEXT($A$1:$A$6,"mm月")=$AA2)*($B$1:$B$6=AB$1)*($C$1:$C$6))
これをAB2:AC3にコピー
    • good
    • 1
この回答へのお礼

できました~!
TEXTなんていう関数もあるんですね。勉強になりました。
どうもありがとうございました!

お礼日時:2005/11/14 12:31

データ例 A1:C10


2005/10/12山田一郎5,000
2005/10/17鈴木花子1,000
2005/10/28鈴木花子2,000
2005/11/3山田一郎1,000
2005/11/17山田一郎2,000
2005/11/19鈴木花子4,000
2005/10/18山田一郎1,000
2005/10/22山田一郎3,000
2005/11/22山田一郎3,000
山田一郎 10月分
=SUM(IF((MONTH(A2:A10)=10)*(B2:B10="山田一郎"),C2:C10,0))
と入れてSHIFT+CTRL+ENTER(3つのキーを同時に押す)
配列数式の利用です。
山田一郎 11月分
=SUM(IF((MONTH(A2:A10)=11)*(B2:B10="山田一郎"),C2:C10,0))
と入れてSHIFT+CTRL+ENTER(3つのキーを同時に押す)
結果は
9000
6000
=SUM(IF((MONTH(A$2:A$10)=ROW()-2)*(B$2:B$10=B$2),C$2:C$10,0))として、下方向へ複写し(本質問ではA12まで2か月分)、山田一郎の分を複数月分複写で出すことも可能です。
SUMPRODUCTでもできると思います。
D列に=MONTH(A2)で月数を出して(D10まで式複写して)
=SUMPRODUCT((D2:D10=10)*(B2:B10="山田一郎")*(C2:C10))
で9000になりました。
=SUMPRODUCT(MONTH(A2:A10)=10)*(B2:B10="山田一郎")*(C2:C10)
ではうまくいきませんでしたが。
    • good
    • 1
この回答へのお礼

こちらの方法でもできました!
「SHIFT+CTRL+ENTERで配列数式」など、初めて知りました。
今回はNo.1の方法が私には合っているようですが、この配列数式も勉強してステップアップしたいと思います。
どうもありがとうございました。

お礼日時:2005/11/14 12:42

補助列で10月とかの列を作っておいて、ピボットテーブルを使いのがベストでしょう。

    • good
    • 0
この回答へのお礼

補助列を作るとなると一手間増えてしまうので、今回はNo.1の方法が私には合っているようです。
でもピボットテーブルをまだ使ったことがないので、この機会にちょっと勉強してみようと思います。
どうもありがとうございました。

お礼日時:2005/11/14 12:38

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