• 締切済み

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の合計) ・上記のように、品目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

noname#109473
noname#109473

みんなの回答

回答No.2

ワンクッションおいて良いのであれば まず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

回答No.1

>合計 .....................   (=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の数値自体を引っ張って来てしまいます。

関連するQ&A

  • 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

  • エクセル2010で、数式を貼り付けたい

      A     B    C     D 1 商品名  単価  購入数  合計 2 りんご   100  20     2000 (数式:B2*C2) 3 みかん   80  10     800 (数式:B3*C3) という表があります。 E1に、D1(とE2にD2)の数式を、コピペで貼り付ける方法内でしょうか。   A     B    C     D    E 1 商品名  単価  購入数  合計 数式情報 2 りんご   100  20     2000 B2*C2 3 みかん   80  10     800  B3*C3 どうしても、Dの数式をコピーして、Eに貼り付けても結果の合計が表示されてしまいます。 (一度、C1コピー⇒メモ帳に貼り付け⇒エクセルにコピーも考えましたが、  エクセルに貼り付けた時点で、2000の結果が入りました・・・。) 手で入力して、Concatしてもいいのですが、 もし、コピペですむなら、コピペで解決したいのです。 どなたか解決方法をご存知の方がいらっしゃいましたら ご教授お願いします。

  • エクセル数式「数字の反映」

    商品名と価格は決まっており、商品名(A2)を記入すると『C2』に自動的に価格表(F3:G6)から単価(G4)が反映される数式を教えてください。   | A    B   C   D   E   F   G    H ---------------------------------------------------- 1 |商品  数量  単価 合計   | 2 |トマト   3   ?? =B3*C3   | 3 |                      価格表   | 4 |                      トマト 50円                        | 5 |                      なす  30円   | 6 |                      すいか20円   |

  • エクセルで数式をコピーしたときに..

    このような表があります。 ....A......B.......C......D 1 ........ 100 200 300 2 100 3 200 4 300 縦×横の表を作成したいのですが、 B2を=B1*A2と入力します。 そしてこの数式をC3にコピーするとC2*B3になってしまいます。 これをコピーした時に、C1*C3にしたいのですが、 横軸はいつも1の行、縦軸はいつもAの列になるように 数式のコピーはできないでしょうか?   

  • 集計表の合計欄を入力に応じた表示にしたい

        添付しているのは1月~12月に分けたA~Gの品物の集計表ですが、各合計欄を空白時は空白、  「0」を入力した時は「0」の表示のように、入力に応じた表示させたいと思っています。   私は関数利用の初心者ですが私なりに次のように数式を入力しました。  例えば   1月のA~Gの合計欄の数式は      =IF(B6&B7&B8&B9&B10&B11&B12="","",SUM(B6:B12))   1月~12月の品名Aの合計欄の数式は      =IF(B6&C6&D6&E6&F6&G6&H6&I6&J6&K6&L6&M6="","",SUM(B6:M6))  この数式で一応は各合計欄が入力に応じた表示をしました。   1月~12月の品名Aの合計欄の数式ですが、最初はB6&・・・・・・・・・としているところを、  B6~M6という解釈で単純に(B6:M6="","")としてみましたがだめでした。  それで、もっと圧縮した数式にならないだろうかと色々試行錯誤してみましたが  どうしても上手く行きませんでした。   何かいい方法があればお知恵をお貸しいただければと思い質問を致しました。  宜しくお願いします。                        

  • SUMPRODUCT 複数条件設定で、計算式結果がおかしいです。

    下記のような表があったと仮定します。   A  B   C   D 1 月度 店舗 品目 売上金額 2 4   A   あ  22300 3 4   B   あ  18700 4 4   C   あ  14500 5 4   A   い  17950 6 5   B   あ  44000 7 5   C   い  35000 8 5   A   う  12000 9 5   B   い  13400 この表から、 店舗「A」、品目「あ」の売上合計は、22300になり、 数式「=SUMPRODUCT(($B$2:$B$9="A")*($C$2:$C$9="あ")*$D$2:$D$9)」で計算できます。 店舗「A,B」、品目「あ」の売上合計は、85000になり、 数式「=SUMPRODUCT(($B$2:$B$9={"A","B"})*($C$2:$C$9="あ")*$D$2:$D$9)」で計算できます。 店舗「A」、品目「あ,い」の売上合計は、40250になり、 数式「=SUMPRODUCT(($B$2:$B$9="A")*($C$2:$C$9={"あ","い"})*$D$2:$D$9)で計算できます。 しかし、 店舗「A,B」、品目「あ,い」の売上合計は、116350なのですが、 数式「=SUMPRODUCT(($B$2:$B$9={"A","B"})*($C$2:$C$9={"あ","い"})*$D$2:$D$9)」では、数値がおかしく(35700に)なります。 数式の使い方が間違っているのでしょうか? アドバイスをお願いします。

  • EXCEL VBAで数式の追加変更を行いたい

    VBA初心者です。 下記の様な表を作成して、月末の累計処理を行っています。 表 A B C D 1 部署 累計 1月 2月 2 a 2000 1000 1000 3 b 1800 1000 800 : : : B2セルに、(=C2+D2)という式を入れています。 月末あらたに、E列に表を追加作成し、B2セルの数式を(=C2+D2+E2)に変更したいと思っていますが、VBAで数式の取得変更は可能ですか? もし可能であるなら、どういったプログラム記述になるのか、教えて頂きたいです。 宜しくお願い致します。 (説明している表がわかりにくくて、申し訳ありません。)

  • Excelの数式の自動変更について

    excelの数式で困っています。 以下のようなシート1があります。 シート1 │A B C ─┼──── 1│a b c 2│d e f 3│g h i シート2で、以下の数式でシート1の値"e"を参照しているセルがあります。 =シート1!B2 この式では、シート1に行や列を挿入しても、"e"の値があるセルを参照したままになるように、数式が自動的に変更されます。 そうではなく、以下の条件を満たすような数式に変更したいと思っています。 ・1行と2行の間に行を挿入  →数式が自動変更され、"e"を参照したままにする ・A列とB列の間に列を挿入  →数式は変更されず、元々"e"があった場所を参照する 何かよい方法はないでしょうか? 回答よろしくお願いいたします。

  • EXCEL 数式について

    A列 B列 の合計が C列に出るような表を つくっていました。 C列には =A1+B1 という程度の数式を入れていました。 ここまでは普通の話なのですが。。。 毎回、A B列の数字を入れたら C列の数式を コピーして下段に貼付けしていました。 今日も同じようにA B列に数字を入れたところ・・・ 勝手にC列に式が入りました。 特に、シートに保護をかけて数式を表示しない ようにしているわけでもなく、不思議です。 何が原因かおわかりになる方教えてください。 これが使えればそれはそれで便利なので・・・

  • エクセル配列数式について

    A列(A3:A42)に氏名 B列(B3:B42)に性別 C列(C3:C42)に第1回テスト成績 D列(D3:D42)に第2回テスト成績 が入力してあります。 性別が"男" かつ 第1回テスト成績が350以上 かつ 第2回テスト成績が350以上 の条件を満たす配列数式を {=COUNT(IF((B3:B42="男")*(C3:C42>=350)*(D3:D42>=350),B3:B42,""))} だと正しい回答がでません IFの真の場合の欄をC3:C42またはD3:D42にすると正しい値がでます なぜC3:C42だとだめなのでしょうか?