自分のお店を開く時の心構えとは? >>

下記のAという表からBの表へ各自の4月度、5月度の結果を反映させたいのですが、
関数では複数条件になり、無理なのでしょうか?


【A】
A B C D
1 名前 日付 結果 月
2 田中 4/10 200 4月度
3 山田 4/12 210 4月度
4 小林 4/14 240 4月度
5 田中 5/10 180 5月度
6 小林 5/20 220 5月度


【B】
1 名前 4月度 5月度
2 小林 240
3 田中 200
4 山田 210


よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

No.1です。


Excel2003以前のバージョンでSUMPRODUCT関数を使用しない!となれば
当然配列数式もダメ(SUMPRODUCT関数も配列数式になります)ですので

PCの負担を軽減する方法としては↓の画像のようにSheet1の作業用の列を設けるのが一番良いと思います。

作業列E2セルに
=IF(COUNTBLANK(A2:C2),"",A2&D2)
という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。
これ以上データはない!というくらいコピーしておいても構いません。

そしてSheet2のB2セルに
=IF(OR($A2="",B$1=""),"",SUMIF(Sheet1!$E:$E,$A2&B$1,Sheet1!$C:$C))
という数式を入れ列・行方向にオートフィルで画像のような感じになります。m(_ _)m
「Excelの抽出(関数)について」の回答画像2
    • good
    • 0
この回答へのお礼

素晴らしい!!
完璧です!

こちらのわがままな要望にも丁寧にご回答くださり、
本当にありがとうございました。

お教えいただいた数式を大切に使わせていただきたいと思います。
本当にありがとうございました(^o^)

お礼日時:2013/04/16 21:18

こんばんは!


一例です。
↓の画像で左側のSheet1のデータをSheet2に集計するようにしてみました。

尚、Sheet2のA列「名前」と1行目の「○月度」(文字列)は入力済みだとします。

まずSheet1のD2セルに
=IF(B2="","",MONTH(B2)&"月度")
という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。
これでD列ば数値ではなく、○月度という文字列で表示されます。

最期にSheet2のB2セルに
=IF(OR($A2="",B$1=""),"",SUMIFS(Sheet1!$C:$C,Sheet1!$A:$A,$A2,Sheet1!$D:$D,B$1))
という数式を入れ列・行方向にオートフィルでコピーすると
画像のような感じになります。

※ 上記数式はExcel2007以降のバージョンでの数式になります。もしお使いのバージョンがExcel2003以前の場合
SUMIFS関数は使用できませんので
=IF(OR($A2="",B$1=""),"",SUMPRODUCT((Sheet1!$A$1:$A$1000=$A2)*(Sheet1!$D$1:$D$1000=B$1),Sheet1!$C$1:$C$1000))
という数式にしてみてください。m(_ _)m
「Excelの抽出(関数)について」の回答画像1

この回答への補足

素晴らしいご回答をくださり、感謝申し上げます。

Excelのバージョンを書き忘れましたが、2003です。
2003の場合、SUMPRODUCTを使う数式をお教えいただきましたが、
他の関数では求めることが出来ないでしょうか?

SUMPRODUCTはExcelの計算がかなり重く感じられ、
以前もSUMPRODUCTを使ってみたことがありますが、
結局、シートを増やしたりして、
別の関数を使用しました。

お忙しいかと思いますが、
他の関数での数式もお教えくださると助かります。

よろしくお願いいたします。

補足日時:2013/04/16 11:44
    • good
    • 0

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


人気Q&Aランキング