• 締切
  • 困ってます

Excel 数式 一括変更・一括反映について (初心者的質問なのですが・・・)

  • 質問No.4936788
  • 閲覧数1537
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0
Microsoft Excel 数式の一括変更・一括反映(という表現が正しいのかわかりませんが・・・)について質問させていただきます。
お分かりになる方いらっしゃいましたら、ご教示のほどよろしくお願い致します。
使用しているのはOffice 2003(パーソナル)です。
言葉ではうまく説明しにくいので、作成した表の例を記入させていただきます。

............................. 1月             2月 ・・・・
     単価  数量  合計金額
品名1 .. (B1) ... (C1) ...... (D1) .......(← B1, C1などは座標番号)
品名2 .. (B2) ... (C2) ...... (D2)
品名3 .. (B3) ... (C3) ...... (D3)
品名4 .. (B4) ... (C4) ...... (D4)
品名5 .. (B5) ... (C5) ...... (D5)

合計 .....................   (=D1+D3+D5)
(品目1・3・5の合計)

・上記のように、品目1, 3, 5の合計を出すように数式を入れます。
・次に、2月の表も同じようになるように、数式をコピーします。
 場所が飛び飛びなので、指で(キーボードで)、CTRL+C → CTRL+Vでコピーしています。
・すると、2月の合計欄は(G1+G3+G5)となります。以下、3月~12月まで同じように数式をコピーします。ここまではOKなのです。

・その後、1月の合計欄を「品目1・3・4の合計」に変えたいと思い、数式を「=D1+D3+D4」に変更しました。
・その後、また同じように2月~12月まで「指複写」を繰り返すのが大変なので(同じような表がたくさんあるため)、
<1月の計算式を変えると、2月以降もそれに応じて(自動的に)すべて計算式が変わるようなテンプレート>にしておきたいと考えました。

↑ここがうまく説明できないのですが・・・意味がおわかりいただけるでしょうか?

つまり、1月の計算式を<D列の1・3・4合計>に変更すると、自動的に2月~12月も同じように<G列~の1・3・4合計>になるようにしたいのです。

この場合、2月~12月の合計欄にはどのような数式(or参照式?)を入れれば良いのでしょうか?
ちなみに、「=D6」と入れると、1月の合計欄と同じ数字がそのまま表示されてしまいます。

エクセルのヘルプ機能で「数式の複写」とか「相対参照、絶対参照」などの項目を読みましたが解決しませんでした。
本当は市販のガイドブックなどでしっかり勉強すべきなのでしょうが、自分の知識ではすぐには難しそうなので、
ご存じの方がいらっしゃいましたらご教示をお願いできればと考えました。
初歩的な質問で(説明もわかりにくくて)恐縮ですが何とぞよろしくお願い致します。m( _ )m

回答 (全2件)

  • 回答No.2

ベストアンサー率 32% (184/559)

ワンクッションおいて良いのであれば
まずA列に1行挿入して空白の列を作ってください。
A列には合計させたい行に1をそれ以外は空白のままでOK
=IF($A1=1,E1,0)+IF($A2=1,E2,0)+IF($A3=1,E3,0)・・・
もしA1が1ならE1の値、違えば0、+もしA2が1ならE2の値、違えば0 ・・・
D1でなくE1にしているのはA列を挿入しているのでDがEにずれている為です。

個人的にはこんな数式を入れるより、コピーして作るので#1の方法を紹介しています。
補足コメント
noname#109473
ありがとうございました。
とりあえずIF関数で対処しました。
「例」では(便宜上)5列・5行だけになっていますが、実際の表は横に何十行もあって、さらに同じような表が何十個もありまして・・・
(しかも、表によってD1+D3+DE4だったり、D2+D5+D6だったり、合計欄に入れる式がそれぞれ異なるので)
変更するたびに右側にコピー・コピーでやっていくとそれだけですごく大変なんですよ。
で、一番左(例ではD6の座標)だけ変えれば自動的に右側も全部変わるようにしたかったのです。

このほかに、D7とD8の部分に、MAX(D1,D3,D5)とMIN(D1,D3,D5)という式も入っているんですが、
これをMAX(D1,D3,D4)とMIN(D1,D3,D4)に変えると、自動的に右側も全部同じように変わるようにしたいんですが・・・
これはIF関数では無理っぽい(?)でしょうか(?)

エクセルでは、「=D6」みたいなシンプルな式で参照させる方法はないんでしょうか・・・

ともあれ、合計欄はIF関数でなんとか対応できました。ありがとうございました。m( _ )m
投稿日時:2009/05/07 22:48
  • 回答No.1

ベストアンサー率 32% (184/559)

>合計 .....................   (=D1+D3+D5)
この行のC列だけに数式が入っているのですよね。
その行のA,B,C列をドラッグして下さい。
c列の右下にマウスをあわせて『+』マークを右にドラッグすると
A,B列に式がなければC列の式だけが2個おきにコピーされます。

マウスを使うのが嫌なら
その行のA列でshiftを押しながらc列まで行ってCTRL+C
D列からShiftで行きたい列まで範囲をしてCTRL+Vをしてみてください。
補足コメント
noname#109473
ご回答ありがとうございます。
ドラッグでコピーする方法、やってみました。うまく行きました。ありがとうございます。

ただ、質問の内容は(非常にわかりにくくてすみませんが)、「コピーをしないで済む方法はないでしょうか」なんです。


............................. 1月             2月 ・・・・
     単価  数量  合計金額
品名1 .. (B1) ... (C1) ...... (D1) .......(← B1, C1などは座標番号)
品名2 .. (B2) ... (C2) ...... (D2)
品名3 .. (B3) ... (C3) ...... (D3)
品名4 .. (B4) ... (C4) ...... (D4)
品名5 .. (B5) ... (C5) ...... (D5)

合計 ........................   (=D1+D3+D5)

↑ C列ではなく、「D6」の座標に、「=D1+D3+D5」という式が入っています。(品目1・3・5の合計)

同じように、「G6」の座標に、「=G1+G3+G5」という式が入っています。(2月の品目1・3・5の合計)

その後、D6の式を、「=D1+D3+D4」に変更しました。
このとき、「G6」の座標は「=G1+G3+G5」のままです。
G6を変更するためには、変更後のD6をコピーする必要があります。
これを、しなくて済むように、「G6~も同じ理屈の計算式になるようにしたい」ということです。

D6が「1行目+3行目+4行目」に変わったら、G6~も自動的に「1行目+3行目+4行目」になるようにしたい。
いちいちコピーし直さなくて済むように、あらかじめ、G6~の座標に、そういう式を入れておきたいということです。

その場合、G6~にはどのような数式(or関数or参照式?)を入れておけば良いのでしょうか?

ダメだった例
×「=D6」:これを入れたところ、D6の数値自体を引っ張って来てしまいます。
投稿日時:2009/05/06 21:54
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ