- 締切済み
エクセルの表計算について教えてください
A B 1 2 B2=B1+A2 3 B3=B2+A3 4 B4=B3+A4 5 B5=B4+A5 としたまで続いています そこで3行目を削除したら、 A B 1 2 3 4 #REF! 5 #REF! となってしまいます 削除したら自動的に A B 1 2 3 4 7 5 12 となるようにしたいのです、または、 上の表の3行目と4行目の間に挿入したら A B 1 2 3 4 7 7 5 12 となるようにしたいのです 計算は、ひとつ上の行の数字を下の行の数字を足したいのです
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
解答No5です。ご質問ではB2セルへの入力式はNo5の式で十分ですがA列にマイナスなどの数値がある場合には問題です。 次の式をB2セルに入力して下方にオートフィルドラッグするのがよいでしょう。 =IF(ROW()>MATCH(10^10,A:A),"",SUM(A$2:A2)+B$1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
通常は行の削除では問題を解決することはできますが、挿入となりますと単なる空白の行が挿入されるので、当然、式などのコピーなどはありません。 したがって単なる挿入ではなく、コピーした行を挿入する操作をせざるをえません。 削除だけでしたら次の式をB2セルに入力して下方にオートフィルドラッグすればよいでしょう。 =IF(A2="","",MAX(B$1:B1)+A2) このような式は残高などの計算によくつかわれますね。 ところでこの式を例えば10行までドラッグしてもA列のデータが空であればB列も空となっています。挿入の場合にはこの空の行、例えば10行目をコピーして4行目を選択して右クリックし、「コピーしたセルの挿入」を選択すれば、この式がコピーされて貼りつきます。しかしA4セルが空白のためB4セルにはデータが表示されません。 この問題を解決するためにはB2セルに次のような式を入力し、下方にオートフィルドラッグすることでしょう。 =IF(ROW()>MATCH(10^10,A:A),"",MAX(B$1:B1)+A2) この式を例えば10行目までドラッグしておきますと、3行目の削除ではB列にデータが表示されます。単に4行目に行を挿入するだけでは空白のままでB列にデータは表示されませんが、例えば6行目をコピーして、4行目で「コピーしたセルの挿入」を実施すればお示しのような結果が表示されます。 なお、MATCH(10^10,A:A)の式は数値がA列に入力されている場合の最下段の行を検索するために使われる式です。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 参考になるかどうか判りませんが・・・ 一つの案としてです。 Sheet1は何も数式を入れずに数値のみ入力するようにします。 そして、Sheet1で行の削除・挿入を行っても希望の表示がSheet2で できるようにしてみてはどうでしょうか? ↓の画像のSheet2のB1セルに 単純に =Sheet1!B1 としています。 A2セルに =IF(COUNT(Sheet1!A:A)<ROW(A1),"",INDEX(Sheet1!A:A,ROW())) B2セルに =IF(A2="","",B1+A2) という数式を入れ、A2・B2セルを範囲指定し、 B2セルにフィルハンドルで下へコピーすると 画像のような感じになります。 これでSheet1で色々操作してもそのままSheet2の方に表示されると思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m
お礼
作業用のシートを利用する方法など考えもつきませんでした。 自分一人で考えるよりも相談するほうがいろんな意見が出てくることがわかりました。 ありがとうございます。
=OFFSET(INDIRECT("B"&ROW()),-1,)+OFFSET(INDIRECT("B"&ROW()),,-1)
削除の場合だけなら、数式が入っているセルに =INDIRECT("R"&ROW()&"C"&COLUMN()-1,0)+INDIRECT("R"&ROW()-1&"C"&COLUMN(),0) と入力することで解決しますけど…
- hana-hana3
- ベストアンサー率31% (4940/15541)
>削除したら自動的に >挿入したら どちらも無理です。 今のところ、そんなに柔軟に対応できるようにはなっていないので、変更を加えたら式を修正して下さい。
お礼
あきらめかけていたのですが、できるかも?からできる!に気持ちが変わりました。 ありがとうございました。