• 締切済み

Excelで変動する雛形は作れますか?

  A    B    C 1 数量  単価  金額 2   50    300   15000 3 (空白)  (空白) (空白) 4   5    1000   5000 5 「小計」      20000 ・ ・ ・ ・ 20 「合計」       ******* 判りづらいかもしれませんが、このようなデータがあったとします。 この中で「小計」「合計」の位置がこの表で言えばB5セル、A20セルで固定できれば別段問題はないのですが、「小計」が場合によってはB3セルに来たり、B15セルに来たり、「合計」がA30になったり、といったような雛形を作ることは出来ないでしょうか? もし、出来るとしたらマクロが必要なのでしょうか? ちなみにマクロの知識は全くありません。 よろしくお願いいたします。  

みんなの回答

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.3

こんにちは。 質問を曲解していたらすみません。 「データの行が増えていったら、小計や合計の位置が変わって 計算がおかしくなる」 ということでしょうか? だとすると、例えば小計であれば、 C5: =SUM($C$2:$C$4) のように絶対参照にせずに =SUM(C2:C4) のように相対参照にしておけば、 行が増えても自動的に =SUM(C2:C5)と拡張され 希望通りの計算が行われます。 ここで問題が発生します。 行の挿入はデータ(2行~4行)内で行われれば問題ないのですが、 「見出し行」の下や「小計」行の上に行挿入すると、範囲が拡張されず、 計算が狂ってしまいます。 私はこの問題が発生するときには、奇麗な方法ではないのですが、 以下のようにしています。(A列、B列は記述を省略しています。)        C 1     金額 2 "データは、この行より下に挿入して下さい。 3     15000 4 5     5000 6 "データは、この行より上に挿入してください。 7     20000 ここで、C7セルは  =sum(C2:C6) のように警告行を含めて指定しておきます。 なお、「合計」は「小計」を相対参照で和をとればいいだけです。 こうしておけば、警告行内にいくらでも行を挿入してデータを追加 しても計算が狂いません。 まったく、とんちんかんな回答だった場合はごめんなさい。 参考>http://oshiete1.goo.ne.jp/qa1284975.html

Youyou
質問者

お礼

ありがとうございます。 色々とためになるご回答ばかりで助かります。 今回の質問は私の質問の仕方が良くなかったようで、一旦締め切らせていただき、新たに質問させていただきます。 申しわけございませんでした。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

合計及び小計欄が複数でなければ、関数で可能です。 一例で数式が長くなりますが、C1に=IF(A10="合計",SUM(OFFSET($C$1,0,0,MATCH("合計",A:A,0)-1))-SUMIF(B:B,"小計",C:C),IF(B10="小計",SUM(OFFSET($C$1,0,0,MATCH("小計",B:B,0)-1)),IF(A10<>"",A10*B10,""))) を設定して、下方向にコピーして下さい。

Youyou
質問者

お礼

ありがとうございます。 色々とためになるご回答ばかりで助かります。 今回の質問は私の質問の仕方が良くなかったようで、一旦締め切らせていただき、新たに質問させていただきます。 申しわけございませんでした。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

もし質問が「小計の行が変わると、合計が正しく出せない」という理由からきているなら、SUBTOTAL関数を使用したらいかがでしょうか SUBTOTAL関数は、指定範囲にSUBTOTAL関数で出した合計があっても、その数値は加算しません。従って5行目の小計に =SUBTOTAL(9,C2:C4) と入力し、20行目の合計に =SUBTOTAL(9,C2:C19) と入力すれば、小計行の位置にかかわらず合計は正しくなります。 もし質問が「小計、合計欄を自動で挿入したい」であればマクロが必要ですが、質問内容だけではマクロを書く条件が分からないので書けませんし、もしマクロを書いてもらったにしても実際のシートではきっと修正が必要になるでしょうから、ある程度のマクロ知識は必要になりますよ。

Youyou
質問者

お礼

ありがとうございます。 色々とためになるご回答ばかりで助かります。 今回の質問は私の質問の仕方が良くなかったようで、一旦締め切らせていただき、新たに質問させていただきます。 申しわけございませんでした。