- ベストアンサー
Excelで条件付き合計
年間の予算実績シートを作成しています。 現在月(毎月末日)の合計値(O3)を計算式で求めたいのですが、 IFのネストが多すぎてエラーになります。 A B C D ・・M N O 1 現在月 2007/6/30 2 4月 5月 6月・・3月 年計 現在月計 3 売上 100 200 150 0 1000 450 現在式:O3=IF(B1=B2,B3,IF(B1=C2,B3+C3,IF(B1=D2,B3+C3+D3,0))) ※0の箇所は、ネストが多くエラー値になるので、今は6月までの計算式までしか記入していません。 他の合計方法がありましたらどうぞよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
4月=2007/04/30 5月=2007/05/31 6月=2007/06/30 となっているのであれば O2=SUMIF($B$2:$N$2,"<="&$B$1,$B3:$N3)
その他の回答 (1)
現在月までの合計を出せばよいということでしょうか? それであれば、OFFSET関数を使うのがいいのではないでしょうか。 6月の場合、A3~C3(3個)の合計、 12月の場合、A3~I3(9個)の合計、 3月の場合、A3~L3(12個)の合計でよいですよね。 OFFSET関数で、参照するセル範囲の幅を算出します。これは、現在月から計算できます。どこか、別のセルにこのような計算式を書きます。 =IF(MONTH(A1)<=3,MONTH(A1)+9,MONTH(A1)-3) 1月~3月の場合、月の数字に9を足し、それ以外の場合月の数字から3を引くと、上記の「セル範囲の幅」が算出できます。 これをたとえばC1セルに記入して、合計を算出するところでは =SUM(OFFSET(A3,0,0,1,C1)) 基準セルは4月の数値が入っているセルで、縦・横のオフセットはなし(0)。高さは1で、幅がさっき算出した値、これで合計したい範囲が算出されますので、後はSUM関数で合計を計算すればOKです。
お礼
ありがとうございました! OFFSET関数をはじめて使いました。 >1月~3月の場合、月の数字に9を足し、それ以外の場合月の数字か>ら3を引くと上記の「セル範囲の幅」が算出できます。 自分では及ばない考え方でした。 勉強になりました! ちょっとこれからいじってみます!!
お礼
たびたびすみませんです!! 出来ました。勘違いでした・。 大変失礼致しました。 ありがとうございました!!
補足
ありがとうございました! すみませんが、もう1つ教えて下さい。 実際の表は、上記9月と10月の間に、半期計が入っております。 O2=SUMIF($B$2:$N$2,"<="&$B$1,$B3:$N3) $B$2:$N$2のところで、4月~9月、10月~3月という 指定の仕方がわからず、違う結果が出ております。 どうぞ宜しくお願い致します。