اذهب الي المحتوي
أوفيسنا

شرح دالة البحث Index


الردود الموصى بها

الأخت الفاضلة رشا يوسف

لما لا تستخدمي دالة Index فهي أكثر مرونة من غيرها

إليك المعادلة التالية ضعي المعادلة في الخلية F4

=IFERROR(INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)),"")

شرح المعادلة

*************

الجزء الأول الدالة IFERROR وتستخدم الدالة في حالة حدوث خطأ في النواتج ولها عدد 2 بارامتر : الأول هو القيمة value والثاني value_if_error أي القيمة التي توضع في حالة حدوث خطأ ..

 

البارامتر الأول هنا هو الجزء الأول (الخاص بالبحث)

INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0))

والبارامتر الثاني هو الجزء

""

أي أنه عند البحث وعدم وجود نتائج للبحث فإنه يحدث خطأ #N/A ولتجنب الخطأ توضع القيمة فراغ ، عن طريق أقواس التنصيص مرتين متتاليتين

 

الجزء الثاني هو الجزء الخاص بالبحث

INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0))

والدالة Index من الدوال البحثية لها 3 بارامترات ..

------------------------------------------------

** البارامتر الأول النطاق اللي المفروض عايزين النتائج منه ، أو مصفوفة القيم المراد البحث داخلها

ولو وقفنا داخل المعادلة وحددنا الجزء ده

$C$12:$C$16

وضغطنا من لوحة المفاتيح F9 هنلاقي النتائج بهذا الشكل

{12;15;18;21;24}

ودي مصفوفة القيم المراد البحث داخلها

 

** البارامتر الثاني هو رقم الصف داخل مصفوفة القيم ، مش رقم الصف في ورقة العمل ..

طيب إزاي هنعرف رقم الناتج أو الصف المراد البحث عنه داخل المصفوفة

هنا بنستخدم الدالة Match ودي دالة بحث بردو بتجيب رقم الصف

MATCH(B4,$B$12:$B$16,0)

دا البارامتر الثاني وهنا بتتم عملية البحث عن قيمة البحث الموجودة في الخلية B4

وبيتم البحث عن قيمة الخلية B4 في النطاق

$B$12:$B$16

ودا بردو مصفوفة النطاق ..يعني لو حددنا السطر ده وضغطنا F9 من لوحة المفاتيح هتلاقي الناتج بهذا الشكل

{"معلم";"خبير";"مساعد";"مدرس";"اخصائى"}

فاللي بيحصل إنه بيبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة دي .. القيمة الموجودة كلمة "معلم" ودي أول كلمة في المصفوفة يعني رقم 1

إذاً رقم الصف هو واحد (وأؤكد ليس المقصود رقم الصف في ورقة العمل .. المقصود رقم نتيجة البحث داخل المصفوفة )

طيب رقم 0 دا ايه فايدته ... فايدته إننا بنقول لعملية البحث إنها تكون متطابقة تماماً .. تطابق عملية البحث للقيمة المراد البحث عنها

 

>> إحنا دلوقتي عندنا نطاقين أو مصفوفتين للقيم (الأولى المراد استخراج النتيجة منها) و (الثانية المراد البحث بداخلها) :rol:

الإكسيل بيقوم الأول بالبحث قبل ما يظهر النتيجة (دي الخطوات المنطقية للعمل) .. بيقوم بالبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة الخاصة بيها .. طلع الناتج 1 لأنها أول نتائج البحث

 

خلاص وصل الإكسيل لرقم ناتج البحث داخل المصفوفة ..ياخد الرقم دي ويشوف النتيجة رقم1 الموجودة في المصفوفة الأول ..هيلاقي إن رقم 1 في المصفوفة الأولى هو رقم 12

 

** البارامتر الثالث اختياري ودا هنا ملوش استخدام لأن المصفوفة مكونة من بعد واحد

فممكن نكتب رقم 1 أو نتركه من غيره ما نكتبه لأن رقم 1 هو الافتراضي

=INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0),1)

>>>>> عشان نفهم أبعاد المصفوفة ذات البعدين

-------------------------------------------------

ضع المعادلة التالية في أي خلية

=INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0))

المصفوفة الأولى هي

$B$12:$C$16

نخلي بالنا هنا المصفوفة بتاخد القيم من عمودين ..يبقا المصفوفة ثنائية الأبعاد

نحدد الجزء اللي فات ونضغط F9 من لوحة المفاتيح هنلاقي النتائج بهذا الشكل

{"معلم",12;"خبير",15;"مساعد",18;"مدرس",21;"اخصائى",24}

لو ركزنا هنعرف شكل المصفوفة .. بتاخد قيم الصف من العمودين مع بعض يعني مثلاً : معلم و 12 في صف واحد وداخل المصفوفة مع بعض بيفصل بينهم فاصلة عادية

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

 

بمعنى آخر :

**********

معلم 12 أول صف في المصفوفة

خبير 15 ثاني صف في المصفوفة

مساعد 18 تالت صف في المصفوفة وهكذا .. (بيفصل بين الصفوف فاصلة منقوطة)

 

داخل الصف الواحد عمودين لأن المصفوفة من بعدين : عمود 1وعمود 2 (بيفصل بين الأعمدة داخل المصفوفة فاصلة عادية)

 

ناخد مثال بسيط عشان نفهم العملية إزاي بتتم : لو عايزين رقم الصف 4 والعمود 1

هنشوف المصفوفة ..

رقم البصف 4 هنلاقي مدرس 14 ، ورقم العمود المطلوب هو العمود 1 إذاً الناتج كلمة مدرس

 

يا ريت تكون النقطة دي وضحت

**************************************************************************

 

نجرب المعادلة دي ونشوف اللي فهمناه

=INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0),1)

ع السريع هيتم البحث داخل المصفوفة ذات البعدين (طالما إنها ذات بعدين إذاً سيتم الاستعانة بالبارامتر الثاني والثالث للدالة Index) عشان نعرف رقم الصف المطلوب ورقم العمود المطلوب

هنا رقم الصف هنجيبه من خلال الدالة Match هنلاقي رقم الصف هو 1

وأخيراً البارامتر التالت ودا كتبناه 1 يعني العمود الأول

إذاً الناتج النهائي هو كلمة "معلم"

 

لو غيرنا رقم العمود من 1 إلى 2 هيتغير الناتج إلى 12

 

لو غيرنا رقم العمود إلى 3 هيديني خطأ لأن المصفوفة ذات بعدين مش 3 .. الخطأ #REF!

 

أرجو أن أكون وفقت في توصيل المعلومة :fff: :fff: :fff:

  • Like 5
رابط هذا التعليق
شارك

  • 2 years later...
في ٩‏/٦‏/٢٠١٥ at 14:09, ياسر خليل أبو البراء said:

الأخت الفاضلة رشا يوسف

لما لا تستخدمي دالة Index فهي أكثر مرونة من غيرها

إليك المعادلة التالية ضعي المعادلة في الخلية F4


=IFERROR(INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)),"")

شرح المعادلة

*************

الجزء الأول الدالة IFERROR وتستخدم الدالة في حالة حدوث خطأ في النواتج ولها عدد 2 بارامتر : الأول هو القيمة value والثاني value_if_error أي القيمة التي توضع في حالة حدوث خطأ ..

 

البارامتر الأول هنا هو الجزء الأول (الخاص بالبحث)


INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0))

والبارامتر الثاني هو الجزء


""

أي أنه عند البحث وعدم وجود نتائج للبحث فإنه يحدث خطأ #N/A ولتجنب الخطأ توضع القيمة فراغ ، عن طريق أقواس التنصيص مرتين متتاليتين

 

الجزء الثاني هو الجزء الخاص بالبحث


INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0))

والدالة Index من الدوال البحثية لها 3 بارامترات ..

------------------------------------------------

** البارامتر الأول النطاق اللي المفروض عايزين النتائج منه ، أو مصفوفة القيم المراد البحث داخلها

ولو وقفنا داخل المعادلة وحددنا الجزء ده


$C$12:$C$16

وضغطنا من لوحة المفاتيح F9 هنلاقي النتائج بهذا الشكل


{12;15;18;21;24}

ودي مصفوفة القيم المراد البحث داخلها

 

** البارامتر الثاني هو رقم الصف داخل مصفوفة القيم ، مش رقم الصف في ورقة العمل ..

طيب إزاي هنعرف رقم الناتج أو الصف المراد البحث عنه داخل المصفوفة

هنا بنستخدم الدالة Match ودي دالة بحث بردو بتجيب رقم الصف


MATCH(B4,$B$12:$B$16,0)

دا البارامتر الثاني وهنا بتتم عملية البحث عن قيمة البحث الموجودة في الخلية B4

وبيتم البحث عن قيمة الخلية B4 في النطاق


$B$12:$B$16

ودا بردو مصفوفة النطاق ..يعني لو حددنا السطر ده وضغطنا F9 من لوحة المفاتيح هتلاقي الناتج بهذا الشكل


{"معلم";"خبير";"مساعد";"مدرس";"اخصائى"}

فاللي بيحصل إنه بيبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة دي .. القيمة الموجودة كلمة "معلم" ودي أول كلمة في المصفوفة يعني رقم 1

إذاً رقم الصف هو واحد (وأؤكد ليس المقصود رقم الصف في ورقة العمل .. المقصود رقم نتيجة البحث داخل المصفوفة )

طيب رقم 0 دا ايه فايدته ... فايدته إننا بنقول لعملية البحث إنها تكون متطابقة تماماً .. تطابق عملية البحث للقيمة المراد البحث عنها

 

>> إحنا دلوقتي عندنا نطاقين أو مصفوفتين للقيم (الأولى المراد استخراج النتيجة منها) و (الثانية المراد البحث بداخلها) :rol:

الإكسيل بيقوم الأول بالبحث قبل ما يظهر النتيجة (دي الخطوات المنطقية للعمل) .. بيقوم بالبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة الخاصة بيها .. طلع الناتج 1 لأنها أول نتائج البحث

 

خلاص وصل الإكسيل لرقم ناتج البحث داخل المصفوفة ..ياخد الرقم دي ويشوف النتيجة رقم1 الموجودة في المصفوفة الأول ..هيلاقي إن رقم 1 في المصفوفة الأولى هو رقم 12

 

** البارامتر الثالث اختياري ودا هنا ملوش استخدام لأن المصفوفة مكونة من بعد واحد

فممكن نكتب رقم 1 أو نتركه من غيره ما نكتبه لأن رقم 1 هو الافتراضي


=INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0),1)

>>>>> عشان نفهم أبعاد المصفوفة ذات البعدين

-------------------------------------------------

ضع المعادلة التالية في أي خلية


=INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0))

المصفوفة الأولى هي


$B$12:$C$16

نخلي بالنا هنا المصفوفة بتاخد القيم من عمودين ..يبقا المصفوفة ثنائية الأبعاد

نحدد الجزء اللي فات ونضغط F9 من لوحة المفاتيح هنلاقي النتائج بهذا الشكل


{"معلم",12;"خبير",15;"مساعد",18;"مدرس",21;"اخصائى",24}

لو ركزنا هنعرف شكل المصفوفة .. بتاخد قيم الصف من العمودين مع بعض يعني مثلاً : معلم و 12 في صف واحد وداخل المصفوفة مع بعض بيفصل بينهم فاصلة عادية

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

 

بمعنى آخر :

**********

معلم 12 أول صف في المصفوفة

خبير 15 ثاني صف في المصفوفة

مساعد 18 تالت صف في المصفوفة وهكذا .. (بيفصل بين الصفوف فاصلة منقوطة)

 

داخل الصف الواحد عمودين لأن المصفوفة من بعدين : عمود 1وعمود 2 (بيفصل بين الأعمدة داخل المصفوفة فاصلة عادية)

 

ناخد مثال بسيط عشان نفهم العملية إزاي بتتم : لو عايزين رقم الصف 4 والعمود 1

هنشوف المصفوفة ..

رقم البصف 4 هنلاقي مدرس 14 ، ورقم العمود المطلوب هو العمود 1 إذاً الناتج كلمة مدرس

 

يا ريت تكون النقطة دي وضحت

**************************************************************************

 

نجرب المعادلة دي ونشوف اللي فهمناه


=INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0),1)

ع السريع هيتم البحث داخل المصفوفة ذات البعدين (طالما إنها ذات بعدين إذاً سيتم الاستعانة بالبارامتر الثاني والثالث للدالة Index) عشان نعرف رقم الصف المطلوب ورقم العمود المطلوب

هنا رقم الصف هنجيبه من خلال الدالة Match هنلاقي رقم الصف هو 1

وأخيراً البارامتر التالت ودا كتبناه 1 يعني العمود الأول

إذاً الناتج النهائي هو كلمة "معلم"

 

لو غيرنا رقم العمود من 1 إلى 2 هيتغير الناتج إلى 12

 

لو غيرنا رقم العمود إلى 3 هيديني خطأ لأن المصفوفة ذات بعدين مش 3 .. الخطأ #REF!

 

أرجو أن أكون وفقت في توصيل المعلومة :fff: :fff: :fff:

ماشاء الله شرح جميل و رائع

ان امكن توضيح دمج دالة IF الشرطيه مع الدالة Index والدالة match اللي ذكرتها.

وسلمت يمناك على الشرح الوافي وبارك الله فيك وفي من تحب.

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information