- ベストアンサー
エクセルの他シートを参照する関数とは?
- エクセルの他シートを参照する関数について教えてください。成績を付けるために3枚のシートを使用しています。
- 具体的には、シート「あ」にテストの点数を入力し、合計点を計算し、シート「い」にランクを付け、シート「う」に個人の情報を入力しています。
- しかし、シート「い」のランクをシート「う」のA4セルに転載することができません。ご教授いただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ですので、aさんの入力・計算が終わってランクが出たら、シート「あ」の >入力部分を消去して、bさんに使用したいのです。 そもそもこれが、Excelの関数では物理的にできません。 Excelの関数や参照式は「参照先のセルが基本的に固定している」 「書き直したデータは即時、参照先のセルに反映する」という動作を します。 ですので、「あるシートで入力したデータを、別のシートで保持しておき 元のシートを書き直して別のデータを得る」ということが、原理的に 出来ないんです。 これをなんとかするには、VBAでコードを書いて、ダイナミックにデータ を移動する・・・ってことをする必要があります。 逆に言えば、「VBAを使わずにデータの保存をするためには、入力する セルを各個人ごとに変えなくてはいけない」ってことでもあります。
その他の回答 (2)
- shintaro-2
- ベストアンサー率36% (2266/6245)
>3、シート「あ」に個人のテストの成績を入力する >4、シート「あ」の合計により、シート「い」にランクを自動で付ける >5、シート「う」のA4セルにランクを自動入力 >4、まではできているのですが、5ができません。 シート「う」には、個人の氏名があってランクをつけたい シート「い」には個人の氏名とランクがあるということですか? とりあえず、シート「う」のランクを表示させたいところに、vlookupでシート「う」の名前セルを参照して、シート「い」のランクを表示するというのが素直でしょう。 シート「い」の存在に意味がないような気がしますけど・・・ もしかして、シート「あ」のデータが消えてしまう? そうすると、シート「い」のランクは、どんどん下に追記するようにしてもらわないと困りますが
お礼
ご回答、ありがとうございます。 仰るとおり、シート「い」の存在にあまり意味はありません。 シート「あ」の中に含まれてもよいようなものです。 シート「あ」には入力する場所と、それを使用した少し複雑な計算が入っています。 (単純に合計だけを出しているわけではない) ですので、aさんの入力・計算が終わってランクが出たら、シート「あ」の 入力部分を消去して、bさんに使用したいのです。 人数も変動しますので、シート「い」をどんどん下に追記するのは難しいです。 シート「あ」の名前のセルがaならば、シート「い」のランクのセルの内容を シート「う」のA4セルに転載する、 シート「あ」の名前のセルがbならば、シート「い」のランクのセルの内容を シート「う」のB4セルに転載する・・・という条件が望ましいのですが。 上記のような使い方がおかしいでしょうか? ブックを分けるべきでしょうか?
- FEX2053
- ベストアンサー率37% (7991/21373)
例えばSheet2のセルA1に =Sheet1!A1 こう入力すると、Sheet1のA1のデータが参照されますが?
お礼
ご返信、ありがとうございます。 私の書き方が悪かったようです。 1つのブックで10人分のリストが欲しいので、 aさんの入力時はaさんのセルへ、 bさんの入力時はbさんのセルへ転載するようにしたいのです。
お礼
ご回答、ありがとうございます。 >「VBAを使わずにデータの保存をするためには、入力する セルを各個人ごとに変えなくてはいけない」 このような前提があったのですね。 大変勉強になりました。 仕組みを変えて考えたいと思います。 ありがとうございました。