INDEX MATCH في جداول بيانات Google - طريقة أخرى للبحث العمودي

  • شارك هذا
Michael Brown

عندما تحتاج إلى العثور على بيانات في جدولك تتوافق مع سجل مفتاح معين ، فعادة ما تلجأ إلى جداول بيانات Google Sheets VLOOKUP. ولكن ها أنت ذا: تصفعك VLOOKUP بالقيود على الفور تقريبًا. لهذا السبب من الأفضل زيادة الموارد للمهمة من خلال تعلم INDEX MATCH.

INDEX MATCH في Google Sheets هو مزيج من وظيفتين: INDEX و MATCH. عند استخدامها جنبًا إلى جنب ، فإنها تعمل كبديل أفضل لـ Google Sheets VLOOKUP. دعنا نتعرف على قدراتهم معًا في منشور المدونة هذا. لكن أولاً ، أود أن أقدم لك جولة سريعة حول أدوارهم في جداول البيانات.

    وظيفة مطابقة أوراق Google

    أود أن أبدأ مع Google Sheets MATCH لأنه بسيط حقًا. يقوم بمسح بياناتك بحثًا عن قيمة محددة وإرجاع موضعها:

    = MATCH (search_key، range، [search_type])
    • search_key هو السجل الذي تبحث عنه. مطلوب.
    • النطاق إما صف أو عمود للبحث فيه. مطلوب.

      ملاحظة. تقبل MATCH المصفوفات أحادية البعد فقط: إما صف أو عمود.

    • search_type اختياري ويحدد ما إذا كان يجب أن تكون المطابقة تامة أو تقريبية. إذا تم حذفه ، فسيكون 1 افتراضيًا:
      • 1 يعني أنه تم فرز النطاق بترتيب تصاعدي. تحصل الوظيفة على أكبر قيمة أقل من أو تساوي search_key .
      • 0 ستجعل الوظيفة تبحث عن التطابق التام في حال لم يكن النطاق الخاص بكتم الفرز.
      • -1 تلميحات إلى أن السجلات مرتبة باستخدام الفرز التنازلي. في هذه الحالة ، تحصل الدالة على أصغر قيمة أكبر من أو تساوي search_key .

    إليك مثال: للحصول على موضع معين بيري في قائمة جميع أنواع التوت ، أحتاج إلى صيغة المطابقة التالية في جداول بيانات Google:

    =MATCH("Blueberry", A1:A10, 0)

    وظيفة فهرس جداول بيانات Google

    بينما تُظهر MATCH مكان البحث عن القيمة (موقعها في النطاق) ، تجلب الدالة INDEX لجداول بيانات Google القيمة نفسها بناءً على إزاحة الصفوف والعمود:

    = INDEX (المرجع ، [الصف] ، [العمود])
    • المرجع هو النطاق المطلوب البحث فيه. مطلوب.
    • الصف هو عدد الصفوف المراد تعويضها من الخلية الأولى في النطاق الخاص بك . اختياري ، 0 إذا تم حذفه.
    • العمود ، تمامًا مثل الصف ، هو عدد أعمدة الإزاحة. اختياري أيضًا ، 0 أيضًا إذا تم حذفه.

    إذا قمت بتحديد كل من الوسيطات الاختيارية (الصف والعمود) ، فسيرجع فهرس جداول بيانات Google سجلًا من خلية الوجهة:

    =INDEX(A1:C10, 7, 1)

    تخطي إحدى هذه الوسائط وستحصل الوظيفة على الصف أو العمود بالكامل وفقًا لذلك:

    =INDEX(A1:C10, 7)

    كيفية استخدام INDEX MATCH في جداول بيانات Google - أمثلة على الصيغ

    عند استخدام INDEX و MATCH معًا في جداول البيانات ، يكونان في أقوى حالاتهما. يمكنهم تمامًا استبدال جداول بيانات Google VLOOKUP وجلب السجل المطلوب من جدول بناءً علىالقيمة الرئيسية الخاصة بك.

    قم ببناء أول صيغة INDEX MATCH لأوراق Google

    لنفترض أنك ترغب في الحصول على معلومات المخزون عن التوت البري من نفس الجدول الذي استخدمته أعلاه. لقد قمت بتبديل العمودين B و C فقط (ستعرف السبب لاحقًا).

    1. الآن تم إدراج جميع التوت في العمود C. ستساعدك وظيفة Google Sheets MATCH في تحديد موقع الصف بالضبط من التوت البري: 8

      =MATCH("Cranberry", C1:C10, 0)

    2. ضع صيغة المطابقة الكاملة هذه في صف وسيطة في دالة INDEX:

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))

      هذا سيعيد الصف بأكمله مع التوت البري بداخله.

    3. ولكن نظرًا لأن كل ما تحتاجه هو معلومات الأسهم ، حدد رقم عمود البحث أيضًا: 3

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)

    4. Voila !

    5. يمكنك المضي قدمًا والتخلي عن مؤشر العمود الأخير ( 2 ​​ ). لن تحتاجه على الإطلاق إذا كنت تستخدم عمود البحث فقط ( B1: B10 ) بدلاً من الجدول بأكمله ( A1: C10 ) كوسيطة أولى:

      =INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))

      نصيحة. هناك طريقة أكثر ملاءمة للتحقق من توفر أنواع مختلفة من التوت وهي وضعها في قائمة منسدلة ( E2 ) وإحالة وظيفة MATCH إلى الخلية التي تحتوي على تلك القائمة:

      =INDEX(B1:B10, MATCH(E2, C1:C10, 0))

      بمجرد تحديد التوت ، ستتغير القيمة ذات الصلة وفقًا لذلك:

    لماذا تعد INDEX MATCH في جداول بيانات Google أفضل من VLOOKUP

    أنت تعلم بالفعل أن مطابقة فهرس جداول بيانات Google يبحث عن القيمة في جدول ويعيد سجلًا آخر ذي صلة من نفسصف. وأنت تعلم أن Google Sheets VLOOKUP يفعل الشيء نفسه تمامًا. فلماذا تهتم؟

    الشيء هو ، INDEX MATCH له بعض المزايا الرئيسية على VLOOKUP:

    1. الجانب الأيسر البحث ممكن . لقد غيرت أماكن الأعمدة في وقت سابق لتوضيح هذا: وظيفة INDEX MATCH في جداول بيانات Google يمكن أن تبدو إلى يسار عمود البحث. يبحث VLOOKUP دائمًا في العمود الأول من النطاق ويبحث عن التطابقات على يمينه - وإلا ، فإنه يحصل على أخطاء # N / A فقط:

    2. لم يتم العبث المراجع عند إضافة أعمدة جديدة ونقل الأعمدة الموجودة. إذا قمت بإضافة أعمدة أو نقلها ، فإن INDEX MATCH سيعكس التغييرات تلقائيًا دون التدخل في النتيجة. نظرًا لأنك تستخدم مراجع الأعمدة ، يتم تعديلها فورًا بواسطة "جداول بيانات Google":

      انطلق وحاول القيام بذلك باستخدام VLOOKUP: فهو يتطلب رقم الطلب بدلاً من مراجع الخلية لعمود البحث. وبالتالي ، ستحصل في النهاية على قيمة خاطئة لأن عمودًا آخر يأخذ نفس المكان - العمود 2 ​​ في المثال الخاص بي:

    3. يعتبر حالة النص عند الضرورة (المزيد عن هذا الحق أدناه).
    4. يمكن استخدامه للبحث الرأسي على أساس معايير متعددة.

    أدعوك للبحث في النقطتين الأخيرتين بالتفصيل أدناه.

    بحث v حساس لحالة الأحرف مع INDEX MATCH في جداول بيانات Google

    INDEX MATCH هو الانتقال إلى الحالة عندما يتعلق الأمر بالحالة-حساسية.

    بافتراض أن جميع التوت يتم بيعه بطريقتين - سائبة (يتم وزنها عند المنضدة) ومعبأة في صناديق. ومن ثم ، هناك تكررتان لكل توت مكتوبان في حالات مختلفة في القائمة ، ولكل منهما معرف خاص به يختلف أيضًا في الحالات:

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

    لحسن الحظ ، يمكن لـ INDEX MATCH لجداول بيانات Google القيام بذلك بشكل صحيح. ستحتاج فقط إلى استخدام وظيفة إضافية واحدة - البحث أو بالضبط.

    مثال 1. البحث عن Vlookup

    البحث عن وظيفة حساسة لحالة الأحرف في جداول بيانات Google مما يجعلها رائعة للبحث الرأسي المتحسس لحالة الأحرف:

    =ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))

    لنرى ما يحدث في هذه الصيغة:

    1. البحث عن العمود C ( C2: C19 ) للسجل من E2 ( كرز ) مع مراعاة حالة الأحرف الخاصة به. بمجرد تحديد المكان ، فإن الصيغة "تحدد" تلك الخلية برقم - 1 .
    2. MATCH يبحث عن هذه العلامة - 1 - في نفس العمود ( C ) وتسليم رقم الصف الخاص به إلى INDEX.
    3. ينزل INDEX إلى هذا الصف في العمود B ( B2: B19 ) ويجلب لك السجل المطلوب.
    4. عند الانتهاء من بناء الصيغة ، اضغط على Ctrl + Shift + Enter لإضافة ArrayFormula في البداية. إنه مطلوب لأنه بدونه لن تتمكن FIND من البحث في المصفوفات (في أكثر من خلية واحدة). أو يمكنك الكتابة' ArrayFormula ' من لوحة المفاتيح.

    مثال 2. دقيق لـ Vlookup الحساسة لحالة الأحرف

    إذا استبدلت FIND بـ EXACT ، فستبحث الأخيرة عن السجلات باستخدام الأحرف نفسها تمامًا ، بما في ذلك حالة النص.

    الاختلاف الوحيد هو أن "علامات" مطابقة بالضبط مع TRUE بدلاً من الرقم 1 . ومن ثم ، يجب أن تكون الوسيطة الأولى لـ MATCH TRUE :

    =ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))

    Google Sheets INDEX MATCH بمعايير متعددة

    ماذا لو كانت هناك عدة شروط بناءً عليها ترغب في جلب السجل؟

    دعنا نتحقق من سعر الكرز الذي يتم بيعه في دلاء PP وهو بالفعل ينفد :

    لقد رتبت جميع المعايير في القوائم المنسدلة في العمود F. وهي جداول بيانات Google INDEX تطابق MATCH الذي يدعم معايير متعددة ، وليس VLOOKUP. إليك الصيغة التي ستحتاج إلى استخدامها:

    =ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))

    لا داعي للذعر! :) منطقها بسيط للغاية:

    1. CONCATENATE (F2: F4) يجمع كل السجلات الثلاثة من الخلايا ذات المعايير في سلسلة واحدة مثل:

      دلو CherryPP جارٍ تشغيل

      هذا هو search_key لـ MATCH ، أو بعبارة أخرى ، ما تبحث عنه في الجدول.

    2. A2: A24 & amp؛ C2: C24 & amp؛ D2: D24 تشكل نطاق لدالة MATCH للبحث فيها. نظرًا لأن جميع المعايير الثلاثة تحدث في ثلاثة أعمدة منفصلة ، وبهذه الطريقة تجمعهم نوعًا ما:

      علبة الورق المقوى CherryCardboardIn stock

      CherryFilm Packaging Out of stock

      CherryPP bucket جارٍ التشغيل

      إلخ .

    3. الوسيطة الأخيرة في MATCH - 0 - تجعل من الممكن العثور على التطابق التام لـ دلو CherryPP تشغيل بين جميع صفوف الأعمدة المجمعة. كما ترى ، يوجد في الصف الثالث.
    4. ثم يقوم INDEX بعمله: يقوم بجلب السجل من الصف الثالث من العمود B.
    5. ArrayFormula يستخدم للسماح للوظائف الأخرى العمل مع المصفوفات.

    نصيحة. إذا لم تجد الصيغة تطابقًا ، فستُرجع خطأً. لتجنب ذلك ، يمكنك التفاف هذه الصيغة بأكملها في IFERROR (اجعلها الوسيطة الأولى) وإدخال ما تريد رؤيته في خلية بدلاً من الأخطاء كوسيطة ثانية:

    =IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")

    بديل أفضل لـ INDEX MATCH في أوراق Google - تطابقات VLOOKUP متعددة

    مهما كانت وظيفة البحث التي تفضلها ، VLOOKUP أو INDEX MATCH ، هناك بديل أفضل لكليهما.

    متعدد تطابقات VLOOKUP هي إضافة خاصة لجداول بيانات Google مصممة من أجل:

    • البحث بدون صيغ
    • البحث في جميع الاتجاهات
    • البحث حسب شروط متعددة لأنواع بيانات مختلفة : نص ، أرقام ، تواريخ ، وقت ، إلخ.
    • جلب العديد من التطابقات ، بقدر ما تحتاج (بشرط أن يكون هناك العديد منها في جدولك ، بالطبع)

    الواجهة واضحة ، لذا لن تضطر إلى الشك فيما إذا كنت تفعل ذلككل شيء بشكل صحيح:

    1. حدد نطاق المصدر.
    2. اضبط عدد التطابقات والأعمدة لإرجاعها.
    3. ضبط الشروط باستخدام عوامل التشغيل المحددة مسبقًا ( يحتوي ، = ، ليس فارغًا ، بين ، إلخ.).

    ستتمكن أيضًا من:

    • معاينة النتيجة
    • حدد مكان وضعها
    • وكيف: كصيغة أو قيم فقط

    لا تفوت هذه الفرصة للتحقق من الوظيفة الإضافية. انطلق وقم بتثبيته من Google Workspace Marketplace. سوف تشرح صفحة البرنامج التعليمي كل خيار بالتفصيل.

    قمنا أيضًا بإعداد فيديو تعليمي خاص:

    نراكم في التعليقات أدناه أو في المقالة التالية ؛)

    مايكل براون متحمس للتكنولوجيا ولديه شغف لتبسيط العمليات المعقدة باستخدام أدوات البرمجيات. مع أكثر من عشر سنوات من الخبرة في صناعة التكنولوجيا ، صقل مهاراته في Microsoft Excel و Outlook ، بالإضافة إلى جداول بيانات Google والمستندات. مدونة مايكل مكرسة لمشاركة معرفته وخبرته مع الآخرين ، وتقديم نصائح ودروس تعليمية سهلة المتابعة لتحسين الإنتاجية والكفاءة. سواء كنت محترفًا متمرسًا أو مبتدئًا ، تقدم مدونة مايكل رؤى قيمة ونصائح عملية للحصول على أقصى استفادة من أدوات البرامج الأساسية هذه.