- ベストアンサー
excelでシート間の数式コピーについて
検索しましたが見当たらないので質問させて下さいませ。 excelでシート間の数式コピーについて教えて下さい。 シート1に計算式を入れて表作成をし、シートの挿入にて複製しシート2,3,4……とした場合、各シート前のシートの同じ位置に有るセルの計算式を参照したいのですがどうすれば良いのでしょうか? 初歩的な質問でお恥ずかしいのですが本にも載っていなくて困っております。 どうか宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です補足を見ました。 >A1:j50の部分をA2とかA3とかと手直ししていたのでそれを関数でやれば自動で出来るのかなと・・ シートのコピーで次の期間のシートを作っているのでしょうが、 明細行などは多分範囲が変わらなくて、手直しは必要ないでしょう。 ただ繰り越し残も決まった行に設定(設計)すれば手直しは必要ないと思います。もう少し具体的に、実例を挙げて、次月になると手直しが必要なセルと内容を補足説明してみてください。 ーー 他シートのデータは =シート名!番地で取りますが、シート名の部分を複写で変化させることは、難しいです。 =10月!A2をコピーして貼り付けて=11月!A2にするのは難しいです。 Sheet2のA1に「Sheet1」と文字列を入れるとして =INDIRECT(A1&"!A2") で=Sheet1!A2のデータが取れます。 A1の文字列は変える必要があるが、式そのものはコピー貼り付けても 張り付け先で変えなくても良い。 考えて見てください。
その他の回答 (3)
状況説明が不足しています。 まず最も困ったことに OSと Excelのバージョンが明記されていません。 これでは手段を提示しようがありません。 で先に云ってしまいますが「前のシート名」を取得する手段は一般機能 にはありません。VBAかマクロ関数ならできます。 一般機能で無理して取得できるのは 「数式を入力しているシート名」と「アクティブなシート名」のふたつ です。 もしシート名が連番になっているのなら「数式を入力しているシート名」 から 必要部分だけを抽出し ひとつ前のシート名はこれだと当たりをつ けることができます。それを INDIRECT関数でセル範囲に戻してやれば 「ひとつ前のシートの指定セル」を参照できます。 ・シート名が連番になっているか が必要な情報で そうなっていないなら VBAでやるのがいいと思います。 > 初歩的な質問でお恥ずかしいのですが 質問する側の人が「初歩的な質問」などと云うべきではないと思います。
お礼
> 初歩的な質問でお恥ずかしいのですが 質問する側の人が「初歩的な質問」などと云うべきではないと思います。 初歩的な質問では無かったのですね。だから本にも載っていなかったのですね。それさえも解からないとは… とても丁寧にお答え頂きありがとうございました。
補足
ご回答ありがとうございます。 >まず最も困ったことに OSと Excelのバージョンが明記されていません。 本当にその通りです(ToT)/申し訳有りません。 XP・excel2002です。
- imogasi
- ベストアンサー率27% (4737/17069)
難しいことなのか、易しいことなのか、質問の主旨がわからない。 >シートの挿入にて複製しシート2,3,4……とした場合 シートの挿入ということは、いわば白紙のシートを作ったということですか。であれば表の見出し・罫線・データ・関数式など、(この段階では)一切シート1と関係ありませんわね。 そこにシート1のA1セルの「値」(値だけですよ。書式はもって来れない)をもって来たければ、=シート1!A1と式を入れればよい。これなぞ質問にもならないことなのだが。 それより、こんなセルが多いなら、シートのコピーというのがあるが知っていますか。 初歩的な方はシート1の(例えば)A1:j50をコピーし、シート2に 貼り付けているかも知れない。 シート2で式の複写ができるとはいえ、いちいちセルの参照式を入れるのは面倒です。極く一部のセルだけのことですか。それなら質問にそう書けば、実際良くあるので、読者は納得する。
お礼
ご回答ありがとうございました。 すみません。初めから間違っておりました(ToT) 仰る通りコピーでしておりました。 シート1を雛形としてコピーで2・3・・・を作り中の数値だけを変えて使用しております。 その際、シート2は1の残を前期残としてシート3は2の残を・・・と言った具合で いつもA1:j50の部分をA2とかA3とかと手直ししていたのでそれを関数でやれば自動で出来るのかなと思った次第です。 説明不足で申し訳有りません。
- pbforce
- ベストアンサー率22% (379/1719)
シートの挿入ではなく、シートの移動又はコピーでコピーを選んでください。 ご質問の内容に近い動作が可能です。
お礼
早々にご回答頂きましてありがとうございます。 なんとお恥ずかしい・・・ シートの挿入(白紙)では無くコピーでした。 なのでシート2にはシート1と同じ物です。 変な言い回しをしてすみません。
お礼
imogasi様 解かり易い説明をして頂き本当にありがとうございました。 =INDIRECT(A1&"!A2")を試してみたいと思います。 excelは会社で使用しているのですが関数なども何種類かの決った物しか使わない為 INDIRECTは知りませんでした。勉強不足ですね(^_^;)