• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 列の削除・挿入と関数、計算式の範囲について)

エクセル列の削除・挿入と関数、計算式の範囲について

このQ&Aのポイント
  • エクセルのセル保護を使用している場合、列の削除や挿入が制限されます。しかし、保護されたセルと計算式を連動させたい場合、新しいシートに合計だけを表示する表を作成する方法があります。
  • 保護されたセルと計算式を連動させるためには、保護されたセルがないシートに合計のみを表示する表を作成し、計算式を入れます。この表には削除や挿入を行っても問題ありません。また、参照先がおかしくならないよう、合計のみの表を作成するシートと元のデータを表示するシートを別々に設定することも重要です。
  • もし保護されたセルと計算式を連動させる方法が上手く機能しない場合、エクセルのVBAマクロを使用することも考えられます。VBAマクロを使用すると、より柔軟な条件を設定することが可能ですが、プログラミングの知識が必要です。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#2です。 >もしよろしければマクロで行う手順を教えていただけないでしょうか? Sub GOUKEIRESET() '合計式を再セットするマクロ Dim AN As Integer Range("A1").Select Selection.End(xlDown).Select AN = ActiveCell.Row Range(Selection, Selection.End(xlToRight)).Select Selection.FormulaR1C1 = "=SUM(R[" & (2 - AN) & "]C:R[-1]C)" End Sub

sabiiro
質問者

お礼

ありがとうございます。 試してみます。

その他の回答 (4)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#03です。実際に試してみました 質問のデータが入力されて、6行目に保護をかけた状態で行を挿入、削除してもSUM関数のセル参照範囲は自動的に変更され正しい結果が得られます。 #01さんの補足でもふれていますが、シートの保護をするときに、「行の挿入」「行の削除」を可能とするよう設定しても#REF!になりますか?

sabiiro
質問者

お礼

細かくお答えいただきありがとうございました。 多分、私がしたいのは行ではなく列だったのでうまくいかなかったのだと思います。

sabiiro
質問者

補足

なぜでしょう…私のファイルではエラーが出ます。 自動的に修正はされないみたいです。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

求めるものが良く理解できません 6行目に数式が入っているとして、3行目が削除された場合は、6行目にあった数式はどのセル範囲を参照するようになるのが希望ですか 同様に3行目と4行目の間に行を挿入した場合はどうなれば良いのですか? もしかしたら式は6行目に固定して1行目:5行目を合計するのですか? その条件が明示されなければマクロも組めません。

sabiiro
質問者

補足

sheet2に合計だけを表示する方法をとりたいのです。 普通なら、 =SUM(sheet1!A1:A5) と入力すれば事足りますが、列の削除をすると、 ='1'!#REF! とエラーが出ます。 これをどうにかしたいのです。 よろしくお願い致します。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

マクロを使うなら、最終行に数式を再設定するとか可能です。 使わないならSheet2で =SUM(Sheet1!A:A) のように列全体を集計するとかすればいいのでは?

sabiiro
質問者

補足

列の削除、挿入をすると参照先が変わってエラーになります。 もしよろしければマクロで行う手順を教えていただけないでしょうか?

  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

EXCELのバージョンが書いていないのですが この質問からするとEXCEL2000あたりを使っているのでしょうか。 EXCEL2002以上のバージョンにアップグレードすれば シートの保護の際に 列の挿入や列の削除が出来るようにするチェックボックスがあります。 アップグレードを検討してはどうでしょうか。

sabiiro
質問者

お礼

お答えありがとうございました。

sabiiro
質問者

補足

すみません、バージョンはXPです。 列の削除等のチェックボックスの存在は知っていますが、6行目はロックをかけています。 最終的にシートの保護にすると、削除は出来なくなります。

関連するQ&A