Excel。一覧表から行単位で抽出するならVLOOKUP関数とCOLUMN関数もおススメ。
VLOOKUP関数+COLUMN関数
前回、INDEX関数と配列関数の組み合わせをつかって、VLOOKUP関数ではなくて、
一覧表から行単位で該当するデータを抽出する方法をご紹介しました。
が、実は、後日談がありまして、
A列のNOが通し番号ではなくて、商品コードのような個別番号だったそうでして…
つまり、前回の方法では通し番号を新たに挿入しないと抽出できないわけです。
NOが、A-01と文字列になっています。ではA2をA-01と入力してみると
ありゃま。#VALUE! というエラーになってしまいましたね。
A2が列番号である数値ではなくなってしまったからですね。
このような場合は、VLOOKUP関数を使うほうが便利になります。
しかし、VLOOKUP関数の列番号をどうしたらいいのか?というのが、今回のポイントになります。
では、B2:H9を削除しておきます。
また、A2に入力するデータがアルファベットと数字の混合なので入力しにくいので、
入力規則のリストを設定しておきます。
A2をクリックして、データタブの入力規則をクリックしましょう。
データの入力規則ダイアログボックスが表示されます
設定の入力値の種類を リスト にして、
元の値 には、A6:A14を範囲選択します。 =$A$6:$A$14 と入力されました。
そして、OKボタンをクリックしましょう。
NOが選択しやすくなりましたね。
では、本題のVLOOKUP関数を作っていきましょう。
B2をクリックして、VLOOKUP関数のダイアログボックスを表示しましょう。
検索値には、A2を入力しますが、列方向に数式をコピーしますので、
列を固定しておく必要がありますので、$A2 とします。複合参照ですね。
範囲には、$A$6:$H$14 リストですね。これは絶対参照を設定しておきます。
そして、ポイントになる
列番号には、COLUMN関数をネストしていきます。
列番号のボックスをクリックして、
名前ボックスの▼をクリックして、COLUMN関数のダイアログボックスを表示しましょう。
表示されましたら、
VLOOKUP関数のダイアログボックスに戻りますので、
数式バーのVLOOKUPという文字をクリックすると、
VLOOKUP関数のダイアログボックスに戻ります。
列番号には、COLUMN() と入力されましたね。
今回は2という数字が欲しいわけです。
今、アクティブにしているセルはB列ですから、2が入ります。
もしずれているようでしたら、プラスマイナスしてください。
検索方法には、完全一致ですから、FALSE と入力します。
あとは、OKボタンをクリックしましょう。
新宿と表示されましたね。では、オートフィルハンドルを使って、数式をコピーしてみましょう。
では、A2の値を変えてみましょう。
変わりましたね。
このような方法もありますので、使いやす法で作ってみてはいかがでしょうか?