#2 です。お返事が遅くなってすみません。
前に私が書いたのと同じ表を使うとします。VLOOKUP の「範囲」の指定をわかりやすくするために、D列をわざと省いて書きます。
(Sheet1)
基準列 4列目
行 E F G H 列
2 ms151 x x =D2 (385)
3 ms258 x x =D3 (386)
4 ms987 x x =D4 (387)
(Sheet2)
行 P Q R 列
5 ※1 ※2 ※3
6 ms151 ms987 ms258
※1 =VLOOKUP(P6,Sheet1!$E2:$H4,4,FALSE)
※2 =VLOOKUP(Q6,Sheet1!$E2:$H4,4,FALSE)
※3 =VLOOKUP(R6,Sheet1!$E2:$H4,4,FALSE)
まず※1から解説します。
すみません、前回の回答で P6 を P5 と書いてしまいました。循環参照でしたね、訂正します。
VLOOKUP とは、縦(垂直、VERTICAL)方向に、参照する、という関数です。仲間に HLOOKUP があります。
パラメータの4つ目のFALSEはこのまま覚えてください。TRUEもありますがややこしいです。E列にms258が2回出てくるときなどに処理が異なります。
次に、パラメータの2つ目のSheet1!$E2:$H4が、
ms151を探させる範囲です。シート1のE2からH4まで、ということですね。このとき、左端は必ず、ms151が含まれているE列、とするのがポイントです。
パラメータの1つ目のP6は、E列から探させる値が入ったセルです。P6のセルの中身、つまりms151を探すことになります。
※2では Q6 (ms258)
※3では R6 (ms987)
としている意味をわかっていただけますでしょうか。
パラメータの3つ目の4は、
ms151が見つかったときに、同じ行の何列目の値を返すか
です。H列はE列から数えて4番目だから4にしました。F列なら2です。
まとめると※1については、範囲E2:H4の一番左の列の中から、P6(検索値)と同じ値を持つセルを探し、それと同じ行の、Eから数えて4番目の値を返す、という結果です。
Sheet1!$E2:$H4
という書き方の$は絶対参照というもので、
Sheet1!E2:H4
でも範囲は一緒なのですが、式を横にドラッグした時に範囲がずれないよう、$を入れました。
関数入力ボックスで入力する時は右側の3色のマークを押すと、直接範囲を選べます。
字数制限にひっかりそうなので、マクロについては別回答とします。
お礼
大変解かり易く、ありがとうございます こういう組み合わせとか、なかなか思いつかなくて・・・。 ありがとうございました。