• ベストアンサー

エクセル関数で質問です。

関数初心者です。 教えて下さい。 下の図の1月の合計部分にそれぞれ場所の記号の個数と台数が合計されるようにSUMIF関数で 個数と売上が出るようにしたのですがそれを2月にコピー(右下に出る+を横にスライドするやり方で) しても1月の関数がそのままコピーされてしまい2月の合計が出ません。 $を入れてみたりしたのですがどうしても出来ません。 説明が下手で申し訳ないです。 宜しくお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 実際には合計した値は400行から402行に表示されることになるのでしょう。 C400に入力する式は次のようにして右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR(C$6="",$B400=""),"",SUMIF($B$7:$B$399,$B400,C$7:C$399)) 入力する式の中でセル番号に$を付けない場合には式を別のセルにドラッグコピーすれば自動的に変わります。 式を横方向にドラッグコピーすればセル番地のローマ字の部分が変化して数値の部分は変わりません。 式をたて方向にドラッグコピーすればセル番地のローマ字の部分は変化しませんが数値の部分が変わります。 したがって式を横方向にドラッグコピーするだけでなく縦方向にもドラッグコピーする今回の場合には$をセル番地のローマ字の前につけるのか数値の前につけるのか、それとも両者につけるのかを十分に検討することが必要です。 上の式でC$6は右方向にコピーすればD$6、E$6・・・のように変わりますが下方にドラッグした場合には数値の部分は変わりません。したがって常に表の内の6行目のセルを見ていることになります。6行目のセルが空白であれば答えとなるセルは空白にしなさいということです。 $B400については式がコピーされることがっても常にB列の値を行の変化に応じてみていなさいということで、○、△、×を見ていることになります。 SUMIF関数ではB7からB399のセル範囲は式が横方向や下方にドラッグコピーされても変化しないようにセル番地のローマ字と数値の前に$を付けています。一方C7セルからC399のセルの範囲については式を右横にドラッグコピーすればD7:D399のように変わりますが下方にドラッグコピーした場合にはC8:C400のように変わっていきます。列番号は変わってもよいのですが行番号は変わってほしくありませんので、C$7:C$399のようにしているのです。

purikopuriko
質問者

お礼

出来ました!!!ありがとうございます^^む…難しい関数ですね…2つの関数を使用してるんですか??IF(OR…うーーーん…。パソコンで調べてもっと勉強します。本当初心者です。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

C列やD列にはどんな式が入力されているのですか?それを具台的に示していただけませんか?

purikopuriko
質問者

お礼

解決しました^^ありがとうございました^^

purikopuriko
質問者

補足

入っている関数は=SUMIF(B7:B399,"○",C7:C399)です。 この関数ではダメなのでしょうか…

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

C22に =SUMIF($B$7:$B$21,$B22,C$7:C$21) と記入,右に下にオートフィルドラッグコピーします。 $がどこに付いててどこに付いてないのか,全てに意味があるのでよく見てマスターして下さい。

purikopuriko
質問者

お礼

ありがとうございます^^みなさんこうゆう関数はどこで学んだのでしょうか。本を読んでも実際に試してもやはりわかりません。本当エクセルって色々な事があり難しいですね。

関連するQ&A