文書番号: 402177
最終更新日: 1997/10/20
=VLOOKUP(検索値,範囲,列番号,検索の型) <検索値> <範囲> の左端列で検索する値を指定します。<検索値> には値、セル参照、または文 字列を指定します。 <範囲> 目的のデータが含まれるテーブルを指定します。セル範囲の参照、または [挿入] - [名前] - [定義] サブコマンドで定義した名前を指定します。 <検索値> と完全に一致する値だけを検索する場合は、データの並び順は任意で構い ません。 しかし、<検索値> の近似値を含めて検索する場合は「昇順」に並べ替えておく必要 があります。 <列番号> <範囲> 内で目的のデータが入力されている列を、左端からの列数で指定します。<列 番号> に 1 を指定すると、<範囲> の左端列の値が返され、列番号に 2 を指定する と、<範囲> の左から 2 列目の値が返されます。 <検索の型> <検索値> と完全に一致する値だけを検索するか、その近似値を含めて検索するか を、論理値 (TRUE または FALSE) で指定します。 TRUE を指定すると <検索値> が見つからない場合に、<検索値> 未満で最も大きい値 が使用されます。FALSE を指定すると <検索値> と完全に一致する値だけが検索され ます。 <検索の型> を省略すると TRUE とみなされます。
<表> __|___A___|_____B____|___C___| 1|コード |製品名 |金額 | 2| 101|Excel | 58,000| 3| 102|Word | 58,000| 4| 103|PowerPoint| 20,000| 5| 105|Access | 58,000| 6| 110|Office | 78,000|
=VLOOKUP(103,$A$2:$C$6,2)<範囲> の左端列から数値「 103 」を検索して、見つかったら <範囲> の左から 2 列 目の値を返します。計算結果は PowerPoint です。
=VLOOKUP(103,Database,3)あらかじめ、セル範囲 $A$2:$C$6 を選択後 [挿入] - [名前] - [定義] サブコマン
__|__D__|__________E_____________ 1|101 |=VLOOKUP(D1,$A$2:$C$6,2) 2|102 | 3|103 | 4|104 |<検索値> に入力されているのは「セル参照」です。セル D1 に入力されている値 (ここでは「 101 」を検索して、見つかったら <範囲> の左から 2 列目の値を返しま す。セル E1 の計算結果は Excel です。
__|__D__|__________E_____________ 1|101 |=VLOOKUP(D1,$A$2:$C$6,2) 2|102 |=VLOOKUP(D2,$A$2:$C$6,2) 3|103 |=VLOOKUP(D3,$A$2:$C$6,2) 4|104 |「セル参照」には「相対参照」と「絶対参照」、「複合参照」があります。
__|__D__|__________E_____________ 1|101 |=VLOOKUP(D1,$A$2:$C$6,2) 2|102 |=VLOOKUP(D2,$A$2:$C$6,2) 3|103 |=VLOOKUP(D3,$A$2:$C$6,2) 4|104 |=VLOOKUP(D4,$A$2:$C$6,2)<検索値> となる「 104 」は <範囲> の左端列には含まれていません。<検索の型> が 省略されているため、<検索値> 未満で最も大きい値 (この場合は「 103 」) が使用 されます。
__|__D__|_____________E________________ 4|104 |=VLOOKUP(D4,$A$2:$C$6,2,FALSE)<検索の型> を FALSE に指定することによって、<検索値> と完全一致するデータ のみを検索することができます。
7-1 __|__D__|________________________________E__________________________________ 4|104 |=IF(ISNA(VLOOKUP(D4,$A$2:$C$6,2,FALSE)),"見つかりません",VLOOKUP(D4 | |,$A$2:$C$6,2,FALSE))VLOOKUP 関数の計算結果が #N/A かどうかを判別するワークシート関数 ISNA 関数を 使っています。IF 関数を使って条件分岐をし、VLOOKUP 関数の計算結果が #N/A であ る場合は、そのセルに「見つかりません」と文字列を表示します。
7-2 __|__D__|________________________________E__________________________________ 4|104 |=IF(ISERROR(VLOOKUP(D4,$A$2:$C$6,2,FALSE)),"エラーです",VLOOKUP(D4, | |$A$2:$C$6,2,FALSE))VLOOKUP 関数の計算結果がエラー値かどうかを判断するワークシート関数 ISERROR
7-3 __|__D__|________________________________E_________________________________ 4|104 |=IF(VLOOKUP(D4,$A$2:$C$6,2,TRUE)=D4,VLOOKUP(D4,$A$2:$C$6,2,FALSE), | |"")あらかじめ <検索値> と同じ値が <範囲> の左端列に含まれているかどうかを等号記 号を使って判断しています。<検索の型> に TRUE を指定した VLOOKUP 関数で得られ た値が <検索値> と等しければ、その値は <範囲> の左端列に含まれていることに なります。等しくなければ <範囲> の左端列には含まれていないことになり、その セルに文字数 (文字の長さ) 0 の文字列を表示します (つまり何も表示されません)。 なお、<検索の型> に TRUE を指定する場合は <範囲> のデータが必ず「昇順」で並 べ替えられている必要があります。
エラー値 原因 -------- ----------------------------------------------------------------- #VALUE! <列番号> の指定が 1 より小さい #REF! <列番号> の指定が <範囲> の列数きょり多い #N/A <検索の型> が FALSE に指定されており、<検索値> と完全に一致 する値が <範囲> の 左端列の中から見つからない <検索の型> の指定が TRUE に指定されているか、または省略されており、 <検索値> が <範囲> の左端列の最小値より小さい
Keywords: KBHOWTO KB402177
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch