اذهب إلى المحتوى

لوحة المتصدرين

  1. Huda Almashta

    Huda Almashta

    الأعضاء


    • نقاط

      2

    • المساهمات

      411


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 02/24/21 in مقالات البرامج والتطبيقات

  1. دالتا VLOOKUP و HLOOKUP هي إحدى دوال البحث والإشارة Lookup and Reference وهي تُستخدم للبحث عن قيمة محددة في صف أو عمود، ومن ثم إرجاع قيمة معيّنة في الموضع نفسه من الصف أو العمود الثاني. سنتعرّف في هذا الدرس على هاتين الدالتين وكيفية استخدامهما. VLOOKUP اسم هذه الدالة هو اختصار لـ "Vertical Lookup" (البحث العمودي) وهي تُستخدم للبحث في عمود محدد عن قيمة محددة حسب الصفوف، وعند العثور على تلك القيمة تقوم بإرجاع ما يقابلها في العمود الثاني (الذي نقوم بتحديده في الصيغة أيضًا). يمكنك تشبيه عمل هذه الدالة بدليل الهاتف، حيث تقوم بالبحث عن رقم شخص محدد بالبحث عن اسمه أولا في عمود الأسماء، وعندما تجد الاسم المطلوب تعثر على الرقم الذي يقابله في العمود الثاني (عمود الأرقام). البناء العام لصيغة الدالة VLOOKUP (lookup_value; table_array; col_index_num; [range_lookup]) lookup_value: القيمة التي تريد البحث عنها. يجب أن تكون هذه القيمة موجودة في العمود الأول لنطاق الخلايا الذي نحدده في table_array. هذا المُعطى argument وجوده ضروري في الصيغة. table_array: ويمثل نطاق الخلايا الذي يحتوي البيانات التي تبحث فيها الدالة. وهذا المعطى وجوده ضروري أيضًا. col_index_num: رقم العمود في نطاق الخلايا table_array الذي يحتوي على القيمة التي سيتم إرجاعها. وجوده مطلوب في الدالة. range_lookup: هذا المعطى هو عبارة عن قيمة منطقية logical تحدد من خلالها فيما إذا كنت تريد من دالة VLOOKUP البحث عن تطابق تام (بإدخال القيمة FALSE) أو تطابق تقريبي (بإدخال القيمة TRUE) مع قيمة lookup_value، ووجوده اختياري في الصيغة. ملاحظة: عند استخدام القيمة المنطقية TRUE يجب أن يكون العمود الأول في نطاق الخلايا table_array مرتبا تصاعديا لكي يتم إرجاع قيمة صحيحة. هل ترغب في الحصول على مستندات إكسل احترافية؟ وظّف محلل بيانات خبير لتحرير مستنداتك وتنسيقها من مستقل أضف مشروعك الآن مثال 1 الجدول أدناه يحتوي على بيانات الموظفين لشركة ما. عدد صفوف الجدول هو 100 صف تقريبا. في مثل هذه الجداول الكبيرة (وما يفوقها) قد يكون من المضيعة للوقت البحث في كل صف من صفوف الجدول إذا رغبنا في العثور على معلومة معينة. وسيكون الأمر أسهل وأسرع بكثير باستخدام دالة VLOOKUP. المطلوب هنا هو العثور على قسم ومقدار راتب الموظف صاحب البطاقة رقم 100، والموظف صاحب البطاقة رقم 65. نضع المؤشر في الخلية التي نريد إرجاع القيمة الأولى فيها، وهي الخلية H2 في هذا المثال، ثم نذهب إلى تبويب: صيغ Formulas > بحث وإشارة Lookup & Reference > VLOOKUP في مربع الحوار Function Arguments نقوم بتحديد معطيات الدالة: في الحقل الأول، lookup_value، نحدد القيمة التي نريد البحث عنها، وهي رقم البطاقة "100" في هذا المثال، لذلك سنحدد الخلية G2 التي تحتوي هذه القيمة. في الحقل الثاني، table_array، نحدد نطاق الخلايا الذي يحتوي بياناتنا. في هذا المثال سنحدد الجدول بأكمله (A1:D100). في الحقل الثالث، col_index_num، ندخل رقم العمود الذي يحتوي على القيمة التي سيتم إرجاعها، وبما إننا نريد العثور على "قسم" الموظف، فسنقوم بإدخال الرقم "3"، وهو تسلسل عمود "القسم" في الجدول من اليمين إلى اليسار (أي أنّ تسلسل عمود "رقم بطاقة الموظف هو"1"، عمود "تاريخ التوظيف" هو "2"، وهكذا). إذا كان اتجاه الورقة من اليسار إلى اليمين نقوم بحساب رقم العمود من اليسار إلى اليمين. في الحقل الرابع، range_lookup، نقوم بإدخال الرقم صفر (والذي يعني القيمة المنطقية FALSE) لأننا نبحث عن تطابق تام مع الرقم "100"، وليس تطابق تقريبي، بسبب وجود أرقام قريبة من رقم "100" في عمود "رقم بطاقة الموظف". ننقر على OK، وسيتم العثور على قسم صاحب البطاقة رقم 100 فورا، وهو قسم "الخدمات": تفسير عمل الصيغة تقوم الصيغة أولا بالبحث في صفوف عمود "رقم بطاقة الموظف" واحدا تلو الآخر، وعندما تعثر على الرقم "100" تقوم بإيجاد القيمة التي تقابلها في عمود "القسم" ثم ترجع هذه القيمة في الخلية H2. نكرر نفس الخطوات للعثور على مقدار راتب الموظف صاحب البطاقة رقم "100"، وستكون المعطيات كما موضّح في الصورة التالية: قمنا بإدخال الرقم "4" في الحقل الثالث لأنّ تسلسل عمود "الراتب" في الجدول هو الرابع. وكما في الخطوة السابقة، يتم إيجاد النتيجة في الخلية G2: الخطوات نفسها تنطبق على رقم البطاقة "65". مثال 2 الجدول أدناه يحتوي على درجات اختبارين لمجموعة من الطلاب، مع متوسط الدرجات. المطلوب هو إيجاد تقدير كل طالب باستخدام دالة VLOOKUP: بالتأكيد يمكننا إدخال التقديرات يدويا لكل طالب اعتمادًا على قيمة المتوسط، لكن كما ذكرنا، تسّهل دالة VLOOKUP العمل وتختصر الكثير من الوقت. ملاحظة: قمنا بترتيب القيم في عمود "الدرجة" (وهو العمود الأول من نطاق الخلايا table_array) تصاعديا لأننا سنستخدم القيمة المنطقية TRUE في حقل range_lookup. نحدد الخلية التي نريد إرجاع النتيجة فيها، وهي الخلية E2 في هذا المثال، ثم نذهب إلى تبويب: صيغ Formulas > بحث وإشارة Lookup & Reference < VLOOKUP في الحقل الأول نحدد القيمة التي نريد البحث عن التقدير الذي يقابلها، وهي قيمة المتوسط للطالب الأول، 82، في هذا المثال (أي الخلية D2). في الحقل الثاني نحدد نطاق الخلايا الذي سيتم البحث عن التقدير المناسب فيه، وهو النطاق H1:I7. في الحقل الثالث نحدد رقم العمود الذي يحتوي على القيمة التي سيتم إرجاعها. وبما أنّ تسلسل عمود "التقدير" هو الثاني في نطاق الخلايا، سندخل الرقم "2". في الحقل الرابع ندخل الرقم 1 (والذي يعني القيمة المنطقية TRUE) أو نتركه فارغًا، وفي الحالتين سيتم إرجاع نفس النتيجة. السبب في أنّنا اخترنا القيمة TRUE هو أننا نبحث عن تطابق تقريبي مع القيم في عمود "الدرجة" وليس تطابق تام. ننقر على OK وسيتم إرجاع التقدير الذي يقابل قيم المتوسط: تفسير عمل الصيغة ستقوم الصيغة بالبحث عن القيمة "82" أو أقرب أقل قيمة إليها، وعند إيجادها، تقوم بإيجاد ما يقابلها في عمود "التقدير"، ومن ثم إرجاع النتيجة في الخلية E2. نستخدم التعبئة التلقائية لنسخ الصيغة إلى بقية خلايا عمود "التقدير": بعد نسخ الصيغة، نلاحظ حدوث خطأ في إيجاد القيم للخلايا من E7 إلى E23، والسبب هو أنّ البرنامج استخدم نطاق الخلايا H1:I7 كمرجع نسبي relative reference. لذلك سنعيد إدراج الصيغة ونستخدم نطاق الخلايا المذكور كمرجع مطلق absolute reference بوضع مؤشر الكتابة فوق اسم الخلية والنقر على مفتاح F4 (أو بكتابة علامة الدولار قبل وبعد حرف العمود يدويا من لوحة المفاتيح) هذه المرة سيتم إيجاد قيم صحيحة في عمود "التقدير" بأكمله عند استخدام التعبئة التلقائية: أو بدلا من استخدام نطاق الخلايا (H1:I7) كمرجع مطلق وتحديده يدويا كلما أردنا استخدام الدالة، نقوم بتسميته باسم مخصص. وبذلك نستطيع استخدام اسم النطاق في الصيغة. نحدد نطاق الخلايا، ندخل الاسم المرغوب في حقل الاسم (قمنا بتسميته بـ "التقدير")، ثم نضغط Enter: في المرة المقبلة، عندما نقوم بإدراج دالة VLOOKUP (أو أيّة دالة أخرى يُستخدم فيها ذلك النطاق)، نقوم بإدخال اسمه بدلًا من تحديده على الورقة: هذه الطريقة هي أفضل وأكثر كفاءة، وتجعلنا نتلافى الأخطاء التي قد تحدث عند استخدام نوع المرجع غير المناسب. أدخل بياناتك وعالجها بصور وأساليب متعددة بالإكسل استعن بأفضل مقدمي خدمات الإكسل على خمسات اطلب خدمتك الآن HLOOKUP تعمل دالة HLOOKUP (اختصارا لـ Horizontal Lookup) بالضبط كما تعمل دالة VLOOKUP فيما عدا أنّها تقوم بالبحث عن القيم أفقيا وليس عموديا (أي تبحث عن قيمة محددة في صف محدد حسب أعمدة ذلك الصف). البناء العام لصيغة الدالة HLOOKUP(lookup_value; table_array; row_index_num; [range_lookup]) lookup_value: هي القيمة التي تريد البحث عنها. يجب أن تكون هذه القيمة موجودة في الصف الأول لنطاق الخلايا الذي سنحدده في حقل table_array. وهذا المعطى مطلوب في الصيغة. table_array: وهو نطاق الخلايا الذي يحتوي البيانات التي تبحث فيها الدالة. وهذا المعطى مطلوب في الصيغة أيضًا. row_index_num: رقم الصف في نطاق الخلايا table_array الذي يحتوي على القيمة التي سيتم إرجاعها. وجوده مطلوب في الصيغة. range_lookup: هذا المعطى هو عبارة عن قيمة منطقية logical تحدد فيما إذا كنت تريد من دالة HLOOKUP البحث عن تطابق تام (بإدخال القيمة FALSE) أو تطابق تقريبي (بإدخال القيمة TRUE) مع قيمة lookup_value، ووجوده اختياري في الصيغة. ملاحظة: عند استخدام القيمة المنطقية TRUE يجب أن يكون الصف الأول في نطاق الخلايا table_array مرتبا تصاعديا لكي يتم إرجاع قيمة صحيحة. مثال الجدول التالي يحتوي على تواريخ بدء وانتهاء مجموعة من المشاريع. المطلوب هو إيجاد تاريخ انتهاء المشروع رقم 5. بالطبع يمكننا العثور عليه بسهولة في مثل هذا الجدول الصغير، لكن سيصبح الأمر أكثر صعوبة في الجداول الكبير. على كل حال، سنستخدم دالة HLOOKUP للعثور على القيمة المطلوبة. أولا، نحدد الخلية التي نريد إرجاع النتيجة فيها، وهي الخلية B9 في هذا المثال، ثم نذهب إلى تبويب: صيغ Formulas > بحث وإشارة Lookup & Reference < HLOOKUP في مربع الحوار Function Arguments نقوم بتحديد المعطيات: في الحقل الأول، lookup_value، نحدد القيم التي نريد البحث عنها، وهو رقم المشروع "5" في هذا المثال. لذلك سنحدد الخلية B8 التي قمنا بإدخال هذا الرقم فيها مسبقا. في الحقل الثاني، table_array، نحدد نطاق الخلايا الذي سيتم البحث فيه، وهو A1:I13 في هذا المثال. في الحقل الثالث، row_index_num نقوم بإدخال رقم تسلسل الصف الذي يحتوي على النتيجة التي سيتم إرجاعها. وفي هذا المثال هو صف "تاريخ الانتهاء"، تسلسله الثالث (3). في الحقل الرابع، lookup_range نقوم بإدخال الرقم صفر (أي القيمة المنطقية FALSE) لأننا نريد البحث عن قيمة مطابقة تماما للقيمة في حقل lookup_value: ننقر على OK وسيتم إرجاع تاريخ الانتهاء للمشروع رقم 5: تفسير عمل الصيغة ستقوم الصيغة بالبحث في صف "المشروع" عن الرقم 5، وعند العثور عليه ستقوم بإيجاد القيمة المقابلة لهذا الرقم في الصف المحدد في حقل row_index_num، وهو الصف الثالث في مثالنا، ومن ثم إرجاع النتيجة في الخلية B9. يجب أن تأخذ في الاعتبار أنّه إذا كانت قيمة lookup_range تساوي TRUE، ولم تتمكن الدالة من العثور على قيمة lookup_value فستقوم بإرجاع أقرب أقل قيمة من قيمة lookup_value. مثال 2 إذا كنا نريد معرفة تاريخ البداية للمشروع رقم "9" (والذي هو في الحقيقة غير موجود في الجدول) ستكون الصيغة كالتالي: وستكون النتيجة كالتالي: تفسير عمل الصيغة قامت الصيغة بالبحث عن الرقم "9" في صف "المشروع"، وقد تعذّر عليها إيجاده، لذلك قامت بإرجاع "تاريخ البدء" للمشروع رقم "8" وهو أقرب أقل قيمة من الرقم "9". وهذا بسبب أننا قمنا بإدخال القيمة المنطقية TRUE (أي البحث عن تطابق تقريبي). أما إذا قمنا بتحديد القيمة المنطقية FALSE، فستكون النتيجة خطأ #N/A، لأنّ الدالة في هذه الحالة ستبحث عن تطابق تام:
    1 نقطة
  2. في هذا الدرس سنستعرض بعض دوال النصوص المضمّنة في مكتبة دوال اكسل ونوضّح من خلال الأمثلة كيفية استخدامها لتطبيق إجراءات مختلفة على القيم النصيّة مثل، البحث عن النصوص واستبدالها، تنسيق حالة الأحرف للنصوص الإنجليزية، وغيرها. TRIM تعمل هذه الدالة على إزالة المسافات الزائدة بين الكلمات، أو في بداية ونهاية السلسلة النصية. والصيغة العامة لها هي: =TRIM(text) text: النص الذي نريد إزالة المسافات الزائدة منه. مثال: تحتوي الخلية B4 الموضّحة أدناه على مسافات غير منتظمة بين الكلمات، ولحذف المسافات غير المرغوبة نكتب الصيغة التالية في خلية النتيجة: بإمكاننا تحديد الخلية التي تحتوي على النص مباشرة، أو لصق النص يدويًا بين علامتي اقتباس (" "). نضغط على ENTER لإظهار النتيجة: كما نلاحظ في خلية النتيجة، تمت إزالة كل المسافات الزائدة باستثناء المسافات الفردية بين الكلمات. يمكننا استخدام هذه الدالة عند استيراد النصوص إلى اكسل ويكون تباعد الكلمات فيها غير منتظم. إذ ستكون عملية إزالة المسافات الزائدة أسهل وأسرع بكثير من القيام بها يدويًا. PROPER تعمل هذه الدالة على تحويل الحرف الأول من كل كلمة في السلسة النصية إلى حرف كبير وتبقي بقية الحروف صغيرة. ويمكننا الاستفادة منها عند استيراد نصوص معيّنة إلى اكسل وكانت حالة الأحرف للكلمات غير مرتّبة، إذ ستجعل هذه الدالة عملية تنسيق حالة الأحرف أسرع وأسهل بكثير من القيام بها يدويًا. الصيغة العامة لهذه الدالة: =PROPER(text) text: النص الذي نريد تطبيق الدالة عليه. مثال: تحتوي الخلية B5 الموضحة أدناه على نص باللغة الإنجليزية، وحالة الأحرف للكلمات غير منتظمة، لتعديل النص وجعل كل كلمة تبدأ بحرف كبير وبقية الحروف صغيرة، نكتب الصيغة التالية في خلية النتيجة: يمكننا تحديد الخلية التي تحتوي على النص، أو لصق النص غير المرتب بين علامتي اقتباس في الصيغة. نضغط على مفتاح ENTER لإظهار النتيجة: من خصائص دالة PROPER هو أنّه حتّى إذا كانت بداية الكلمة أرقام أو رموز (مثل 09test)، فأنّها تتجاوز الأرقام وتحوّل الحرف الأول إلى حرف كبير (أي تصبح الكلمة المذكورة 09Test). FIND تُستخدم هذه الدالة لتحديد موقع كلمة/عبارة معيّنة ضمن سلسلة نصيّة. فتقوم بإرجاع ترتيب الحرف الأول للكلمة التي نبحث عنها نسبة إلى عدد حروف السلسلة. وتكون هذه الدالة حساسة لتشكيل الكلمة في اللغة العربية ولحالة الأحرف (كبيرة أو صغيرة) في اللغة الإنجليزية. الصيغة العامة للدالة: =FIND(find_text; within_text; [start_num]) find_text: النص الذي نبحث عنه، وهو مطلوب في الصيغة. within_text: النص الذي نريد البحث فيه، وهو أيضًا مطلوب في الصيغة. start_num: مرتبة الحرف الذي نريد بدء البحث منه، ووجوده اختياري في الصيغة (معطيات الصيغة التي توضع بين قوسين مربعين [ ] تكون اختيارية). مثال: لمعرفة موقع كلمة "Functions" في نص الخلية G3 نكتب الصيغة التالية: نراعي وضع الكلمة التي نريد البحث عنها بين علامتي اقتباس في الصيغة ونتأكّد من مطابقة حالة الأحرف، ثم نضغط على مفتاح ENTER لإظهار النتيجة: تم إرجاع النتيجة "6" وهو بالفعل تسلسل أول حرف في كلمة "Functions". فكلمة "Text" تحتل 4 مراتب، والمسافة بين "Functions" و"Text" تأخذ مرتبة واحد ليصبح المجموع 5، وحرف "F" هو السادس. في هذا المثال لم نحدد قيمة start_num، وفي هذه الحالة سيتم افتراض هذه القيمة 1، أي يبدأ البحث من أول حرف في النص. لنغيّر الصيغة ونحدد قيمة المتغيّر start_num 17 مثلا: بالنتيجة تم إرجاع الخطأ #VALUE! لأنّه لم يتم العثور على كلمة "Functions" بعد المرتبة 17. فكلمتي "Text" و"Functions" مع المسافة بينهما تحتل 14 مرتبة، بمعنى أنّ كلمة "Functions" تقع قبل المرتبة 17: لنغيّر الصيغة ونبحث عن موقع كلمة "حسوب" في الخلية G2، وكالتالي: عند الضغط على مفتاح ENTER تم إرجاع الخطأ #VALUE! وذلك لأننا قمنا بإضافة ضمّة فوق حرف السين عند كتابة الصيغة، وكما أسلفنا الذكر، تكون دالة FIND حسّاسة لتشكيل الحروف في اللغة العربية. SEARCH تماثل دالة FIND من حيث الوظيفة، لكنّها غير حسّاسة لتشكل الحروف في اللغة العربية وحالتها في اللغة الإنجليزية. الصيغة العامة للدالة: =FIND(find_text; within_text; [start_num]) find_text: النص الذي نبحث عنه، وهو مطلوب في الصيغة. within_text: النص الذي نريد البحث فيه، وهو أيضًا مطلوب في الصيغة. start_num: ترتيب الحرف الذي نريد بدء البحث منه، ووجوده اختياري في الصيغة. مثال: سنطبّق هذه الدالة لتحديد موقع الكلمة "Functions" كما في المثال السابق: سنلاحظ أنّه سيتم إرجاع نفس النتيجة، "6"، بالرغم من أننا كتبنا بداية كلمة "functions" بحرف صغير: REPLACE تستخدم هذه الدالة لاستبدال نص معيّن في سلسلة نصيّة بنص آخر حسب عدد الحروف الذي نحدّده. ووظيفتها مشابهة لوظيفة أداة استبدال النصوص Replace. الصيغة العامة للدالة: =REPLACE( old_text; start_num; num_chars; new_text ) old_text: السلسلة النصية التي نريد استبدال جزء منها. start_num: مرتبة الحرف الأول للنص الذي نريد استبداله. num_chars: عدد حروف النص القديم الذي نريد استبداله. new_text: النص الجديد الذي نريد الاستبدال به. ملاحظة: كل المتغيرات أعلاه مطلوبة في الصيغة. مثال: لاستبدال كلمة "النصوص" في الخلية G2 بالكلمة "نصية"، نكتب الصيغة كالتالي: قمنا بإدخال الخلية G2 في الصيغة لأنّها تحتوي على النص الأصلي الذي نريد استبدال جزء منه، يليه الرقم "6" لأنّ مرتبة أول حرف من كلمة "النصوص هي السادسة (كلمة "دوال" مع المسافة بعدها تحتل 5 مراتب، وكلمة "النصوص" تبدأ عند المرتبة 6)، يليه الرقم "6" لأنّ كلمة "النصوص" تتكوّن من ستّة حروف، وأخيرًا كلمة "نصيّة" التي نريد الاستبدال بها بين علامتي اقتباس. والنتيجة: UPPER تقوم هذه الدالة بجعل كل أحرف السلسلة النصيّة كبيرة. والصيغة العامة لها هي: =UPPER(text) text: النص الذي نريد تطبيق الدالة عليه. مثال: لتحويل كل النصوص في الخلية B5 إلى أحرف كبيرة نكتب الصيغة التالية: والنتيجة: LOWER عملها معاكس للدالة السابقة، إذ تجعل كل أحرف السلسلة النصية صغيرة. الصيغة العامة لهذه الدالة هي: =LOWER(text) مثال: لتحويل نفس النص في الخلية B5 إلى أحرف صغيرة نكتب الصيغة التالية: والنتيجة: خاتمة لقد تعلّمنا كيفية إزالة المسافات الزائدة بين النصوص، كيفية البحث عن نصوص معيّنة واستبدالها، وكيفية تغيير حالة الأحرف باستخدام بعض الدوال النصيّة. في الدرس القادم سنغطّي المزيد من هذه الدوال ونتعلّم كيفية تجميع النص وكيفية استخلاص جزء منه.
    1 نقطة
×
×
  • أضف...