doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

EXCELで検索した値の下のセルの値を表示したい

スポンサーリンク

状況

No 項目
1 郵便番号
2 123-4567
3 電話番号
4 01-2345-6789
5 趣味
6 読書
7 特技
8 早食い

と表示されているとします。 ここから郵便番号を検索し、郵便番号の下のセルの値を表示させるにはどうすればいいでしょうか?

また、範囲指定は同じでも、電話番号であればその下の値が表示される方法です。

VLOOKUPやHLOOKUPではかならず検索される場所が範囲の上端や左端なので悩んでいます。

よろしくお願いします。

解決策

lookup系の関数では、検索して見つかった値が返ってきますが、見つけた場所を返す関数もあります。

また、範囲内の特定の場所の値を返す関数もあります。

=match(検索する値, 探す範囲, 探し方)
=index(範囲, x行目, y列目, 領域番号)

これで例えば

=match("郵便番号", A1:A8, 0)

とやると 1 が返ってきますので、もう1行下ってことで+1して index関数に代入する

=index(A1:A8, match("郵便番号", A1:A8, 0)+1, 1, 1)

と、123-4567が返ってくるわけです。

表の端っこ以外のところで検索しなくちゃ行けない場合に、よく使う方法ですので、覚えといて損はないです。