- ベストアンサー
番号入力→データ呼び出し
あるセルに値を入力したら、それに対応するデータを呼び出す方法を教えて下さい。 具体的には、 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でエクセルの解説サイトを数個みたのですが、それでもわかりませんでした。 どのようにすれば上のようなことができるのか、ご教授お願いします。 できれば早く回答が欲しいです。 また、質問に分かりにくいところがあればご指摘下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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は最大列番号(最も右側の列番号)です。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
●Sheet2で何を引こうとしているのですか。 Sheetの1,2,3・・は何を指しているのですか? (1)シート (2)セルの行、セルの列 ●sheet2~10のチルダ+10は何の意味? C2~100も 見たこと無い。 ● >同様にA3に入力するとsheet3のデータが、 A3-->Sheet3を見る A4-->Sheet4を見る A5-->Sheet5を見る という風に考えるの? >エクセルをほとんど使ったことのない そういう方が考えることを越えていないですか。
お礼
(1)シートです。デフォルトの名前なので分かりやすいかと思いましたが、逆効果だったのかもしれませんね。 (2)単にシート2から10ということです。 C2からC100のセルに、ということです。 (3)A3→シート3のデータリストからから一つのデータ行を抽出 A4以下同です。 (4)確かに関数をほとんど知らない初心者には難しい問題ですね。 だからこそ質問したのです。私はエクセルを学んでるわけでも学びたいわけでもなく、ただこの問題のみを解決したいだけですので。
- zap35
- ベストアンサー率44% (1383/3079)
すこし違う関数でやってみました。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)))
お礼
わざわざ別の関数も考えていただいて、ありがとうございます。 しかしながら、No.1、No.2の方の回答のほうが理解しやすかったため、そちらを良回答とさせていただきました。 こちらも参考にさせていただこうと思います。
- maron--5
- ベストアンサー率36% (321/877)
◆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)) ★右と下にコピー
お礼
ご回答にある式で出来ました、ありがとうございます。 No.2の方と同じ回答でしたが、個人的にはNo.2の方のほうが分かりやすかったので、こちらを良回答とさせて頂きました、すいません。
お礼
解決しました、ありがとうございます。 一番分かりやすいと感じたので、最良回答とさせて頂きました。