VLOOKUP関数の落とし穴についてはこちら。
account-it-dentist.hatenablog.com
VLOOKUP関数では列番号を指定します。
そのときのTipsを紹介します。
列番号を取得する関数
列番号を数えるのは面倒だな、と思うことがありますか?
検索範囲の取得対象列を変えてもいちいち列番号を変えない運用はできないか、と思うことがありますか?
そんな場合に使えるのが MATCH関数 です。
MATCH関数
= MATCH ( 検索値, 範囲, 検索種類 )
"検索種類" に '0' を指定したときは完全一致で検索します。
MATCH関数 は相対的な位置を返します。
というのが関数の説明ですが、関数が返す値を具体例をあげて説明します。
具体例
以下の表で説明します。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 国番号 | 2桁 | 3桁 | 数字 | 国名 |
2 | 1 | US | USA | 840 | アメリカ合衆国 |
3 | 7 | RU | RUS | 643 | ロシア |
4 | 33 | FR | FRA | 250 | フランス |
5 | 34 | ES | ESP | 724 | スペイン |
6 | 64 | GB | GBR | 826 | イギリス |
7 | 49 | DE | DEU | 276 | ドイツ |
8 | 55 | BR | BRA | 76 | ブラジル |
9 | 61 | AU | AUS | 36 | オーストラリア |
10 | 65 | SG | SGA | 702 | シンガポール |
11 | 81 | JP | JPN | 392 | 日本 |
12 | 86 | CN | CHN | 156 | 中華人民共和国 |
13 | 91 | IN | IND | 356 | インド |
それでは、MATCH関数を使ってみましょう。
= MATCH ( "国名", A1:E1, 0 )
返ってくる値は '5' です。
これは、左から5番目に "国名" はある、ということを意味します。
つまり、VLOOKUP関数で必要な列番号を取得できる、ということです。
範囲を縦に指定すると上からの相対的な位置を返します。
VLOOKUP関数とMATCH関数を組み合わせる
それでは、国番号='81'の '国名' を取得します。
= VLOOKUP ( 81, A2:E13, MATCH ( "国名", A1:E1, 0 ), FALSE )
列番号に MATCH関数 を使って、 '日本' を取得できます。
列番号を動的に取得したいときに利用してください。
ご質問は下の 「コメントを書く」 からお願いします。
ExcelやVBA全般に関わる質問で、比較的簡単にお答えできるものはできる限り回答したいと思います。
回答を公開でなくメールでやり取りしたいという場合は、その旨記載していただければ非公開で回答することも可能です。
有償での作業依頼は非公開にしますので、条件等をお知らせください。