• ベストアンサー

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

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の合計) 最大値.....................   (=MAX(D1,D3,D5)) ← (品目1・3・5のうち最大値) 最小値.....................   (=MIN(D1,D3,D5)) ← (品目1・3・5のうち最小値) ・上記の例ですと、品目1, 3, 5の合計を出す数式が「D6」の座標に入っています。  最大値を出す式が「D7」に、最小値を出す式が「D8」に入っています。 ・次に、2月の表も同じようになるように、数式をコピーします。  ・すると、2月の合計欄(「G6」の座標)は(G1+G3+G5)となります。  最大値の欄(「G7」の座標)は「=MAX(G1,G3,G5」、最小値の欄(「G8」の座標)は「=MIN(G1,G3,G5」に変わります。   以下、3月~12月まで同じように数式をコピーします。ここまではOKなのです。 ・その後、1月の合計欄を「品目1・3・4の合計」に変えたいと思い、数式を「=D1+D3+D4」に変更しました。 最大値最小値も「MAX1,3,4」「MIN1,3,4」に変更しました。 ・その後、また同じように2月~12月まで複写を繰り返すのが大変なので(実際の表はは右に何十行もあり、同じような表が何十個もあるため)、 <1月の計算式を変えると、2月以降もそれに応じて(自動的に)すべて計算式が変わるようなテンプレート>にしておきたいと考えました。 ↑ここがうまく説明できないのですが・・・意味がおわかりいただけるでしょうか? つまり、1月の計算式を<D列の1・3・4合計>に変更すると、自動的に2月~12月も同じように<G列~の1・3・4合計>になるようにしたいのです。 この場合、2月~12月の合計欄(G6、J6、M6・・・)にはどのような数式(or参照式?)を入れれば良いのでしょうか? ちなみに、「=D6」と入れると、1月の合計欄に入っている数値自体を引っ張ってきてしまい、だめです。 「=XXX(D6)」のように、単にD6の座標を参照すれば済むようなシンプルな方法はないのでしょうか? 試しに「XXX」の部分にいい加減にいろいろな関数を入れてみたのですが(「=VLOOKUP(D6)」など)だめでした。 エクセルのヘルプ機能で「数式の複写」とか「相対参照、絶対参照」などの項目を読みましたが解決しませんでした。 本当は市販のガイドブックなどでしっかり勉強すべきなのでしょうが、自分の知識ではすぐには難しそうなので、 ご存じの方がいらっしゃいましたらご教示をお願いできればと考えました。 初歩的な質問で(説明も長々と書いてわかりにくくて)恐縮ですが何とぞよろしくお願い致します。m( _ )m ちなみに、昨日OKWaveで同じ質問を投稿しまして、D1+D3+D5(&その各右側)の座標については「IF関数で対応してはどうか」というアドバイスをいただき、 この欄については一応目的を満たせたのですが、MAX, MINの欄はIF関数では対応できません。よろしくお願い致します。 (その時のQ&AのURL)  http://okwave.jp/qa4936788.html

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 質問内容を取り間違えていたらごめんなさい・・・ 1月の合計(例えばA1+A3+A5)の数式を変えた場合(A2+A4のように)に 2月~12月すべての合計の数式を同じ行配列にしたい! という判断で回答させていただきます。 関数では出来るか出来ないか判りませんが、(VBAなら出来るかも・・) 一つの方法としてマクロに記録してみてはどうでしょうか? まず、1月の合計欄にとりあえず A2+A4 のように一つ数式を入れておきます。 この次からマクロに記録します。 ツール → マクロ → 新しいマクロの記録 を選択して 先ほどの1月の合計が入っているセルをクリック → コピー →  2月の合計セルをクリック → 形式を選択して貼り付け → 数式を選択 → OK 同じように3月~12月まで同じ操作を繰り返します。 ここでマクロの記録を終了します。 これで何とか希望に近いものが出来ないでしょうか? 尚、1月の合計数式が変わった場合は1月のみの数式を入れて、 ツール → マクロ → マクロ → 実行 これで12月までが一気に変わると思います。 以上、参考になれば幸いですが、 的外れの回答なら読み流してください。m(__)m

onlinegtr
質問者

お礼

アドバイス大変ありがとうございました! (あっ、お礼はメールだけでなく画面にも反映されるんですね) 最初、「マクロ」という言葉を見ただけで「うわっ高度過ぎ!だめだ!」と思ったんですが! ニャンと!教えていただいた手順で、出来てしまいました! びっくりです。この自分が「マクロ」だなんて! (コンピュータ音痴に近い人間なんです。女性や高齢者ではなく、一応、中年男なんですが・・・) 最初、No.1の方から教えていただいたフラッグを立てる方法でやってみたんですが(この方法も目的に適っていたのですが)、ものすごく大きい表なもので、マクロを試してみたいと思います。 具体的な操作手順まで教えていただき、本当にありがとうございます。 大変助かりました。m( _ )m

その他の回答 (1)

  • okdeath
  • ベストアンサー率28% (13/46)
回答No.1

こんにちわ。 つまり、品名ごとの色々なパターンの合計など簡単に知りたいわけですね。 知りたい品名の印として1を入力不要な部分は0を入力とかでどうでしょうか?品名の(左側)たとえば品名1,3,5の合計なら A1に1と入力 A2に0と入力(空白でも可) A3に1と入力 A4に0と入力(空白でも可) A5に1と入力 合計のとなり(D1の→)E1にIF文を入力 =IF(A1=1,D1,0) これをE5までコピーペースト。 合計のところはこれを入力。 =SUM(E1:E5) 最大はこれ =MAX(E1:E5) 最小はこれ =MIN(E1:E5) あとはA1~A5の数字を1か0(空白でも可)にすれば好きな結果を簡単に見れます。 こんなんでどーでしょーか。

onlinegtr
質問者

お礼

アドバイス大変ありがとうございました! いわゆる「フラッグを立てる」という方法ですね! MIN、MAXについてはIF関数では無理かと思ったのですが、教えていただいた方法で対応できました。 なるほど、該当する数字だけ右側に抜き出せば、普通に全体の範囲指定で問題なく対処できますね・・・サスガ!と思いました!(というか、エクセルに詳しい方なら普通に気づくことなのですかね???) お礼のメッセージが画面にも表示されるように「補足」欄に書こうと思ったのですが、お礼メールにて失礼させていただきます(「質問を締め切る」を先に押してしまったせいか?「この回答への補足を付ける」というのが表示されなくなってしまったため)。大変助かりました。ありがとうございました m( _ )m

関連するQ&A

専門家に質問してみよう