• ベストアンサー

EXCELでテーブルを検索

EXCELでテーブルを検索して値を求める式を考えたい。 (問題)10行10列の数値のテーブルAがA1~J10まであります。 そのテーブルをセルA15(Yセルと呼ぶ),A16(Xセルと呼ぶ)に入っている数によってテーブルAの各行と列の交点のセルを決め、そのセルの値をA17(結果セルと呼ぶ)に入れたい。 A17にはどのような式を書けばよいのでしょうか。 なお、もしそのテーブルが別のシート(名称;別シート)にあった場合はどうなりますか。

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

  • ベストアンサー
  • vbalab
  • ベストアンサー率48% (24/50)
回答No.3

いきなりですが、回答を。 A17には、   =INDIRECT(ADDRESS(A15,A16)) と書きます。 テーブルが別シートにあるなら、   =INDIRECT("別シート!" & ADDRESS(A15,A16)) と書きます。

taktta
質問者

お礼

どうもありがとうございました

taktta
質問者

補足

シンプルで強力な感じがします。 プロの感覚ですね。

その他の回答 (3)

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

Sheet2のA1とかに式を入れる時は =INDEX(Sheet1!A1:J10,Sheet1!A15,Sheet1!A16) 指定をSheet2のA15,A16に入れるなら =INDEX(Sheet1!A1:J10,A15,A16) です。

taktta
質問者

お礼

ごていねいにありがとうございます。

  • nagasee
  • ベストアンサー率0% (0/1)
回答No.2

=INDEX(A1:J10,A16,A15)

taktta
質問者

お礼

どうもありがとうございました。 こちらはOFFSETと違い0からでなく1から数える感覚で一番考えとフィットしました。

taktta
質問者

補足

A15,16は順番をかえれば合います。

回答No.1

A1を基準として、Xセルに入ってる数値分だけ右でYセルに入ってる数値分だけ下のセル の中身を取り出すには、 =offset(A1, Y, X, 1,1) ですね。別シートにあれば、=offset(シート名!A1,以下同文です。

taktta
質問者

お礼

たしかにこれでよいことがわかりました。 使う上で気をつけるのは、1から数えるか0から数えるかでoffsetは0から数える感覚ですね。 どうもありがとうございました

関連するQ&A