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; A15; $B$2:$B$11; B15; $C$2:$C$11)

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

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