質問: この質問を見て頂きましてありがとうございます。 エクセルのVLOOKUPという関数にて質問がございます。 使用しているエクセルは2003です。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f078140da9434a6da8a8aa90f71fd554.png) 上記のような表を作っています。 内容は例なので気にしないで頂けますと幸いです。 B2とC2のセルはプルダウンリストになっており、 ナンバーは「1番~4番」 品物は「いちご、りんご、ぶどう、みかん」 が選択されるようになっております。 この表の形は崩せなく、この状態からD2のセルに "指定されたナンバーの品物は何のグループか" というのをやりたいのですが、VLOOKUPを使ってできると思っていたのですが 列の値しか返せず困っています。 if文だと4項目*4項目分なので16個作ると(数え間違っていたらすいません) できると思うのですが、この例だと数が少ないのですが、 実際のものは表の数もデータも多いものなので対応し切れません。 また、行ごとに名前の定義がされています。 5行目の「いちご、りんご、みかん、ぶどう」には1番 6行目の「ぶどう、りんご、いちご、みかん」には2番 と、いったようなことになっていてまた別の箇所でINDIRECTで呼んでいます。 これはVLOOKUPにて解決できるのでしょうか? そもそも別の関数があるのでしょうか。 ご教授の程よろしくお願い致します。
回答: 自分なら、OFFSETとMATCHを駆使して↓のような感じで書くかなと思います。 もし意図と違うようでしたらすみません。 ``` =OFFSET($B$4,0,MATCH($C$2,OFFSET(B5:E5,MATCH($B$2,A5:A8,0)-1,0),0)-1) ```