エクセルの他シートを参照する関数とは?

このQ&Aのポイント
  • エクセルの他シートを参照する関数について教えてください。成績を付けるために3枚のシートを使用しています。
  • 具体的には、シート「あ」にテストの点数を入力し、合計点を計算し、シート「い」にランクを付け、シート「う」に個人の情報を入力しています。
  • しかし、シート「い」のランクをシート「う」のA4セルに転載することができません。ご教授いただけると助かります。
回答を見る
  • ベストアンサー

エクセルの他シートを参照する関数を教えて下さい。

3枚のシートで成績を付けています。 シート「あ」 … テストの点を入力し、合計する シート「い」 … シート「あ」の合計点数によってランクを付ける シート「う」 … 個人の情報一覧 1、シート「う」のA1セルに名前、A2セルに性別、A3セルに年齢を入力する(10人分) 2、シート「あ」に入力規則を設け、名前をリストより選ぶと、性別、年齢が自動入力される 3、シート「あ」に個人のテストの成績を入力する 4、シート「あ」の合計により、シート「い」にランクを自動で付ける 5、シート「う」のA4セルにランクを自動入力 4、まではできているのですが、5ができません。 シート「あ」にaさんの名前を入力して、テストの点数を入力したら、 シート「い」に表示されるランクを、シート「う」のA4セルに転載したいのです。 そして次、シート「あ」にbさんの名前を入力して…としたときに シート「う」のaさんの情報は残ってほしい。 これを10人分行うと、シート「う」に10人分のランクが記載されている。 というものを作ろうとしています。 ややこしい書き方をしましたが、どなたかご教授下さい・・・

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.3

>ですので、aさんの入力・計算が終わってランクが出たら、シート「あ」の >入力部分を消去して、bさんに使用したいのです。 そもそもこれが、Excelの関数では物理的にできません。 Excelの関数や参照式は「参照先のセルが基本的に固定している」 「書き直したデータは即時、参照先のセルに反映する」という動作を します。 ですので、「あるシートで入力したデータを、別のシートで保持しておき 元のシートを書き直して別のデータを得る」ということが、原理的に 出来ないんです。 これをなんとかするには、VBAでコードを書いて、ダイナミックにデータ を移動する・・・ってことをする必要があります。 逆に言えば、「VBAを使わずにデータの保存をするためには、入力する セルを各個人ごとに変えなくてはいけない」ってことでもあります。

shin-tani
質問者

お礼

ご回答、ありがとうございます。 >「VBAを使わずにデータの保存をするためには、入力する   セルを各個人ごとに変えなくてはいけない」 このような前提があったのですね。 大変勉強になりました。 仕組みを変えて考えたいと思います。 ありがとうございました。

その他の回答 (2)

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.2

>3、シート「あ」に個人のテストの成績を入力する >4、シート「あ」の合計により、シート「い」にランクを自動で付ける >5、シート「う」のA4セルにランクを自動入力 >4、まではできているのですが、5ができません。 シート「う」には、個人の氏名があってランクをつけたい シート「い」には個人の氏名とランクがあるということですか? とりあえず、シート「う」のランクを表示させたいところに、vlookupでシート「う」の名前セルを参照して、シート「い」のランクを表示するというのが素直でしょう。 シート「い」の存在に意味がないような気がしますけど・・・ もしかして、シート「あ」のデータが消えてしまう? そうすると、シート「い」のランクは、どんどん下に追記するようにしてもらわないと困りますが

shin-tani
質問者

お礼

ご回答、ありがとうございます。 仰るとおり、シート「い」の存在にあまり意味はありません。 シート「あ」の中に含まれてもよいようなものです。 シート「あ」には入力する場所と、それを使用した少し複雑な計算が入っています。 (単純に合計だけを出しているわけではない) ですので、aさんの入力・計算が終わってランクが出たら、シート「あ」の 入力部分を消去して、bさんに使用したいのです。 人数も変動しますので、シート「い」をどんどん下に追記するのは難しいです。 シート「あ」の名前のセルがaならば、シート「い」のランクのセルの内容を シート「う」のA4セルに転載する、 シート「あ」の名前のセルがbならば、シート「い」のランクのセルの内容を シート「う」のB4セルに転載する・・・という条件が望ましいのですが。 上記のような使い方がおかしいでしょうか? ブックを分けるべきでしょうか?

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

例えばSheet2のセルA1に =Sheet1!A1 こう入力すると、Sheet1のA1のデータが参照されますが?

shin-tani
質問者

お礼

ご返信、ありがとうございます。 私の書き方が悪かったようです。 1つのブックで10人分のリストが欲しいので、 aさんの入力時はaさんのセルへ、 bさんの入力時はbさんのセルへ転載するようにしたいのです。

関連するQ&A

  • エクセルで他のブックの参照

    ファイル名:Test1.xlsのセルに、"="と入力し、ウィンドウで、Test2.xlsを選択して、Sheet1の"A1"のセルを選択すると、Test1.xlsのセルには、=[Test2.xls]Sheet1'$A$1と入力されます。 そこで、一度Test1.xlsを保存して、再度開くと、、=[Test2.xls]Sheet1'$A$1の部分が、絶対パスに自動的に更新されてしまします。 これを、相対パスで扱う方法ってありますでしょうか? フォルダーを移動させることがあり、どのように対応すればいいのか悩んでいます。 宜しくお願い致します。

  • エクセルのSUMIFで他のシートを参照する。

    シート1の表のA○○ に"合計"の記入がありB○○に合計値が有る場合、シート5の任意のセルに合計値をもってきたいのでシート5のセルに=SUMIF(シート1!A1:A○○○,"*合計*",B1:B○○○))としましたがシート1の合計値はかえってきません。シート1の合計値をかえすにはどうしたら良いでしょうか。

  • Excelシートが別になったときの合計を関数でだす

    シート1は商品とその単価を入力するデータ表、 シート2はシート1の合計表とします。 たとえばシート1にセルA1に1000円、セルA2に2000と入力したら、 シート2のセルA1に、商品AとBの計3000円が自動で入力されるようにできる関数がありましたら 教えてください。 Excel2019利用です。

  • Excelのシート間の参照

    Excelでシート間のセルの参照をしたいのですが、どのシートを参照するのかを すぐに変えることのできるようにしたいのです。 具体的には、A、B、Cという名前のシートがあり、シートDにおいて A1セルにA、B、Cいずれかの文字を入力すると、その下のセルの参照先が シートAのB1セルになるようにしたいのです。 とりあえず色々式を入れてみたのですが、すべて拒否されてしまいました。 たとえば ='A1'!B1 ='"A1"'!B1 とかです。 よろしくお願いします。

  • エクセルのIF関数の使い方について

     こんにちわ。仕事で成績の評価表の作成をしたくて、エクセルで表を作成しました。    表は、  Aのセル・・・氏名 Bのセル・・・テストの点数 Cのセルが平常点          Dのセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =IF(論理式、真の場合、偽の場合) というのを使用すればいいのは   わかったんですが、いまいち関数式の取り方、書き方がわからなくて・・・本をみて記入して   みたんですがエラーになります。   どうしたら評価を自動転記することができるか、教えてください。   また点数をもとに順位をつける方法も教えて欲しいです。よろしくお願いします。

  • エクセルで他のシートのセル(文字列)を自動的に参照したい

    シートAセルに、シートBのセルを参照する方法を教えて下さい。 シートBのセルに入力した文字列がシートAのセルに自動的に 反映されるようなことを試していますがうまくいきません。。。

  • エクセルの他シート参照

    エクセルで、同ブック内の他シートのセルを、式で参照したいのですがうまく行きません。 Sheet1のL列のある行の内容をのSheet2のA15に参照したいです。 たとえば、30行目を参照するのであれば、 =Sheet1!$L$30 で参照できました。 しかし、Sheet2のA17にある数値から13850を引いた値の行(たとえば、13880とSheet2のA17に入力されていたら、30行目)を参照するために、 =Sheet1!$L$(A17-13850) と入力したのですが、「入力した数式にはエラーがあります」とエラーが表示されてしまいます。 (Sheet2のA17の値によって、Sheet2のA15に参照されるSheet1の行が変わるようにしたい) どのように指定したら正しく参照できるでしょうか。 ご回答よろしくお願いします。

  • Excel2003で最初のシートからいくつかのシートへ順番で反映させるには?

    Excel初心者なのですが、どなたか分かりやすく説明をお願い致します。 シート1のA1セルに名前、B1セルに生年月日、C1セルに性別、D1セルに身長、E1セルに体重などと横に個人データを入力していき、A2、A3と名前の順で100名分のデータを主で管理するとして、シート2にはその個人表として違う書式のものにA1からE1までのデータが反映するものを作り、シート3にはA2からE2、シート4にはA3からE3と同じ名前の順で100名分反映させたいのですがどなたか良い方法を教えて下さい。m(_ _)m

  • エクセルで他のシートを動的に参照するには

    エクセルに関する質問です。 他のシートのセルを参照する場合、たとえば、 =Sheet1!D5 というように入力すると思います。 質問は、このシート名とセル名に、他のセルの値を使用したいのですが、方法はあるのでしょうか? できれば、VBAを使わずに。。。 質問が分かりづらいと思いますので、具体的に説明すると、A1にシート名("Sheet1")が、B1にセル名("D5")が入っている場合に、C1にその値(=Sheet1!D5)が表示されるようにしたいのですが、方法はあるでしょうか?

  • エクセルでシート間の参照がされるところされないところがあるんです。なぜ?

    こんにちは。 エクセルで,Sheet1のセルにSheet2のセルを参照しようと思います。 Sheet1のA1のセルに,Sheet2のA1のセルを参照しようとした場合,=Sheet2!A1と入力することになると思います。 しかし,セルには,「=Sheet2!A1」と表示されてしまうのです。 他のセルには,参照された文字,数字が入っているのに,ある特定のセルだけは,上記のようになってしまいます。 どのようにすれば解決できるのでしょうか。 お教え頂ければ幸いです。 宜しくお願いいたします。<(_ _)>

専門家に質問してみよう