関数 VLOOKUP - VLOOKUP3 の改良版を考えてみましょう。これにより、2 つの条件が一致した場合に値を置換する機会が得られます。この関数は、組み合わせを実行する必要があるフィールドに一意の値がない場合に役立ちます。
2 つのテーブルを結合する必要があるが、一意の値がないとします。
ご覧のとおり、同じ姓の借り手と同じ番号のローン契約が存在します。通常の機能と組み合わせる VLOOKUP 一度に 1 つの条件のみと一致し、最初に見つかった値のみに一致するため、問題が発生します。
慣れ親しんだことをやり直しましょう VLOOKUP 2 つの条件に従って値を置換します。
メニューを開く サービス - マクロ - エディター 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
Visual Basic エディタを閉じて、Excel に戻ります。
今 関数ウィザード カテゴリ内で ユーザー定義の VLOOKUP3 関数を見つけて使用してください。関数の構文は次のとおりです。
=VLOOKUP3(範囲1 ; 検索値1 ; 範囲2 ; 検索値2 ; 値を代入する範囲 )
つまり、ローン金額を姓と契約番号で正しく置き換えるには、セル E15 に次のように入力する必要があります。
=VLOOKUP3($A$2:$A$11 ; A15 ; $B$2:$B$11 ; B15 ; $C$2:$C$11 )
また、数式をコピーするときに範囲を見逃さないように、ドル記号 ($) を使用して範囲を固定することを忘れないでください (すばやく修正するには、F4 キーを使用することもできます)。