サーチ…
前書き
テーブル配列の最初の列の値を検索し、同じ行の値をテーブル配列の別の列から返します。
VLOOKUPのVは垂直を表します。 HLOOKUPの代わりにVLOOKUPを使用してください。比較値は、検索するデータの左側の列にあります。
構文
- VLOOKUP(lookup_value、table_array、col_index_num、range_lookup)
パラメーター
パラメータ | 説明 |
---|---|
参照値 | テーブルの左の列で検索している値。固定値、セル参照または名前付き範囲( 必須 )のいずれかになります。 |
テーブル・アレイ | 左端で検索する列からなるセルの範囲。右にセルの値が返されます。 Excelセル参照または名前付き範囲にすることができます。 ( 必須 ) |
col_index_num | テーブルの一番左の列から数えてデータを返す列の番号( 必須 ) |
range_lookup | 検索の仕方を制御します。 FALSEまたは0の場合、Excelは正確な検索を実行し、一番左の列に完全に一致する箇所のみを返します。この数値検索では、丸めによる精度への注意が非常に重要です。 TRUEまたは1の場合、Excelは検索を実行して近似し、それ以上の最後の値を返します。そのため、最初の列は昇順でソートし、近似検索する必要があります。 range_lookup 。 ( オプション - デフォルトはTRUE) |
備考
同様の機能:
- HLOOKUP(VLOOKUPと同じですが、垂直方向ではなく水平方向に検索します)
- MATCH (一致するlookup_valueがある場合は、範囲内の行番号を返します)
- LOOKUP(VLOOKUPとMATCHに類似しており、下位互換性のために提供されています)
一般的なエラー:
- range_lookupパラメータを設定せず、デフォルトの完全一致の動作を取得しない
- table_arrayの固定アドレス範囲と絶対アドレス範囲 - 式をコピーするときに、 "ルックアップテーブル"参照も移動する
VLOOKUPを使用して従業員IDから人の姓を取得する
Vlookupは、範囲の一番左の列にある値を見つけ、右と同じ行にいくつかの列数の値を返します。
この表からEmployee ID 2の姓を探したいとしましょう:
=VLOOKUP(2,$A$2:$C$4,3,0)
- データを取得している値は2です
- 検索対象の表は、 $ A $ 2:$ C $ 4の範囲にあります
- データを返す列は、左から3番目の列です
- 完全一致( 0 )の場合にのみ結果を返したい
従業員IDに完全一致がない場合、 VLOOKUP
はVLOOKUP
#N/A
を返します。
VLOOKUPを使用してボーナス率を計算します(例: "default"ビヘイビア)
ほとんどの場合、 range_lookupはFALSE(完全一致)として使用されます。このパラメータのデフォルトはTRUEです。この形式ではあまり一般的ではありませんが、この例では1つの使用例を示しています。スーパーマーケットは、顧客の毎月の支出に基づいてボーナスを提供します。
顧客が1か月に250ユーロ以上を過ごすと、1%のボーナスが得られます。 500ユーロ以上は2.5%などです。もちろん、顧客は常にテーブルの値のうちの1つを費やすとは限りません!
=VLOOKUP(261,$A$2:$B$6,2,TRUE)
このモードでは、VLOOKUPは列A
最初の値(ボトムアップステップに続いて)を値261 より小さいか、またはそれに等しい値にします。つまり、 1%
値が返されます。 この完全一致でない場合、表は最初の列の昇順でソートされなければなりません。
- データを取得する値は261です。
- 検索対象の表は、 $ A $ 2:$ B $ 6の範囲にあります
- データを返す列は、左から2番目の列です
- 正確でない一致( TRUE )がある場合にのみ結果を返すことができます。これは、デフォルトであるため、このTRUEから離れることができます
VLOOKUPを近似マッチングで使用する。
range_lookupパラメータがTRUE、または1に設定されている場合、VLOOKUPはおおよその一致を検出します。 「おおよそ」とは、VLOOKUPがlookup_valueよりも小さい最小値と一致することを意味します。 table_array はルックアップ値によって昇順にソートされなければならないことに注意してください。値がソートされていないと、結果は予測不可能になります。
完全一致のVLOOKUPの使用
VLOOKUP
的な考え方は、スプレッドシートの表で情報を検索して別の表に置くことです。
たとえば、これがSheet1の表であるとします。
John 12/25/1990
Jane 1/1/2000
Sheet2では、 John
、 Andy
、およびJane
をA1、A2、およびA3に配置します。
John
の右にあるB1では、私は次のように答えました。
=VLOOKUP(A1,Sheet1!$A$1:$B$4,2,FALSE)
VLOOKUPに与えられるパラメータの簡単な説明を次に示します。 A1は私がSheet2のA1でJohn
を探していることを意味します。ザ
Sheet1!$A$1:$B$4
Sheet1、列AからB(および行1から4)を調べるように関数に指示します。ドル記号は、絶対(相対ではなく)参照を使用するようにExcelに指示するために必要です。 (相対参照は、数式を下にコピーするときに望ましくない方法で全体がシフトすることになります。
2
は、2番目の列を返すことを意味します。これは、日付です。
FALSE
は、完全一致が必要であることを意味します。
私はB1をB2とB3にコピーしました。 (これを行う最も簡単な方法は、B1をクリックしてハイライトし、Shiftキーを押しながら下向きの矢印を2回押すと、B1、B2、B3が強調表示され、Ctrl + Dを押して式を入力しますB3をB1と同じ式にする必要があります。たとえば、 Sheet1!A1:B3
からSheet1:A3:B5
にルックアップテーブルの式が変更されている場合は、絶対参照を使用する必要がありますドル記号)を使用して変更を防止します)。
結果は次のとおりです。
John 12/25/1990
Andy #N/A
Jane 1/1/2000
ジョンとジェーンを見つけ、誕生日を返しました。 Andyが見つかりませんでしたので、 #N/A
表示されます。