TOP

VLOOKUP للدمج بشرطين (VLOOKUP3)

وصف

لنفكر في نسخة محسنة من الدالة VLOOKUP - VLOOKUP3، والتي تتيح لنا الفرصة لاستبدال القيم عند تطابق شرطين. يمكن أن تكون هذه الوظيفة مفيدة في الحالات التي لا يكون لدينا فيها قيم فريدة في المجال الذي نحتاج إلى إجراء مجموعة عليه.


مثال على مشكلة

لنفترض أننا بحاجة إلى الانضمام إلى جدولين، ولكن ليس لدينا قيم فريدة:

كما ترون، لدينا مقترضون يحملون نفس الألقاب واتفاقيات القروض بنفس الأرقام. تتحد مع وظيفة عادية VLOOKUP ستكون مشكلة لأنها تطابق شرطًا واحدًا فقط في كل مرة وتم العثور على القيمة الأولى فقط.

دعونا نعيد ما اعتدنا عليه VLOOKUP لاستبدال القيم وفقا لشرطين.

VBA كود الدالة VLOOKUP3

افتح القائمة الخدمة - ماكرو - المحرر Visual Basic , أدخل الوحدة الجديدة (قائمة طعام Inser - 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 ; searched_value1 ; النطاق2 ; searched_value2 ; النطاق الذي نستبدل القيم منه )

أي أنه من أجل استبدال مبلغ القرض بالاسم الأخير ورقم الاتفاقية بشكل صحيح، ستحتاج إلى إدخال ما يلي في الخلية E15:

=VLOOKUP3($A$2:$A$11 ; أ15 ; $ب$2:$ب$11 ; ب15 ; $C$2:$C$11 )

لا تنس أيضًا إصلاح النطاقات بعلامة الدولار ($)، حتى لا نفوت النطاقات عند نسخ الصيغة (للإصلاح السريع، يمكنك أيضًا استخدام المفتاح F4).

مقالات حول الموضوع: