• ベストアンサー

Excelで指定する行と列に対応する値を表示させる方法

このような事は可能なのでしょうか。下記のような別シートに表があり、メインシートのほうでAセル,Bセルに数字をいれてやると、別シートの対応する値を表示させることはできるのでしょうか。今回の場合ですと2の3ですから「く」を表示すという具合で。 できればまだまだ初心者なのでVBAではない方法がよいのですが、よろしくお願いします。説明不足で申し訳ないです。 ※(別シート)  Aセル Bセル Cセル Dセル Eセル    1   2    3    4   5  (1行目) 1  あ  い    う   え   お  (2行目) 2  か  き    く   け   こ  (3行目) 3   さ  し    す   せ   そ  (4行目) ※(メインシート) Aセル Bセル Cセル   2   3   く   

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

  • ベストアンサー
回答No.4

#1で回答した者です。 私や#3のimogasiさんの回答は、対応する値を表示するのとは違い、 ある位置からいくつ下、いくつ右は何が入っているという関数です。 もし Sheet1に   A B C D E F ←列 1   a b c d e 2 1 あ い う え お 3 3 か き く け こ 4 5 さ し す せ そ ↑ 行 ちょっと表がずれているかもしれませんがB1セルにaが入っています。 のように入っている場合(サンプルです。こんな入れ方はしないと思いますが) Sheet2で Aセル Bセル Cセル  3    c    く と出したい場合、MATCH関数を使用し C1に =OFFSET(Sheet1!$A$1,MATCH(A1,Sheet1!$A$2:$A$4,0),MATCH(B1,Sheet1!$B$1:$F$1,0)) と入力すれば表示されます。 (入力した値が表の中にない場合は#N/Aと表示されます) この方法は、質問の表でも使用できます。 imogasiさんの方法でも可能です。 いろいろな方法があると思いますので、いろいろ覚えて 臨機応変に使い分けてください。 関数の説明はヘルプで確認してください。

Lemmings
質問者

お礼

何度も回答を頂いてありがとうございます。本当に色々なやり方があるのですね。大変勉強になりました。今回は検索すべき行も列も一定の規則がある並び(1・2・3...のような)ですので上記のOFFSET関数やimogasiさんのINDEX関数で充分対応可能です。色々覚えて頑張りたいと思いますので、よろしくお願いします。

その他の回答 (4)

回答No.5

データを右に1行ずらして,Aセルに番号を入れます。 A  B  C  D  E  F    1  2  3  4  5 1  あ  い  う  え  お 2  か  き  く  け  こ 3  さ  し  す  せ  そ メインシートでは A  B ■  △ とでもすると Cセルは   =vlookup(■,別シートのデータ,△,false) で,大丈夫だと思います。

Lemmings
質問者

お礼

ありがとうございます!。VOOLKUP関数の使い方で最初試みようとしたのですが、うまくいかなくって。でも、これでVOOLKUP関数の使い方ちょっとだけ詳しくなったような・・。(^ー^) また、今後もよろしくお願いします。 

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

同一シートの例で説明しますと A5に2、B5に3が入っているとして 例えばC5に=INDEX(A1:E3,A5,B5)と入れます。すると 「く」になります。メインがsheet1であいうえおがsheet2 のときSheet1に =INDEX(Sheet2!A1:E3,A5,B5) となります。

Lemmings
質問者

お礼

返事が遅くなってすいませんでした。INDEX関数でも、OFFSET関数と同じような結果が得られるのですね。ありがとうございます!!。2つの違いは自分で確認しながら使い分けしようと思います。また、今後もよろしくお願いします。

  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.2

VLOOKUPまたはHLOOKUP関数が便利です。 ネットで検索してみてください。

参考URL:
http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2FT002%2F3%2F00.asp
Lemmings
質問者

お礼

そうなんですよね。最初はVOOLUP関数を使って出来ないかと思ったのですが、なにしろ知識の方がおぼつかなくって(>_<;) 教えていただいた、参考URL見ました。色々な事が出来ちゃうのですね。今後の参考にさせていただきます。ありがとうございました!!。また、今後もよろしくお願いします。 

回答No.1

OFFSET関数を使用したらどうでしょうか? C1セルに =IF(AND(A1<>"",B1<>""),OFFSET(Sheet1!$A$1,A1,B1),"") 別シートはSheet1にしてありますので、変更してください。 A1セルとB1セルに入力がない場合には表示されないようにしています。

Lemmings
質問者

お礼

ありがとうございます!!。返事が遅くなってしまい申し訳ありません。OFFSET関数ですか。なるほど、これならうまく表示させることができました。また今後もよろしくお願いいたします。

関連するQ&A