関数 VLOOKUP - VLOOKUP3 の改良版を考えてみましょう。これにより、2 つの条件が一致した場合に値を置換する機会が得られます。この関数は、組み合わせを実行する必要があるフィールドに一意の値がない場合に役立ちます。
2 つのテーブルを結合する必要があるが、一意の値がないとします。
ご覧のとおり、同じ姓の借り手と同じ番号のクレジット契約が存在します。通常の機能と組み合わせる VLOOKUP 一度に 1 つの条件のみと一致し、最初に見つかった値のみに一致するため、問題が発生します。
2 つの条件に従って値を置換するために、通常の VLOOKUP をやり直してみましょう。
メニューを開く サービス - マクロ - エディター Visual Basic 、 新しいモジュールを挿入します (メニュー Insert - Module )このテキストをそこにコピーします 機能:
Function VLOOKUP3(Table1 As Range, _ SearchValue1 As Variant, _ Table2 As Range, _ SearchValue2 As Variant,_ ResultColumn As Range) 'moonexcel.com.ua Dim i As Integer For i = 1 To Table1.Rows.Count If Table1.Cells(i, 1) = SearchValue1 Then If Table2.Cells(i, 1) = SearchValue2 Then VLOOKUP3 = ResultColumn.Cells(i, 1) Exit For End If End If Next i End Function
エディタを閉じます ビジュアル ベーシック そしてExcelに戻ります。
今 関数ウィザード カテゴリ内で ユーザー定義の VLOOKUP3 関数を見つけて使用してください。関数の構文は次のとおりです。
=VLOOKUP3( 範囲1 ; 検索値1 ; 範囲2 ; 検索値2 ; 値を代入する範囲 )
つまり、セル内の姓と契約番号でローン金額を正しく置き換えるために E15 次のように入力する必要があります:
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
また、ドル記号を使用して範囲を固定することを忘れないでください。 (ドル) 、数式をコピーするときに範囲を見逃さないようにします (簡単に修正するには、F4 キーを使用することもできます)。