• ベストアンサー

数値の合計の仕方を教えてください

セルA1からA20にデータが入力されており、 C1にA1~A10の合計、D1にA11~A20の合計を 表示させます、この状態でA1~A10の間に行の挿入を行い データを1個追加するとC1の合計はA1~A11の合計、 D1の合計はA12~A21の合計なってしまいますが、 データを追加しても常にC1の合計はA1~A10の合計、 D1の合計はA11~A20の合計を表示させたいのですが やり方が解りません、教えてください。 データを追加したことによりA21に移動したデータは無視します

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

 C1 =SUM(INDIRECT("A1:A10"))  D1 =SUM(INDIRECT("A11:A20")) などと INDIRECT関数を使っては如何でしょう。 Excelは範囲指定されている所にセルが挿入されると勝手に範囲を拡張してしまいますが、 範囲をセルで指定するのではなく、【文字列】 で指定することで回避できます。 または OFFSET関数で A1セルを基準にして範囲を指定することでも同様な処理ができます。  C1 =SUM(OFFSET(A1,0,0,10,1))  D1 =SUM(OFFSET(A1,10,0,10,1))

kouchan-1
質問者

お礼

出来ましたありがとうございます 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • (エクセル)数値だけ合計したい

    複数のセルに入力されている数値だけを抽出し、合計したいと思います。   A     B    C    D    E    F    G 1 合計金額 金額1  金額1理由 金額2  金額2理由 金額3  金額3理由 2      1000円   菓子  3 1500円  1000円   菓子   500円   飲料 4 1520円  1000円   菓子   500円   飲料   20円   消費税 以上のようにA列に合計金額を計算させる数式を考えています。 (ルール) ・B列とC列、D列とE列、F列とG列はセットです。例えば、B列には入力されているが、C列は空白ということはない ・B列とC列→D列とE列→F列とG列の順に入力されていく ・2行目、3行目のように、常に金額が3つとも入力されているとは限らない ・金額が入力されているB列、D列、F列には、「○○円」と「円」も一緒に入力されている (やりたいこと) A列に合計金額を反映させないのですが、以下のように規制したいです (1)2行目のように、金額が1つだけの場合(B列とC列しか入力されていない場合)は、合計金額は空白セルにする (2)3行目、4行目のように、金額が2つ以上の場合(D列とE列や、F列とG列にも入力されている場合)は、合計金額を反映させる (3)合計金額は「○○円」と「円」も一緒に反映させる (考えたこと) B列の金額とB列+D列+F列の合計を比較し、同じならA列は空白、違う場合はB列+D列+F列の合計をA列に反映させるようIF関数を使えばいいのではないか、と考えました。 そこで、まずB列+D列+F列の合計を出す関数を作ってみたのですが、うまくいきませんでした。 =SUM(SUBSTITUTE(B2,"円","")*1,SUBSTITUTE(D2,"円","")*1,SUBSTITUTE(F2,"円","")*1) とすると、金額が3つとも入力されていればいいですが、一つでも空白セルがあると、#VALUE!とエラーになってしまいます。 SUMPRODUCTを使用してできるかと思いましたが、同じ結果でした。 どうすれば、思っているようになるのでしょうか。 ご存知の方がいましたら教えてください。 よろしくお願いします。

  • 行を追加した時の、値の合計範囲

    行を追加するマクロがあり、実行すると「合計」行の1行上に行が追加されます。 行が追加された分「合計」のある行が下がっていくんですが、その関数が変動してくれなくて困っています。    A   B   C   D   E   F   G   H   I 1    商品の基本データ ・    ・ ・    ・ 14   商品の基本データ 15 16     日付  入庫  出庫               本日在庫  17 2012/04/01  100                     100 18 2012/04/05  50                      150 19 2012/05/03      100                 50 20 2012/05/04  300                     350 21    ・         150                 200 22    ・          50                 150 23    ・      200                     350 24    ・          10                  340 (ここに行が挿入されていく) 25 合計       (1)   (2)                340(=(1)-(2)) (1)=IF(COUNT($C$17:$C24)=0,"",SUM($C$17:$C24)) (2)=IF(COUNT($D$17:$D24)=0,"",SUM($D$17:$D24)) 現在こんな感じで式を入れています。$C24と$D24が$C25...、$D25...等動いていってくれるといいんですが・・。 他にもSUMPRODUCTやOFFSETなど色々試しましたが、上手くいきません。 行が増えていく(セル参照範囲が変わってくれない)、C:CやD:Dとして設定できない、データが連続していない、などが原因だと思っています。 A列には何もありません。 E~H列は他にもデータが入っています。 マクロで、B17からHの合計の1行上までを日付でソートすることがあります。 合計行の上に空白行C25を入れ、合計行C26にSUM(C17:C25)とし、 挿入する位置を空白行C25の上とすれば、SUMは挿入行を抱えていってくれるんですが、 この場合空白の行25を高さ0の不可視にさせなければならず、利用する側としては21・22・23・24・26と、25が飛んでいるのが気になるものと思います。 できればそういう疑問を持たせることなく可動させたいです。 因みにVBAでWorksheet_ChangeやWorksheet_Selectionhangeなどは既に使用しているので、 マクロで自動で合計値を入力することはできないと思います。 ボタンで動かすマクロでなら出来そうですが、合計を逐一表示するのにマクロボタンを設置するのもどうかと思うので・・。 いくらネットで探しても方法が見つからなかったので、何方かご教授宜しくお願い致します。

  • 日付指定による累積合計

    教えてください。 下記表があります。    A   B   C   D   E 1  1   2   3   4   5 2  10  20  30  40  50 ※1行:日にち  2行:数量 C1セルにて5と入力したら D1セルに150  :1~5(日の累積合計) C1セルに3と入力したら D1セルに60   :1~3(累積合計) となるようにするにはどうすればよいでしょうか? ご教授のほどお願いします。

  • Excelで行挿入しても計算範囲を変えたくない

    Excel2003です 例えばセルD200にD$4:D$100とセル範囲を指定した計算式があります。 この表に行を追加したり削除したりすると自動的にセル範囲が修正されますが、このセルの計算式だけ自動修正がされず常にD$4:D$100で固定する方法を教えてください。 困る一例として一番最初のデータ行に新しいデータを追加する場合、4行目を指定して行挿入しデータを入れると計算式はD$5:D$101に変わってしまい新しいデータが無視されてしまいます。 なおセル範囲に名前を付けてやってみましたが同じ結果でした。また行の挿入と削除を使わずデータ内容のクリヤー、移動などで表を更新すれば問題ないことは解っているのですが面倒です。

  • エクセル2000  合計するセルの個数を任意に変更

    2つの疑問が生じました。ご存知の方がいらっしゃいましたら、お時間の許す方にご回答をお願いします。 【1】 B1からB1000、C1からC1000までにデータが入力されているとします。 A1に3を入力するとD1にB1以下3個のセルの合計 A1に4を入力するとD1にB1以下4個のセルの合計 ・・・・・・・・・・ A1にxを入力するとD1にB1以下x個のセルの合計を表示したいのですが、このときのD1の関数式。 【2】 A1に3を入力するとE1に〔B1以下3個のセル〕と〔C1以下3個のセル〕の合計 A1に4を入力するとE1に〔B1以下4個のセル〕と〔C1以下4個のセル〕の合計 ・・・・・・・・・・・・ A1にxを入力するとE1に〔B1以下x個のセル〕と〔C1以下x個のセル〕の合計を表示したいのですが、このときのE1の関数式。 以上似たような質問なのですが、よろしくお願いいたします。

  • 入力した合計数値を振り分けたい

    関数とかマクロなど理解していない初心者でエクセル2003を使用しいます。 例えば 1Aのセルに1~10個(単価50円)と入力済 2Aのセルに11~20個(単価40円)と入力済 3Aのセルに21~30個(単価30円)と入力済 1B~3Bのセルに個数欄未入力 1C~3Cのセルに金額自動計算式入力済 4Bのセルに合計個数欄未入力 4Cのセルに合計金額自動計算式入力済 とした場合、例えば4Bの合計個数に29個と入力すると、自動的に1Bに10個、2Bに10個、3Bに9個と個数が振り分けられる様にしたいのですが、できるのでしょうか?

  • エクセル:日付単位での合計

    お世話になります。 A、B列に日付が入っています。 (A列に月、B列に日)C列に数値が入っています。 1日1行とは限らない。 同じ日付の最終行のD列にC列にある数値の合計を出す。(1日ごとの数値の合計) 途中に空白セルはない。 しかし後で行の挿入をする可能性があります。 例) A2~A50までは4→4月という意味 A51~は    5→5月という意味 B2~B5までは 1→1日という意味 B6~B8までは 2→2日という意味 B9~B12までは3→3日という意味 ・・・と続き B48~B50までは30→30日 この場合 4月1日の合計をD5に、4月2日の合計をD8、4月3日の合計をD12に入れる。(D2~D4は空白にする) A51からは5月になるのでD50には4月30日の合計を入れる。 4月1日の次に5月1日のデータが入力される可能性もあるので、日が変わる場合だけでなく月が変われば合計を出すことに対応したい。 また例えば行番号6に4月1日のデータがあとから挿入される場合にもきちんと合計が出るようにしたい。 よろしくお願いします。

  • エクセルマクロでのセルの削除、挿入

    A1:G20の表があります、A1:G17にデータが入っています、20行目は合計欄です。 ここでデータ面の任意のセルをアクティブにしアクティプセルとその右のセル2個をマクロで削除し上に詰めます。(B5がアクティブだとB5、C5、D5が削除) 当然合計欄の当該列のセルが上に移動します。その為18行でセル挿入を行い20行目に合計が表示されるマクロの記載を教えてください。よろしくお願いいたします。

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

専門家に質問してみよう