• ベストアンサー

番号入力→データ呼び出し

あるセルに値を入力したら、それに対応するデータを呼び出す方法を教えて下さい。 具体的には、 sheet2~10に下の様な形式のデータリストがあります。   A  B C D E F … 1 名称 A B C D E ~数十個の項目 2 ミント  1 3 1 5 4 … 3 ミント2 2 3 3 1 2 … … … そして、Sheet1のA2に数値を入力するとsheet2のその行番号のデータがC2~100呼び出されるようにしたいのです。同様にA3に入力するとsheet3のデータが、というようにA4~10も同様です。  A B C D E F G H … 1  2 3 ミント2 2 3 3 1 2 … 3 12 ??? ? ? ? ? ? … 4 82 ??? ? ? ? ? ? … … エクセルをほとんど使ったことのない自分では、どうすればいいかまったくわからず、webでエクセルの解説サイトを数個みたのですが、それでもわかりませんでした。 どのようにすれば上のようなことができるのか、ご教授お願いします。 できれば早く回答が欲しいです。 また、質問に分かりにくいところがあればご指摘下さい。

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

1)Sheet1の   B2の式 =IF($A2="","",INDEX(Sheet2!A:A,$A2))   B3の式 =IF($A3="","",INDEX(Sheet3!A:A,$A3))   B4の式 =IF($A4="","",INDEX(Sheet4!A:A,$A4))   B5の式 =IF($A5="","",INDEX(Sheet5!A:A,$A5))   ......以下同様。 2)B2~B10(B11でしょうか?)を範囲選択しコピー   C2~xx10(xx11?)を範囲選択し貼り付け。   xxは最大列番号(最も右側の列番号)です。

mint-2007
質問者

お礼

解決しました、ありがとうございます。 一番分かりやすいと感じたので、最良回答とさせて頂きました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

●Sheet2で何を引こうとしているのですか。 Sheetの1,2,3・・は何を指しているのですか? (1)シート (2)セルの行、セルの列 ●sheet2~10のチルダ+10は何の意味? C2~100も 見たこと無い。 ● >同様にA3に入力するとsheet3のデータが、 A3-->Sheet3を見る A4-->Sheet4を見る A5-->Sheet5を見る という風に考えるの? >エクセルをほとんど使ったことのない そういう方が考えることを越えていないですか。

mint-2007
質問者

お礼

(1)シートです。デフォルトの名前なので分かりやすいかと思いましたが、逆効果だったのかもしれませんね。 (2)単にシート2から10ということです。 C2からC100のセルに、ということです。 (3)A3→シート3のデータリストからから一つのデータ行を抽出  A4以下同です。 (4)確かに関数をほとんど知らない初心者には難しい問題ですね。 だからこそ質問したのです。私はエクセルを学んでるわけでも学びたいわけでもなく、ただこの問題のみを解決したいだけですので。

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

すこし違う関数でやってみました。Sheet1のB2セルに以下の式を貼り付けて、右方向、および下方向にコピーしてください。 =IF($A2="","",INDIRECT("Sheet"&ROW()&"!R"&$A2&"C"&COLUMN(A1),FALSE)) INDIRECT関数は、文字列で書いたセルアドレスの値を取得する関数で、例えば INDIRECT("Sheet2!R3C1,FALSE) はSheet2の3行1列目(A3セル)を参照することを意味します。(R1C1形式にしたのは列指定を数字でできるようにするため) ただこの式ではSheet2~Sheet10の空白セルを「0」として表示してしまいます。それを回避するには以下のような式になります =IF($A2="","",IF(INDIRECT("Sheet"&ROW()&"!R"&$A2&"C"&COLUMN(A1),FALSE)="","",INDIRECT("Sheet"&ROW()&"!R"&$A2&"C"&COLUMN(A1),FALSE)))

mint-2007
質問者

お礼

わざわざ別の関数も考えていただいて、ありがとうございます。 しかしながら、No.1、No.2の方の回答のほうが理解しやすかったため、そちらを良回答とさせていただきました。 こちらも参考にさせていただこうと思います。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆Sheet2 1  名前    A   B   C   D   E 2  ミント    1   3   1   5   4 3  ミント2   2   3   3   1   2 4  ミント3   8   6   5   4   2 5  ミント4   9   1   7   2   6 6  ミント5   6   9   7   1   4 ◆Sheet1    A   B     C   D   E   F   G 1 2  3  ミント2   2   3   3   1   2 3  6  ミント5   6   9   7   1   4 4  4  ミント3   8   6   5   4   2 ★Sheet1のB2の式 B2=IF($A2="","",INDEX(Sheet2!A:A,$A2)) ★右と下にコピー

mint-2007
質問者

お礼

ご回答にある式で出来ました、ありがとうございます。 No.2の方と同じ回答でしたが、個人的にはNo.2の方のほうが分かりやすかったので、こちらを良回答とさせて頂きました、すいません。

関連するQ&A