• ベストアンサー

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月までの計算式までしか記入していません。 他の合計方法がありましたらどうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

4月=2007/04/30 5月=2007/05/31 6月=2007/06/30 となっているのであれば O2=SUMIF($B$2:$N$2,"<="&$B$1,$B3:$N3)

ichigobana
質問者

お礼

たびたびすみませんです!! 出来ました。勘違いでした・。 大変失礼致しました。 ありがとうございました!!

ichigobana
質問者

補足

ありがとうございました! すみませんが、もう1つ教えて下さい。 実際の表は、上記9月と10月の間に、半期計が入っております。 O2=SUMIF($B$2:$N$2,"<="&$B$1,$B3:$N3) $B$2:$N$2のところで、4月~9月、10月~3月という 指定の仕方がわからず、違う結果が出ております。 どうぞ宜しくお願い致します。

その他の回答 (1)

noname#62235
noname#62235
回答No.2

現在月までの合計を出せばよいということでしょうか? それであれば、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です。

ichigobana
質問者

お礼

ありがとうございました! OFFSET関数をはじめて使いました。 >1月~3月の場合、月の数字に9を足し、それ以外の場合月の数字か>ら3を引くと上記の「セル範囲の幅」が算出できます。 自分では及ばない考え方でした。 勉強になりました! ちょっとこれからいじってみます!!

関連するQ&A

  • エクセル・時間の合計が合わない

    実労働時間の1ヶ月の合計をだすのに、SUMを使ったのですが、 合計がすごく小さい数字になります。 表示は※※:※※で表示しています。 表の内容は下記の通りです。 4行目に題名 ・B出勤時刻・C休憩開始・D休憩終了・E退社時刻 F4・I4・L4・N4・Q4=0:00 G4・J4・M4・O4・R4=17:00 F  =IF($E5-F$4>0,$E5-F$4,0)-IF($B5-F$4>0,$B5-F$4,0) G  =IF($E5-G$4>0,$E5-G$4,0)-IF($B5-G$4>0,$B5-G$4,0) I  =F5-SUM(J5:$K5) L  =IF($D5-L$4>0,$D5-L$4,0)-IF($C5-L$4>0,$C5-L$4,0) M  =IF($D5-M$4>0,$D5-M$4,0)-IF($C5-M$4>0,$C5-M$4,0) N  =L5-SUM(O5:$P5) O  =M5-SUM(P5:$P5) Q  =I5-N5  (実労働時間17時までの1日の計) R  =J5-O5  (実労働時間17時からの1日の計) Qに=SUM(Q5:Q14) Rに=SUM(R5:R14) を入力しましたが、まったく違う時間数になります。 どうすれば正しい計算式がでるのでしょうか? お教え願いたくお願い申し上げます。

  • Excel 3つの条件文を一つのセルにいれたい。。

    Excel、下述の 3つの条件文を一つのセルにいれたい。。です。 その一つのセルを仮にD2とします =IF(A2="","",A2*O2) =IF(B2="","",B2*O2) =IF(C2="","",C2*O2) A2に数値がはいっていなかったらD2は空白で、数値が入っていたらA2*O2の計算をする B2に数値がはいっていなかったらD2は空白で、数値が入っていたらB2*O2の計算をする C2に数値がはいっていなかったらD2は空白で、数値が入っていたらC2*O2の計算をする つまり、上述のIF文を一つにまとめたいのです。 頭が悪くてわかりません、誰か助けてください!!!!お願い致しますm(_ _)m

  • エクセルの関数でセルの合計を求めたい(条件付) 

    関数で   A B C  1 ○ 1 2 × × 3 ○ 3 4 × × 5 × × 6 ○ 2    ※ ×は空白です。 A行がが○だった時、B列の数字と一つ下の○の行のB列の数字の合計をC行に求めたいと思っています。 例えばC1には4、C3には5と言った感じです。 IF関数をネストしようと思ったのですが、×が10個以上続く場合がありネストできませんでした。 お知恵を拝借させてください。 よろしくお願いします。 関数では難しい場合はVBAでも結構です。

  • エクセルで8個以上の条件判断をしたい

    WinXPでExcel2003を使用しています。 今、以下のような判断~処理を8個以上(恐らく15個位)について行いたいのですが、ifのネスト制限に掛かってしまいました。 良い方法があればお教え下さい。 セルb1の計算式として、 =if(a1="1","A",if(a1="2","B",if(a1="3","C",if(a1="4","D",・・・   )))))))

  • エクセルで合計を求めるために

    エクセルで合計の数値を求めたいです 状況としては A列に数字が入力されています B列に入力があったものだけの合計をC1に表示させたいです 例としては A列 B列 100  1 150 200 250  山   この場合の合計をC1に100+250=350 B列の入力内容は状況によって変わります 現在はC1=IF(A1="","",B1)という関数を別の箇所に作って、それの合計を出させていますが、出来れば別の箇所に計算式を作らずにすむ方法を教えてください。お願いします

  • 収入または支出合計が空白(関数)になっていても差引合計が現れるよう様にする方法

    いつもお世話になっています。 エクセル2003で下記の様な 表を作っています。H・収入合計のセルに=IF((C3)=0,"",IF((D3)=0,"",(C3*D3)))という式が入っています。 同様にH・支出合計のセルには、 =IF((F5)=0,"",IF((G5)=0,"",(F5*G5)))と数式が入っています。 差引合計には=IF(COUNT(E3,H3)=0,"",(I2+E3-H3))という式を入たのですが、これだと収入・支出合計が空白と充たされてしまうのか#VALUE!という表示が出てきます。 もし収入・支出合計が空白でも、合計が現れる計算方法がありますか?。教えてください ロータスだとPURECOUNT関数を入力したら、計算されたと思うのですが?・・、エクセルでは不可能なのでしょうか?。 C     D       E       F    G      H      I 収入  収入数  収入合計   支出  支出数  支出合計  差引合計 1000   2       2000                          2000                        100     1    100     エラー                         1000    1   1000     エラー

  • エクセル2003 SUMIFの組み合わせ

    A列| B列|  C列|D列 |    E列  |   F列 4| 2012/4/16| H| 100 |   4月の計 |  5月の計 4| 2012/4/17| J| 100 | 5| 2012/5/12| J| 100 | 5|  2012/5/13| H| 100 | 上の表でA列には=month(B2)の関数で月だけ表示するようにしています。 4月のJの合計と5月のJの合計をE列、F列に出すにはどう関数を組めばよいですか? 以下の様に組みましたが、どこが違うでしょうか? =IF(A:A=4,(SUMIF(C:C,"J",D:D)),"")-----4月計 =IF(A:A=5,(SUMIF(C:C,"J",D:D)),"")-----5月計 よろしくお願いします。

  • Excelで複数の条件の合計を出す

    excelでsumif関数ありますよね、ある範囲でA=Bなら合計するという。 このifの部分の条件を2つ以上設定する方法ありましたら教えてください。イメージとしては、A=BかつC=Dの場合のもののみある範囲の値を合計する。 素人ですみませんがよろしくお願いします。

  • エクセルで複数のセルの合計をIF関数も含めて出す方法

    初歩的だと思うのですが・・ 異なった文字が入った各セルの合計を別セルにてIFを使用し、数字を出しながらなおかつ集計する方法がわかりません。  A   B    C   D 1 い   ろ 2     は   に   3 ほ       4 へ   と 5 A列に文字が入ると常に 500 B列に文字が入ると常に 200 C列に文字が入ると常に 100 として、D列にA-Cの合計(何もなければ空欄)を出したいのです。この場合だとD1=700, D2=300, D3=500...となるように。 IF(A1="","",500)+IF(B1="","",200)+IF(C1="","",100) のちゃんとした関数式を教えてください。よろしくお願いします。。

  • 条件に一致したものの合計を算出する

    こんばんは。いつもお世話になっております。 さて、仕事で下記のような事が出来るものを作成したいのですが、元々関数に疎いため、あれこれ試したものの未だ解決しておりません。 誠に恐縮ですがお手すきの方、いらっしゃいましたら是非ともご教授願います。 ○印をつけるとDセルに、関数で指定した金額を反映させるようにする式は  =IF(A3="○",3000,IF(B3="○",2000,IF(C3="○",1000,""))) で良いと思っておりますが、まずこれは間違いないでしょうか。(具体的な例は下記)       A        B      C      D      受講料A  受講料B  受講料C   受講料 3行目   ○                    3000 4行目           ○            2000  5行目                  ○     1000 今回、お教え戴きたい事は、○を複数つけた場合、複数受講料の合計金額をDセルに反映させたいのです。 例えば A3 と B3 に○をつけた場合は3000+2000となりますので D3 には 5000 という数字が表示されるようにしたい。 また、A3 と C3 に○をつけた場合は3000+1000となりますので D3 には 4000 という数字が表示されるようにしたい。 という事です。 マクロなどという知識は全く持ち合わせていないので、関数で上手く処理するやり方がありましたら、そちらを是非ともご教授願います。 ただ、どうしてもマクロでないとこれは不可能です、というのであれば、それをお教え下さいませ。

専門家に質問してみよう