TOP

2 つの条件に従った組み合わせの VLOOKUP (VLOOKUP3)

説明

関数 VLOOKUP - VLOOKUP3 の改良版を考えてみましょう。これにより、2 つの条件が一致した場合に値を置換する機会が得られます。この関数は、組み合わせを実行する必要があるフィールドに一意の値がない場合に役立ちます。


問題の例

2 つのテーブルを結合する必要があるが、一意の値がないとします。

ご覧のとおり、同じ姓の借り手と同じ番号のクレジット契約が存在します。通常の機能と組み合わせる VLOOKUP 一度に 1 つの条件のみと一致し、最初に見つかった値のみに一致するため、問題が発生します。

2 つの条件に従って値を置換するために、通常の VLOOKUP をやり直してみましょう。

VBA 関数のコード VLOOKUP3

メニューを開く サービス - マクロ - エディター 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 キーを使用することもできます)。

トピックに関する記事: