プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。いつも大変お世話になっています。

うまく説明できなくて申し訳ないのですが・・・。

シート1のセルA5に以下の関数を入れるとします。
=VLOOKUP(A1,シート2!1:100,5,FALSE)
この場合に出た答えの、実は2つ下のセルの値をシート1セルA1に表示させるには、どのような式を入れたら良いのでしょうか??

A 回答 (5件)

=INDEX(シート2!1:100,MATCH(A1,シート2!A1:A100,0)+2,5)


とか
=OFFSET(シート2!A1,MATCH(A1,シート2!A1:A100,0)+1,4)

INDEX関数は範囲内の行番号、列番号の位置の値を表示
OFFSET関数は基準のセルから行方向の移動値と列方向の移動値の値(範囲)を表示
MATCH関数は範囲内の条件に一致する最初の位置を表示
    • good
    • 3

>うまく説明できなくて申し訳ないのですが・・・。


断り書きを入れれば済むものではない。回答者が困っているよ。
その原因は、模擬的な実例を載せてないので、質問の意味が判りにくくなっている。
VLOOKUPの表の実例、表示させる方の実例など。
質問するときは、=VLOOKUP(A1,シート2!1:100,5,FALSE)のように、そのままでなくて、 =VLOOKUP(A1,Sheet2!1:5,2,FALSE)などと単純化するのが良いのだが。
>=VLOOKUP(A1,シート2!1:100,5,FALSE)
の結果は意味的に行数(行番号)を返すのですか。
質問では文字列を返すのか数値なのかさえもわからないよ。
ーー
行数を返す例など余り質問に出たこと無いが、もしそうなら
INDEX関数

OFFSET関数
を考えて、両関数とも行番号、列番号を指定する引数があるから
、VLOOKUPの結果に+2すればよいのでは。OFFSETの場合第4引数で2でも良い。
    • good
    • 0

ちょとやりたいことが分かりません。


A5に関数を入れたなら、A5に答えが出てきますが。そのときの索引がA1って事ですよね。ですからA1には手入力で数値を入れて、それを元にシート2の表から値を探してA5に表示すると言うことになります。
A1には表から引いた数値は出てきません。
A5に検索後の数値を出すとして、思った数値の2行下が出ると言うことですが、それだとA1に入れた数値と同じ数値が2行下の一番左のセルにあるという事になります。FALSEが入っていますから、索引に全く無い数値が入力されているならエラーになります。近似値で検索することはないです。単純に考えて、数値の入力ミスです。もしくは、表の索引のセルに同じ数値が入っているとか。

もしくはあなたの書いている現象とかが私の思っている現象と違う事が考えられます。
    • good
    • 0

数式とご質問が齟齬しているので解釈が相違していたら読み捨て下さい。


■水平照合ならば、次の数式をお試し下さい。
 =HLOOKUP((A1,シート2!1:100,3,FALSE)
■垂直照合ならば、次の数式をお試し下さい。
=INDEX(シート2!E:E,MATCH(A1,シート2!A1:A100,0)+2)
    • good
    • 0

循環参照になってしまい機能しませんが?



2つ下のセルというのは、正確にはどこのセルのことですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています