ページ

2015年1月29日木曜日

LOOKUP関数をベクトル形式で使い入力直後のデータを検索する

Excel2013で、LOOKUP関数をベクトル形式で使い入力直後のデータを検索する方法です。

IDと名前を入力する表です。
IDを入力すると入力済みの上の表から検索し、見つかった名前を表示します。
10行目にIDを入力すると、3~9行から検索します。
11行目にIDを入力すると、3~10行から検索します。

IDと名前を入力する表
関数を入力するセル、ここではC10にカーソルを移動します。
リボンの[数式]-[検索/行列]-[LOOKUP]を選択します。
LOOKUP関数のヒントです「1行または1列のみのセル範囲、または配列に含まれる値を返します。この関数は旧バージョンとの互換性を維持するためのものです。」
[LOOKUP]を選択します
引数の選択ダイアログボックスが開きます。
ベクトル形式は上の「検査値、検査範囲、対応範囲」を選択します。
引数の選択ダイアログボックス
関数の引数が開きます。
  • 検査値 : ここではIDを入力するセルB10にします。
  • 検査範囲 : ここではIDと氏名が入力されている表全体を指定します。
  • 対応範囲 : ここでは氏名が入力されている範囲全体を指定します。
関数の引数
 =LOOKUP(B10,B3:C9,C3:C9)
とLOOKUP関数が入力できました。
LOOKUP関数が入力できました
IDを入力すると、氏名が検索され表示されます。
IDを入力すると、氏名が検索され表示
下の行にもコピーするので、引数の先頭セルを下のように絶対番地に修正します。
=LOOKUP(B10,$B$3:C9,$C$3:C9)
先頭のセルのみ絶対番地にします。
先頭のセルのみ絶対番地にします
これで関数を下の行にコピーすると、検索範囲は自動的にすぐ上の行になります。
新規にIDと氏名を入力する場合は、コピーされた関数を削除します。すると次の行からは新規データも検索対象になります。
関数を下の行にコピー