- ベストアンサー
Excelで特定の日付範囲のデータの合計を出す方法
- Excelで特定の日付範囲のデータの合計を出す方法を教えてください。
- 1シート目の特定の日付範囲のデータの合計金額を2シート目に表示する方法を教えてください。
- Excelで日付を月までに省略して判断し、特定の日付範囲のデータの合計を出す方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート1ではA,B,C列の2行目から下方にデータが入力されているとします。 シート2ではA2セルから下方に2011年4月のようにデータが入力されているとしてB列に合計金額を表示させるのでしたらB2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",SUMPRODUCT((YEAR(Sheet1!B$2:B$1000)=YEAR(A2))*(MONTH(Sheet1!B$2:B$1000)=MONTH(A2))*(Sheet1!C$2:C$1000)))
その他の回答 (1)
- kagakusuki
- ベストアンサー率51% (2610/5101)
SUMPRODUCT関数は、計算負荷が大きくなり易いため(1000行以内という事でしたら、まだ許容範囲内だと思いますが)、 >今後もデータは増えていく という事ですし、御質問の様な場合には、「Sheet2のA列で指定されている月の末日」以前の期間のデータの合計から、、「Sheet2のA列で指定されている月の前月の末日」以前の期間のデータの合計を差し引いた方が、計算負の負荷は少なくなります。 この方法に基づいた場合には、Sheet2のA2に入力する関数は次の様なものとなります。 =IF(ISNUMBER(1/DAY($A2)),SUMIF(Sheet1!$B:$B,"<"&DATE(YEAR($A2),MONTH($A2)+1,1),Sheet1!$C:$C)-SUMIF(Sheet1!$B:$B,"<"&$A2,Sheet1!$C:$C),"") 或いは =IF(ISNUMBER(1/DAY($A2)),SUMIF(Sheet1!$B:$B,"<"&DATE(YEAR($A2),MONTH($A2)+1,1),Sheet1!$C:$C)-SUMIF(Sheet1!$B:$B,"<"&(TEXT($A2,"yyyy/m")&"/1")+0,Sheet1!$C:$C),"")
お礼
回答ありがとうございます! こちらの式でも試したところ、やはりばっちりでてきました! 関数にも負荷がかかるとか、使い方によって違いがあるんですね。。。 知りませんでした(汗 もっと関数について勉強していきたいと思います! 丁寧な回答ありがとうございました*^^*
お礼
早速の回答ありがとうございます! すぐにシートにて試してみました。 ばっちりです! ここ数日ずっと頭を抱えていたのがやっとすっきりしました。 本当にありがとうございました。