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

البحث في الموقع

المحتوى عن 'جداول'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 24 نتائج

  1. يُستخدم التنسيق الشرطي لتحليل البيانات بشكل مرئي. وهو عبارة عن إشارات بألوان أو أيقونات معينة تساعدك على فهم ما تعنيه بياناتك في لمحة. يمكنك تطبيق التنسيق الشريطي على أي نوع من البيانات سواء كانت نصية أو رقمية، وتختلف خيارات التنسيق حسب نوع البيانات. المثال التالي عبارة عن جدول يُبيّن نسبة إنجاز عدد من المشاريع، ونرغب في تنسيق عمود "نسبة الإنجاز" لتحليل البيانات داخله بشكل مرئي: سنقوم أولا بتحديد نطاق الخلايا في عمود "نسبة الإنجاز"، ثم ننقر على زر التحليل السريع: من تبويب تنسيق Formatting الخاص بزر التحليل السريع يمكنك اختيار أي نوع من التنسيقات المتاحة لتمثيل البيانات، كأشرطة البيانات Data Bars، تدرج الألوان Color Scale، أكبر من Greater Than، إلخ. سنقوم بتنسيق الخلايا بأشرطة البيانات: وسيتم تمثيل نسب الإنجاز بأشرطة تختلف أطوالها حسب النسبة. يمكن أيضا أن نطبق أكثر من تنسيق على نفس نطاق الخلايا، سنختار مجموعة الرموز بالإضافة إلى أشرطة البيانات: تمثل الأسهم الحمراء الثلث الأدنى لقيم البيانات (0-39% في هذا المثال)، الأسهم الصفراء الثلث الوسطي لقيم البيانات (40-69%) والأسهم الخضراء الثلث الأعلى لقيم البيانات (70-100%). المثال أدناه مجموعة من البيانات النصية، ونرغب بتطبيق تنسيق شرطي لمعرفة المنتجات النافدة. وبما أنّها بيانات نصية فإنّ خيارات التنسيق تختلف عن خيارات البيانات الرقمية: سنختار الشرط Equal To لتنسيق الخلايا التي تحتوي على النص "نافد"، وسنختار اللون الأصفر لتمييزها: من خصائص التنسيق الشرطي أنّ التنسيق يتغير عند تغيير محتويات الخلايا. فإذا قمنا بتغيير إحدى الخلايا التي تحتوي على القيمة "متوفر" إلى "نافد" سيتغير لونها إلى الأصفر تلقائيا. التنسيق الشرطي للتواريخلنفترض أنه لديك مجموعة من المهام وتواريخ انتهائها، وترغب في معرفة المهام المتأخرة، أو المهام التي تنتهي في وقت محدد أو وقت قريب. يمكنك استخدام التنسيق الشرطي لتمييز الخلايا التي تحقق شروط معينة. في المثال أدناه سنقوم بتنسيق الخلايا المتأخرة والتي تجاوزت الميعاد النهائي. سنقوم بتحديد الخلايا أولا، ونختار الشرط Less Than من زر التحليل السريع: لن نقوم بكتابة تاريخ محدد في مربع الحوار، لأننا سنضطر إلى تحديث التنسيق بين فترة وأخرى. سنستخدم بدلا من ذلك دالة TODAY بالصيغة التالية: ()TODAY= والنتيجة ستكون تمييز تواريخ المهام التي تجاوزت الميعاد النهائي لها، والتي من المفترض إنجازها قبل تاريخ اليوم. ولمعرفة المهام التي تأتي مواعيدها النهائية بعد أسبوع من تاريخ اليوم سنستخدم شرط Greater Than: كما سنستخدم دالة اليوم بالصيغة التالية: TODAY()+7= ونختار اللون الأخضر لتنسيق الخلايا: وبذلك سيتم تنسيق الخلايا التي تُحقّق الشرط، أي المواعيد النهائية التي تأتي بعد أسبوع من تاريخ اليوم. ولتنسيق المواعيد النهائية للمهام خلال هذا الأسبوع يجب أن نستخدم الشرط Between. لكن هذا الشرط ليس موجودا ضمن خيارات زر التحليل السريع. لذلك سنستخدم أمر التنسيق الشرطي Conditional Formatting. سنقوم أولا بتحديد نطاق الخلايا، ومن تبويب الصفحة الرئيسية Home سننقر فوق أمر التنسيق الشرطي، ونختار الشرط Between من قائمة Highlight Cells Rules: في مربع الحوار سندخل الصيغة ()TODAY= في الحقل الأول، والصيغة TODAY()+7= في الحقل الثاني، وسنختار اللون الأصفر لتنسيق الخلايا: والنتيجة ستكون تنسيق المواعيد النهائية للمهام بتواريخ بين تاريخ اليوم وتاريخ بعد 7 أيام من تاريخ اليوم. التنسيق الشرطي للنصوصلاحظنا أنه من خلال زر التحليل السريع يمكننا تطبيق عدد من الشروط لتنسيق الخلايا، كتنسيق النصوص المتكررة Duplicate، النصوص الفريدة Unique، أو النصوص التي تساوي قيمة محددة ندخلها Equal To. يمكننا أيضا أن نطبق التنسيق الشرطي على صف كامل على أساس نص موجود في إحدى خلايا الصف. في المثال التالي سنقوم بتنسيق الصفوف بلون أزرق إذا كانت القيمة المقترنة بذلك الصف في عمود "الحالة" تساوي "نافد". ولفعل ذلك سنقوم بتحديد جميع خلايا الجدول وليس عمود "الحالة" فقط، لاحظ أنّ الخلية النشطة هي A3، سنحتاج إليها لاحقا في كتابة الصيغة: ومن تبويب الصفحة الرئيسية Home سننقر أمر التنسيق الشرطي Conditional Formatting ونختار New Rule: في مربع الحوار New Formatting Rule سنحدد الخيار Use a formula to determine which cells to format لاستخدام صيغة محددة لتنسيق الصفوف: في حقل الصيغة سنكتب الصيغة التالية: =$C3="نافد" لقد استخدمنا علامة الدولار قبل العمود C لجعله مرجعًا مطلقًا absolute reference، أي يتم الرجوع إلى القيم في العمود C للصف أثناء تطبيق التنسيق الشرطي على ذلك الصف. واستخدمنا الصف رقم 3، لأنّ جدول البيانات يبدأ من الصف الثالث. والدليل هو أنّ أول خلية في الجدول هي A3. أما علامة الاقتباس مع القيمة "نافد" فقد استخدمناها لإرشاد البرنامج إلى معاملتها معاملة النصوص. الخطوة التالية هي اختيار لون التنسيق، سننقر تنسيق Format من نفس مربع الخيار ونختار اللون من تبويب تعبئة Fill: والنتيجة ستكون تمييز الصفوف التي تحتوي على القيمة "نافد" باللون الأزرق. نسخ التنسيق الشرطي وإزالتهفي المثال التالي قمنا بتنسيق الخلية B3 باللون الأحمر بشرط أن تكون قيمة الخلية أقل من 50% (Less Than). ولنسخ التنسيق وتطبيقه على بقية خلايا العمود سنحدد الخلية B3 وننقر فوق أمر ناسخ التنسيق Format Painter من تبويب الصفحة الرئيسية Home: بعدها سنقوم بتحديد نطاق الخلايا لتطبيق نفس التنسيق الشرطي عليها: ولإزالة التنسيق الشرطي من مجموعة الخلايا سنقوم بتحديدها النقر فوق Clear من زر التحليل السريع: أما إزالة التنسيق الشرطي من جميع الخلايا في ورقة العمل فتتم بالنقر على أمر تنسيق شرطي Conditional Formatting، والتأشير فوق Clear Rules ثم اختيار Clear Rules from Entire Sheet:
  2. سنشرح اليوم أداة من الأدوات المفيدة التي يوفرها مايكروسوفت اكسل؛ والمُتعلّقة بتجميد/تثبيت الأجزاء عند العمل على جداول بيانات كبيرة لتسهيل رؤية أجزاء مختلفة من المصنف في نفس الوقت. يقصد بـ "تجميد الأجزاء" تثبيت جزء معين من ورقة العمل وإبقائه مرئيًا حتى بعد التمرير بأشرطة التمرير الجانبية أو السفلية. وهذا الخاصية مفيدة في أوراق العمل التي تحتوي على جداول بيانات كبيرة. يمكنك مثلا تجميد صف أو عمود العناوين لجدول معين والاحتفاظ بها ثابتة عند التمرير: لتجميد صف (كصف العناوين مثلا)، اذهب إلى تبويب عرض View، واختر تجميد الصف العلوي Freeze Top Row من زر تجميد الأجزاء Freeze Panes: ولتجميد عمود (كعمود العناوين مثلا)، اذهب إلى تبويب عرض، واختر تجميد العمود الأول Freeze First Column من زر تجميد الأجزاء Freeze Panes: لاحظ أنّك عندما تقوم بتجميد العمود الأول يتم إلغاء تجميد الصف العلوي تلقائيا. مع ذلك يمكنك تجميد الصفوف والأعمدة معا في نفس الوقت. لإلغاء تجميد الصف/العمود اختر إلغاء تجميد الأجزاء Unfreeze Panes من زر تجميد الأجزاء Freeze Panes: خيارات التجميديمكنك تجميد الصفوف والأعمدة معا وتجميد عدد من الصفوف وعدد من الأعمدة، وليس صف أو عمود واحد فحسب. لتجميد الصف والعمود في نفس الوقت، حدد الخلية التي تقع أسفل الصف الذي تريد تجميده مباشرة، وبجانب العمود الذي تريد تجميده مباشرة ثم اختر تجميد الأجزاء Freeze Panes من زر تجميد الأجزاء Freeze Panes. في هذا المثال سنحدد الخلية B2، لأنها الخلية التي تجاور الصف 1 مباشرة وتجاور العمود A مباشرة: وبهذه الطريقة سيتم تثبيت كل من الصف والعمود عند التمرير إلى الأسفل أو إلى الجانب. إذا كنت ترغب بتجميد عدد من الصفوف، وعدد من الأعمدة بشرط أن تكون متجاورة، حدد الخلية التي تقع تحت مجموعة الصفوف مباشرة وبجانب مجموعة الأعمدة مباشرة، ثم اختر تجميد الأجزاء Freeze Panes من زر تجميد الأجزاء Freeze Panes. في هذا المثال سنقوم بتجميد الصفين 1 و2، والعمودين A وB، ولذلك سنحدد الخلية C3: ولتجميد عدد من الصفوف دون تجميد الأعمدة حدد أول خلية في العمود A تحت مجموعة الصفوف مباشرة، (وهي الخلية A3 في هذا المثال) ثم اختر تجميد الأجزاء Freeze Panes من زر تجميد الأجزاء: استخدم نفس الطريقة إذا كنت ترغب بتجميد مجموعة من الأعمدة دون تجميد الصفوف. حدد خلية في الصف 1 والتي تجاور مجموعة الأعمدة مباشرة (وهي الخلية D1 في هذا المثال لأننا سنقوم بتجميد الأعمدة الثلاثة الأولى) ثم اختر تجميد الأجزاء Freeze Panes من زر تجميد الأجزاء: وبذلك سيتم تجميد جميع الأعمدة إلى يسار العمود C دون تجميد الصفوف، لأنه لا يوجد صف فوق الصف الأول. يجب أن تأخذ في الاعتبار أنّ زر تجميد الأجزاء يصبح غير مفعلا أثناء تحرير الخلايا، أو عند استخدام طريقة العرض تخطيط الصفحة Page Layout. وكذلك، يمكنك طباعة صفوف أو أعمدة بشكل متكرر في جميع الصفحات وبطريقة مشابهة لطريقة تجميد الأجزاء. على سبيل المثال؛ إذا كنت ترغب بتكرار الصفين العلويين لورقة العمل في جميع الصفحات عند طباعتها، اذهب إلى تبويب تخطيط الصفحة Page Layout وانقر طباعة العناوين Print Titles. في مربع الحوار إعداد الصفحة Page Setup ضع المؤشر في حقل Rows to repeat at top، ومن ورقة العمل حدد الصفوف التي تريد تكرارها، ثم انقر معاينة الطباعة Print Preview وستشاهد أن الصفوف التي قمت بتحديدها ستظهر في الجزء العلوي لجميع الصفحات:
  3. الفرز Sort والتصفية Filter من أدوات تحليل البيانات الرائعة التي يوفرها اكسل وهي من أكثر الخصائص المستخدمة، وتكون مفيدة جدًّا في جداول البيانات الكبيرة على وجه الخصوص. يستخدم أمر الفرز لترتيب البيانات في نطاق من الخلايا أو جدول حسب معيار محدد. ويستخدم أمر التصفية لعرض مجموعة جزئية من البيانات في نطاق من الخلايا أو جدول والتي ينطبق عليها معيار محدد أيضا. سنستخدم الجدول التالي كمثال لتطبيق أوامر الفرز والتصفية وتوضيحها: لعمل فرز لمحتويات أي عمود، انقر على أحد الخلايا داخل العمود بزر الفأرة الأيمن، ثم اذهب إلى الخيار فرز Sort لعرض الخيارات المتاحة: تختلف خيارات الفرز حسب نوع البيانات سواء كانت نصية أو رقمية، وبما أنّ البيانات في عمود "العمر" رقمية فالخيارات المتاحة هي فرز من الأكبر إلى الأصغر Sort Largest to Smallest، وفرز من الأصغر إلى الأكبر Sort Smallest to Largest، وهذه هي الخيارات لأغلب البيانات الرقمية. سنقوم بعمل فرز من الأكبر إلى الأصغر، وسيقوم البرنامج بترتيب الأعمار من الأصغر إلى الأكبر مع الاحتفاظ بما يقابلها من البيانات في بقية الأعمدة: لعمل تصفية للبيانات بإظهار مجموعة جزئية من نطاق البيانات، قم بتحديد خلية داخل أحد اللأعمدة، ثم انقر على فرز وتصفية Sort & Filter من تبويب الصفحة الرئيسية Home واختر تصفية Filter: عند تطبيق أمر تصفية ستظهر أسهم في عناوين الأعمدة يمكنك استخدامها لعمل تصفية، علما أنّ هذه الأسهم ستكون موجودة من الأصل فيما لو قمت بتنسيق البيانات بصيغة جدول Table (في هذا المثال قمت بعمل حدود وتنسيقات للخلايا ولكن لم أقم بتنسيقها بصيغة جدول). انقر على السهم في عناوين أحد الأعمدة التي تريد عمل تصفية لها، ثم قم بتأشير الخيارات التي تريد عرضها. في مثالنا هذا سأقوم بعمل تصفية لعمود "اسم الدورة" لإظهار مجموعة "اللغة الإنجليزية" فقط. لذلك سأقوم بإلغاء تأشير تحديد الكل Select All وأقوم بتأشير "اللغة الإنجليزية": وسيقوم البرنامج بعرض نطاق الخلايا المرتبط باللغة الإنجليزية فقط (لاحظ ظهور أيقونة "قمع" في عنوان عمود "اللغة الإنجليزية" إشارة لتصفيته): خيارات الفرزفي المثال السابق قمنا بفرز عمود يحتوي على بيانات رقمية عادية. يمكنك عمل فرز لبيانات رقمية بأنواع أخرى (كالتواريخ أو الأوقات)، أو فرز البيانات النصية. وتختلف خيارات الفرز كل حسب نوع البيانات. مثلا لو أردنا فرز البيانات في عمود "اسم الدورة"، وهي بيانات نصية، ستكون خيارات الفرز حسب الأبجدية؛ فرز من الألف إلى الياء Sort A to Z، أو فرز من الياء إلى الألف Sort Z to A. سنقوم بعمل فرز من الألف إلى الياء: وإذا قمنا بعمل فرز للبيانات في عمود "تاريخ البداية"، وهي بيانات رقمية بصيغة تاريخ، ستكون خيارات الفرز من الأقدم إلى الأحدث Sort Oldest to Newest، أو فرز من الأحدث إلى الأقدم Sort Newest to Oldest. سنقوم بعمل فرز من الأحدث إلى الأقدم: هناك خيارات أخرى متقدمة للفرز، كفرز عمودين أو أكثر معا، يمكنك الوصول إليها من تبويب بيانات. أولا عليك تحديد خلية في نطاق الخلايا أو الجدول، اذهب إلى تبويب بيانات Data وانقر فوق فرز Sort لفتح نافذة خيارات الفرز: من الخيارات المفيدة لأمر فرز هو خيار تحتوي البيانات على عناوين My Data has headers. ويقصد بها عناوين أعمدة الجدول (أي "الرقم التعريفي للمتدرب"، "العمر"، إلخ في هذا المثال). عند تأشير هذه الخيار ستظهر عناوين الأعمدة في خانة فرز حسب Sort By: وهذا الأمر يسهل اختيار العمود الذي تريد فرزه. لأنه عند إلغاء تأشير هذا الخيار ستظهر عناوين الأعمدة بأسمائها الأصلية (Column A، Column B، إلخ) وقد يؤدي ذلك إلى الالتباس عندما يكون الجدول كبيرا ولا تتذكر أي عمود هو الذي يحتوي على البيانات التي تريد فرزها. سنقوم هنا بعمل فرز لعمودي "اسم الدورة" و"تاريخ البداية"، بحيث يتم ترتيب العمود الأول حسب الأبجدية أولا، بعدها يتم ترتيب العمود الثاني من الأقدم إلى الأحدث. في خانة فرز حسب Sort سنحدد "اسم الدورة"، وفي خانة الترتيب Order سنحدد من الألف إلى الياء A to Z. ثم سنقوم بإضافة مستوى فرز آخر للعمود الثاني Add Level. في المستوى الثاني سنحدد "تاريخ البداية في خانة ثم حسب Then By، وفي خانة الترتيب سنحدد من الأقدم إلى الأحدث Oldest to Newest: وستكون نتيجة الفرز كالتالي (لاحظ عمودي "اسم الدورة" و"تاريخ البداية") ليس هذا فحسب، إذ تستطيع عمل فرز حسب قائمة مخصصة تضيفها بنفسك. مثلا لو أردنا فرز عمود "الحالة" ستكون الخيارات المتاحة هي فرز حسب الأبجدية (أي اخفاق، توقف، ثم نجاح) لأنّ البيانات نصية. لكن أرغب هنا بعمل ترتيب بحيث تُعرض البيانات المرتبطة بالتوقف أولا، ثم النجاح، ثم الإخفاق. والخطوات هي كالتالي: من تبويب بيانات Data انقر فوق فرز Sort. في نافذة فرز ومن خانة فرز حسب Sort By قم بتحديد العمود الذي تريد فرزه (عمود "الحالة" في هذا المثال). ومن خانة الترتيب اختر قائمة مخصصة Custom List: في حقل List entries قم بإدخال أول قيمة ثم اضغط Enter، ادخل ثاني قيمة ثم اضغط Enter وهكذا لحين الانتهاء من كتابة جميع القيم في العمود الذي تريد فرزه (أو اكتب قيم القائمة على شكل سطر تفصلها فارزة بدلا من استخدام مفتاح Enter). في مثالنا، ستكون أول قيمة "توقف"، ثاني قيمة "نجاح"، وثالث قيمة "اخفاق". بعدها انقر فوق إضافة Add ثم موافق OK: وسيكون الترتيب حسب القائمة التي قمنا بإضافتها، كالتالي: يمكنك أيضا أن تقوم بالفرز حسب تنسيق الخلية، كلون النص أو لون الخلية. من نافذة فرز حدد العمود الذي تريد فرزه حسب التنسيق (يجب أن تكون خلايا منسقة بنسق معين) من خانة فرز حسب Sort by. ومن خانة فرز Sort On حدد التنسيق الذي تريد فرز العمود على أساسه سنختار لون الخلية مثلا. ومن خانة الترتيب Order اختر اللون وترتيبه. سأقوم هنا بعرض الخلايا باللون الأحمر في الأعلى On Top: أما اللونان المتبقيان (الأصفر وبلا لون) فسنقوم بنسخ المستوى لتحديد ترتيبهما. انقر فوق نسخ المستوى Copy level ثم حدد اللون وترتيبه. سأقوم بعرض الخلايا بلا لون بعد اللون الأحمر، أي سيكون في الأعلى أيضا وبذلك سيكون اللون الأصفر هو اللون الأخير في الترتيب: وستكون النتيجة كالتالي: يمكنك أيضا أن تقوم بفرز الصفوف كما تقوم بفرز الأعمدة لكن يجب أولا أن تعد البرنامج لذلك. من تبويب: بيانات Data > فرز Sort > خيارات Options > فرز من اليمين إلى اليسار Sort Right to Left > موافق OK ثم اتبع نفس خطوات فرز الأعمدة: إذا رغبت في التراجع عن أمر الفرز استخدم زر التراجع في شريط الوصول السريع، أو استخدم الاختصار Ctrl+Z. التصفية التلقائيةكما هو الحال في الفرز، تتوفر عدة خيارات في أمر التصفية. إذ تستطيع تصفية نطاق الخلايا أو الجدول حسب معايير محددة كل حسب نوع البيانات في العمود. في البداية حدد خلية داخل الجدول أو نطاق الخلايا ثم انقر فرز وتصفية Sort & filter من تبويب الصفحة الرئيسية Home، ثم اختر تصفية Filter لإظهار أسهم التصفية التلقائية AutoFilter. سنطبق بعض الأمثلة لتوضيح خيارات التصفية. إذا كانت بعض الخلايا فارغة في العمود سيقوم البرنامج بتضمين هذا الخيار في خيارات التصفية: في المثال أعلاه لدي بعض الخلايا الفارغة في عمود "الرقم التعريفي للمتدرب" وأرغب في تصفية البيانات لعرض الصفوف المقترنة بهذه الخلايا فقط. سأقوم بالنقر على السهم في عنوان العمود، ثم ألغي تأشير تحديد الكل Select All وأقوم بتأشير الفراغات Blanks فقط: وسيقوم البرنامج بعرض الصفوف المقترنة بالخلايا الفارغة فقط: بالإضافة إلى ذلك هناك معايير محددة لتصفية البيانات تختلف حسب نوع تلك البيانات. فإذا كانت البيانات رقمية، انقر فوق سهم التصفية التلقائية الخاص بالعمود الذي يحتوي على بيانات رقمية، أشر فوق عوامل تصفية الأرقام Number Filters، ثم اختر أحد المعايير المتاحة: مثال: سنقوم بتصفية عمود "العمر" لعرض الأعمار أكبر من 30 سنة باختيار المعيار أكبر من Greater Than، وإدخال الرقم 30 في مربع حوار تصفية تلقائية مخصصة: وإذا كانت البيانات رقمية بصيغة تاريخ انقر فوق سهم التصفية التلقائية الخاص بالعمود الذي يحتوي على تواريخ، أشر فوق عوامل تصفية التاريخ، ثم اختر أحد المعايير المتاحة: مثال: سنقوم بتصفية عمود "تاريخ البداية" لعرض التواريخ بين 1/5/2011 و1/12/2011 باختيار المعيار بين Between، ثم إدخال التاريخين المحددين في مربع حوار تصفية تلقائية مخصصة: ونفس الطريقة تطبق على بقية أنواع البيانات. وكذلك يمكنك تصفية نطاق الخلايا أو الجدول حسب تنسيق الخلية كلون النص أو لون الخلية إذا كانت الخلايا منسقة بعدة ألوان، كما في عمود "الحالة" في مثالنا: ولديك أيضا خيار تطبيق أمر التصفية أكثر من مرة على نفس نطاق الخلايا أو الجدول. مثال: أرغب في عرض المتدربين الناجحين في دورات اللغة الإنجليزية. سأقوم أولا بتصفية الجدول حسب اللون باختيار معيار بلا تعبئة No Fill: ثم سأقوم بإلغاء تأشير تحديد الكل Select All في عمود "اسم الدورة" وأبقي على قيمة "اللغة الإنجليزية": وبذلك سيتم عرض الصفوف حسب المعيارين. لاحظ أن البرنامج يخبرنا في شريط الحالة عن عدد الصفوف المطابقة للمعايير (2 من أصل 13 صف في هذا المثال). لإلغاء التصفية من عمود معين انقر على أيقونة القمع واختر مسح عامل التصفية من Clear Filter From: ولإيقاف التصفية التلقائية بشكل تام انقر فوق فرز وتصفية Sort & Filter من تبويب الصفحة الرئيسية Home واختر تصفية Filter: التصفية المتقدمةفي التصفية المتقدمة تتوفر المزيد من الخيارات لتصفية البيانات، كتصفية القيم الفريدة unique values أو استخدام المعاملات operators مثل المعامل أو OR. في الجدول أدناه توجد قيمة فريدة (متكررة) وهي المميزة باللون الأخضر. هنا لدينا خياران، أما تصفية هذه القيمة من خيارات التصفية المتقدمة أو إزالتها من الجدول بشكل نهائي. لتصفية القيم الفريدة من نطاق الخلايا أو الجدول اذهب إلى تبويب بيانات Data، ثم انقر فوق خيارات متقدمة Advanced: في مربع حوار تصفية متقدمة، ومن خانة List range حدد نطاق الخلايا/العمود الذي يحتوي على القيم الفريدة بالنقر والسحب من أول خلية في النطاق/العمود إلى آخر خلية. بعد تحديد الخلايا حدد خيار السجلات الفريدة فقط Unique records only وانقر موافق OK: في المثال أعلاه قمت بتحديد عمود "العمر"، علما أنني سأحصل على النتيجة نفسها فيما لو قمت بتحديد أحد الأعمدة الأخرى لأن جميعها تحتوي على قيمة فريدة: لاحظ كيف قام البرنامج بتصفية القيمة الفريدة. الخيار الآخر هو استخدام أمر إزالة التكرارات Remove Duplicates في تبويب بيانات Data، لكن في هذه الحالة سيتم حذف القيم المتكررة وليس تصفيتها فقط: تستطيع أيضا استخدام التصفية المتقدمة للتصفية حسب معايير متعددة. لكن أولا عليك أن تقوم بإنشاء نطاق المعايير. ويجب أن تكون الخلايا العليا لنطاق المعايير هي نفسها عناوين الأعمدة التي تريد تصفيتها حسب تلك المعايير. في المثال أدناه قمت بإنشاء نطاق المعايير لعرض الصفوف التي تحتوي على "عمر" مساو لـ"30" و"حالة" مساوية لـ"نجاح": لاحظ أنني قمت بإنشاء الخلايا العليا لنطاق المعايير بنفس عناوين الأعمدة التي أريد تصفيتها حسب تلك المعايير، وهي "العمر" و"الحالة". لتصفية الجدول حسب نطاق المعايير هذا انقر فوق خيارات متقدمة من تبويب بيانات. في مربع حوار تصفية متقدمة حدد الجدول بأكمله في خانة List Range، وحدد نطاق المعايير في خانة Criteria range ثم انقر موافق OK: سيقوم البرنامج بعرض الصفوف التي تحقق المعيارين معا، وليس أحدهما. أما إذا كنت تريد عرض الصفوف التي تحقق أحد المعيارين أو كلاهما، أي استخدام المعامل OR، قم بترتيب الخلايا في نطاق المعايير بشكل قطري، كما في الشكل: انقر فوق خيارات متقدمة من تبويب بيانات واتبع نفس الطريقة السابقة. سيقوم البرنامج بعرض الصفوف التي تحتوي على "عمر" مساو لـ"30" أو "حالة" مساوية لـ"نجاح": لإزالة التصفية انقر فوق مسح Clear من تبويب بيانات Data. يمكنك استخدام معايير أكثر تعقيدا، مثلا معيار "أكبر من" بدلا من معيار "مساو" الذي يطبق بشكل افتراضي والذي استخدمناه في المثال السابق. مثلا إذا أردنا عرض "العمر" أكبر من "30" سنستخدم علامة أكبر مع القيمة "30" في نطاق المعايير ليصبح بالشكل التالي: وسنتبع نفس الطريقة بالنقر فوق خيارات متقدمة وتحديد نطاق الخلايا ونطاق المعايير لعرض الصف الذي يحقق المعيارين "أكبر من 30" و"نجاح" يمكنك أيضا إنشاء معايير أخرى باستخدام أحرف البدل wildcard characters مثل النجمة (*) علامة الاستفهام (؟) أو الأسهم (<>) كما في المثال: يستخدم المعيار الموضح في المثال أعلاه لعرض القيم في عمود "الحالة" مع البيانات المقترنة بها والتي لا تنتهي بحرف الحاء. هذه المرة سنقوم بعرض نتيجة التصفية في مكان آخر وليس تصفية الجدول الأصلي نفسه، كالتالي: انقر فوق خيارات متقدمة من تبويب بيانات. في مربع حوار تصفية متقدمة حدد خيار النسخ إلى موقع آخر Copy to another location. في خانة List range حدد الجدول بأكمله، في خانة Criteria range حدد نطاق المعايير (أي الخليتين H1 + H2 في هذا المثال)، وفي خانة Copy to حدد الخلية التي تريد نقل نتيجة التصفية إليها (الخلية H8 في هذا المثال) ثم انقر موافق: وبالتالي ستعرض الصفوف التي لا تنتهي قيمها بحرف الحاء بجدول آخر خارج الجدول الأصلي:
  4. تعتبر السيرة الذاتية من أهم الأدوات عند التقدم للحصول على وظيفة ولذلك يجب أن تكون جيدة الصياغة وتعرض مؤهلاتك بصورة ذكية. يتيح مايكروسوفت وورد إمكانية إنشاء سيرة ذاتية باستخدام القوالب الجاهزة أو إنشائها يدويا من الصفر. ولمعرفة كيفية إنشاء سيرتك الذاتية بإحدى الطريقتين، بالإضافة إلى بعض الأدوات والنصائح لتحسينها تابع معنا هذا الدرس. إنشاء السيرة الذاتية باستخدام القوالب بالإمكان الوصول إلى قوالب السيرة الذاتية مباشرة من نافذة بداية وورد: في حقل البحث سنكتب Resume ونضغط Enter لعرض القوالب الخاصة بالسير الذاتية. وهذه القوالب مصنفة بفئات مختلفة. أن كنت تستخدم إصدارات أقدم من وورد 2013 يمكنك الوصول إلى هذه القوالب من: ملف File > جديد New ثم البحث في حقل البحث الخاص بالقوالب. حقوق الصورة ننقر على أحد المصغرات لعرض معاينة للقالب، ونستخدم الأسهم للتنقل بين القوالب. عندما نختار المناسب ننقر إنشاء Create: بعد تنزيل القالب وفتحه في وورد سنبدأ بتحرير القالب وكتابة المعلومات الشخصية، الهدف المهني، المهارات، الخبرات، إلخ. يحتوي القالب على إرشادات بسيطة تخبرنا ما الذي يجب كتابته في كل حقل: بإمكاننا نسخ ولصق النصوص من نسخة قديمة من السيرة الذاتية إن وجدت. عند لصق النصوص يمكننا تنسيقها من خانة الأنماط لتتلاءم مع تنسيقات القالب. أو استخدام خيارات اللصق عن طريق زر Ctrl. نستخدم الأمر Keep Text Only إذا كنا نرغب في اللصق دون تنسيق: أو نستخدم خيار Merge Formatting لدمج التنسيقات، أي جعل حجم ونوع الخط متناسقا مع القالب، والاحتفاظ بالتنسيقات الأخرى للنص الأصلي كالنصوص العريضة والمائلة، إلخ: يجب أن نأخذ في الاعتبار عند إنشاء السيرة الذاتية أن نكون محددين جدا في فقرة الهدف المهني Objective. إذ يجب أن يكون الهدف مختلفا باختلاف الشركة التي نقدم للحصول على وظيفة فيها. لا تستخدم نفس الهدف المهني لجميع الشركات. تحتوي القوالب، وخصوصا قوالب السير الذاتية، على حقول بتنسيقات معينة، وتحتوي على نصوص إرشادية، تسمى هذه الحقول عناصر التحكم بالمحتوى Content Controls. كمثال على هذه العناصر الحقل المؤشر في الصورة أدناه: لدينا خيار استخدام هذه العناصر أو إزالتها بالنقر بزر الفأرة الأيمن عليها واختيار Remove Content Control: يمكننا التعديل على تنسيق وتصميم القالب من تبويب تصميم Design. يمكننا اختيار التنسيق الذي يناسبنا من أحجام النصوص، الألوان أو المسافات بين الأسطر والفقرات، وغيرها، وذلك معرض تنسيقات المستند Document Formatting: أو من معرض نسق Themes: استخدام الجداول في إنشاء السيرة الذاتية يفضل البعض عدم استخدام القوالب لإنشاء السيرة الذاتية، ويعتمدون على مفتاح tab أو المسطرة في تنسيق المسافات بين عناوين الأقسام وما يقابلها. لكن هناك طريقة أسهل وأسرع وهي استخدام الجداول. ولفعل ذلك سنقوم بالخطوات التالية: سنقوم بفتح مستندًا جديدًا وكتابة المعلومات الشخصية في بداية الصفحة، ثم سنقوم بإدراج جدول Table من تبويب إدراج Insert: سنقوم بإدراج عمودين، أحدهما لعنوان القسم، والآخر لما يقابل تلك الأقسام من معلومات. أما عدد الصفوف فيعتمد على عدد الأقسام التي تريد إضافاتها، أي صف للهدف المهني، صف للخبرات، صف للمهارات، إلخ. بعدها سنقوم بكتابة المحتويات، وسنستخدم خلية واحدة لكل قسم، أي سنكتب جميع المهارات أو الخبرات السابقة في خلية واحدة من الجدول مهما كان عددها: الخطوة التالية بعد الانتهاء من الكتابة هي تنسيق الجدول. سنقوم بتقليل عرض العمود الأول لإزالة المساحة الزائدة والاستفادة منها في زيادة عرض العمود الثاني. سنضع المؤشر على الحد بين العمود إلى أن يتغير شكله إلى متجهين، ثم سنقوم بالسحب إلى جهة اليسار: ثم سنقوم بإضافة عمود وسطي كحاجز رفيع يفصل بين العمودين، بالنقر على علامة (+) التي تظهر عن وضع المؤشر على الحد بين العمودين وهي طريقة سريعة لإدراج أعمدة (أو صفوف) في إصدار 2013 من البرنامج: أو بالنقر داخل أحد خلايا العمود الأول، والتأشير فوق إدراج Insert واختيار إدراج عمود إلى اليمين Insert Column to Right: وسنقوم بتقليل عرض هذا العمود لأننا لا نريد من الحاجز أن يكون كبيرًا جدًا: بالتأكيد لا نريد إظهار حدود الجدول في السيرة الذاتية لذلك سنقوم بإزالتها. سنحدد جميع خلايا الجدول أولا من أيقونة (+) في حافة الجدول: ثم سنذهب إلى تبويب تصميم Design السياقي الخاص بالجدول، ونختار بلا حدود No Borders من أمر حدود Borders: ما زال بإمكاننا تعديل أبعاد الجدول حتى بعد إزالة الحدود. يمكننا استخدام خطوط الشبكة Gridlines. هذه الخطوط لا تظهر عند الطباعة لكنها تساعدنا على معرفة أماكن حدود أعمدة وصفوف الجدول. سنقوم بتحديد الجدول أولا من أيقونة (+) كما في الخطوة السابقة، ومن أمر حدود سنختار عرض خطوط الشبكة View Gridlines: انتهينا تقريبا من إنشاء السيرة الذاتية. ما تبقى هو تنسيق النصوص وأحجامها، أو إضافة عناصر تصميمية في رأس Header الورقة. نصائح وأدوات لتحسين السيرة الذاتية اليوم أصبح أغلب الباحثين عن عمل يقدمون سيرهم الذاتية عبر الإنترنت. وتخضع تلك السير الذاتية للبحث عن كلمات معينة بواسطة أنظمة تتبع تستخدم من قبل أصحاب العمل. الأمر أشبه بتهيئة محركات البحث SEO، إذ يجب أن تتضمن سيرتك الذاتية الكلمات التي تجعل العثور عليها سهلا عند البحث. تسمى هذه الكلمات بالكلمات المفتاحية Keywords أو الكلمات الفعالة Power Words. تحتاج إلى سيرة ذاتية احترافية؟ استعن بأفضل خبراء التوظيف في الوطن العربي لمساعدتك على إنشاء سيرة ذاتية احترافية بتصميم عصري وجذاب أنشئ سيرتك الذاتية الآن تختلف هذه الكلمات باختلاف الوظيفة التي تُقدم إليها ويجب عليك أن تذكر الكلمات المناسبة ذات الصلة بالعمل الذي تبحث عنه والتي تجذب صاحب العمل. ابحث عن الكلمات المستخدمة في الوصف الوظيفي وضمنها في سيرتك الذاتية. فإذا كانت الوظيفة تتطلب خبرة في برامج التصميم الجرافيكي من ضمنها Photoshop ،Illustrator ،After Effects ...إلخ، تحدث عن هذه البرامج ضمن خبراتك أو اذكرها ضمن مهاراتك، لكن بالطبع إذا كنت مؤهلا لذلك. وإذا كنت تقدم طلبا للعمل في شركة هواتف، تحدث عن الهواتف بالتحديد وليس الأجهزة الذكية بصورة عامة. كن محددا. من الأمور الأخرى التي يجب مراعاتها في السيرة الذاتية هو تجنب تكرار الكلمات. في بعض الأحيان تكرر الكثير من الكلمات دون أن تدرك ذلك. في المثال أدناه هناك العديد من الكلمات المكررة، "expert specialist"، "high experience"... ما سنفعله هو أننا سنقوم بالبحث عن مرادفات لتلك الكلمات واستبدالها. أولا سنقوم بوضع المؤشر فوق إحدى الكلمات، ثم ننقر بزر الفأرة الأيمن ونؤشر فوق مرادفات Synonyms، وسنختار واحدة من المرادفات المقترحة: وإذا لم نجد الكلمة التي تناسبنا سنبحث في Thesaurus الذي يوفر المزيد من المرادفات: وكذلك هناك ما يسمى بصفحة المقدمة أو الخطاب المرفق مع السيرة الذاتية Cover Letter. وهي عبارة عن صفحة تُرفق في بداية السيرة الذاتية توضح بشكل مختصر وسريع الهدف من الوظيفة والمؤهلات التي تجعلك مناسبا للوظيفة التي تقدم إليها. يجب أن تحرص على صياغة صفحة المقدمة بطريقة ذكية وجذابة، فقد تكون هي فرصتك للحصول على الوظيفة. وإذا لم تكتب صفحة مقدمة من قبل، أو لم تكن معتادا على كتابتها يمكنك استخدام قوالب وورد. إذ تتوفر عدة قوالب بالتنسيق الرسمي، يمكنك تنزيلها وتحريرها. من صفحة البداية وفي حقل البحث، اكتب resume cover letter واختر أحد القوالب. قم بتنزيل القالب وابدأ بتحريره حسب الإرشادات في حقول التحكم بالمحتوى. بهذا تكون قد تعرفت على كيفية إنشاء سيرتك الذاتية، والتي إن كنت منشغلًا عن إتمامها كما يجب، أو كنت بحاجة لواحدة ذات احترافية عالية، فيمكنك استعمال خدمة كتابة السير الذاتية المقدمة من منصة بعيد، التي تمنحك سيرةً ذاتيةً احترافيةً مقدمةً من طرف خبراء في التوظيف، وهذا بتصاميم مميزة تستهدف مجالات العمل المختلفة؛ إلى جانب بعض المزايا الإضافية التي ستفيدك أكثر لرفع حظوظك بالتوظيف، وسنوضح بعضها في الآتي: الحصول على استشارة فردية مع أحد خبراء التوظيف. الحصول على السيرة الذاتية بنسختين عربية وإنجليزية حسب الباقة التي ستختارها، وبالنموذج الذي تراه مناسبًا لك. إجراء مقابلة توظيف تجريبية يقودها أحد اخصائيي التوظيف، لتكون بمثابة تدريب لك ليوم مقابلة العمل الفعلية مع التطرق إلى أهم الأسئلة التي قد تُطرح عليك فعليًا، وبطبيعة الحال ستحصل على بعض التعقيبات والتوجيهات التي ستساهم في رفع جاهزيتك والتحضير لمقابلات العمل. الحصول على مساعدة لإعداد ملف مهني احترافي على بعيد وإعداد ملفاتك الشخصية على مستقل وخمسات للتعريف بخبراتك ومهاراتك الشخصية. وإن كنت بحاجة لفهم أوسع حول الأمور قبل حصولك على باقة من الباقات المتاحة، فيمكنك التواصل مع الدعم الفني للمنصة لإجابتك عن استفساراتك.
  5. إن تطبيق جداول بيانات جوجل هو عبارة عن تطبيق ويب وأحد مجموعة تطبيقات جوجل درايف المكتبية التي تضم تطبيقت مستندات جوجل وتطبيق العروض التقديمية وغيرها، ويعتبر هذا التطبيق شبيه لبرنامج مايكروسوفت إكسل وبرنامج ليبر أوفيس كالك. وعلى الرغم من أنه لا يقدم جميع ميزات إكسل وكالك المتقدمة، إلا أنه من السهل إنشاء جداول بيانات وتعديلها سواء كانت بسيطة أم معقدّة. إن استخدام تطبيقات جداول بيانات جوجل ليس مقتصرًا على المحاسبين ومستخدمي جداول البيانات المعقدة والمطورين، بل يمكن استخدامها لإنشاء جداول بيانات بسيطة لأمور حياتية يومية كجدول مهام عمل يومية أو حسابات البقالة أو أي شيء آخر يمكنك التفكير فيه، تعد جداول البيانات طريقة رائعة لتنظيم المعلومات. ولإنشاء مستند جدول بيانات جوجل جديد توجه إلى صفحة جوجل درايف الخاصة بك ثم انقر على زر (جديد) أعلى يمين الصفحة ومن القائمة المنبثقة اختر (جدول بيانات Google). وسيتم الآن فتح التطبيق على كامل الصفحة حيث سيظهر بمظهر مشابه إلى حد كبير برامج الإكسل والكالك، حيث شريط القوائم في الأعلى يليه شريط الأدوات الرئيسي ثم حقل جدول بيانات فارغ مع شريط ورقات العمل أسفله. بداية سيكون اتجاه العمل في التطبيق من اليسار لليمين بشكل افتراضي، يمكنك تعديله ليصبح من اليمين إلى اليسار عبر زر في شريط الأدوات أو من القائمة تنسيق > الاتجاه > ورقة من اليمين إلى اليسار ويمكن إعادة اتجاه العمل بذات الطريقة. تم ترميز الأعمدة بالأحرف اللاتينية A, B, C,…. الخ فيما تم ترميز الصفوف بالأرقام 1, 2, 3, …. الخ. ويسمى المستطيل الواحد ضمن هذا الجدول بالخلية، ولكل خلية عنوان وعنوانها هو تقاطع حرف العمود مع رقم الصف التي تتوضع فيه الخلية فعلى سبيل المثال (كما في الصورة التالية) عنوان الخلية التي في الصورة هو B5 وذلك لوجودها ضمن العمود B والصف 5. وكما تعلمنا في درس مستندات جوجل فإن تسمية المستند في جداول بيانات جوجل يتم بنفس الطريقة حيث يكفي النقر على العنوان أعلى صفحة التطبيق ليسمح لنا بتعديل الإسم ومن ثم نكتب الاسم الذي نريده ونضغط Enter أو ننقر بالفأرة في أي مكان آخر ليتم تطبيق التسمية الجديدة على الملف. وكبقية تطبيقات جوجل المكتبية فلا حاجة لحفظ المستند ولا يوجد في الأصل خيار لحفظ المستند إذ أن مستندات جوجل في مختلف التطبيقات تقوم بحفظ التغييرات مباشرة وبشكل تلقائي، ويتم حفظ المستندات المختلفة الناتجة عن تطبيقات جوجل هذه ضمن سحابة جوجل درايف الخاصة بك ولتغيير موضع حفظ المستند ضمن المجلدات التي أنشأتها سابقًا أو قد تود إنشاءها مباشرة في جوجل درايف عليك النقر على أيقونة المجلد الرمادي بجانب عنوان المستند لتحدد الموقع الذي تريد نقل المستند إليه. بالإمكان فتح ملفات برنامج مايكروسوفت إكسل وليبر أوفيس كالك عبر هذا التطبيق عبر القائمة ملف > فتح ومن ثم ستفتح لنا نافذة تسمح لنا باختيار أحد الملفات الموجودة ضمن سحابة جوجل درايف الخاصة بنا وكذلك يمكننا تحميل الملف من حاسوبنا عبر سحبه إلى مساحة التحميل أو البحث عنه يدويًا ليتم حفظ الملف تلقائيًا في سحابة جوجل درايف الخاصة بنا ومن ثم فتحه ضمن التطبيق. وللتعرف أكثر على واجهة التطبيق سنقوم بتسمية عناصر هذه الواجهة: اسم المستند أيقونة جداول بيانات جوجل وتذهب بك عند النقر عليها إلى صفحة البداية للتطبيق والتي تحوي جميع المستندات التي تم إنشاؤها باستخدام التطبيق شريط القوائم التنبيه إلى حفظ المستند بشكل تلقائي باستمرار (لن يتم حفظ المستند تلقائيًا في حال العمل بدون اتصال بالإنترنت) أزرار المشاركة والتعليقات شريط الأدوات والتنسيقات شريط الصيغ والدوال الأعمدة الصفوف الخلية شريط أوراق العمل هذه نظرة أولية على تطبيق جداول بيانات جوجل وسنتابع في الدروس القادمة تفاصيل أكثر حول كيفية استخدام المزايا المختلفة لهذا التطبيق.
  6. Subtotals أو المجاميع الفرعية هي من خصائص اكسل التي تتيح تطبيق بعض الدوال مثل دالة الجمع Sum، دالة المتوسط Average، دالة الضرب Product وغيرها من الدوال، على قوائم البيانات الفرعية في الجدول الواحد والتي تنتمي إلى نفس المجموعة. وتفيد هذه الخاصية في تلخيص جداول البيانات الكبيرة بخطوات بسيطة جدا. لا يمكن إدراج المجاميع الفرعية في جداول البيانات المنسقة على شكل جدول، كما في الجدول أدناه، وسيكون أمر الإجمالي الفرعي Subtotal غير مفعّل: ولتحويل الجدول إلى مجموعة خلايا عادية، نحدد إحدى الخلايا داخل الجدول، ننقر على أمر تحويل إلى نطاق Convert to Range من تبويب تصميم Design السياقي، ثم ننقر على نعم Yes للتأكيد: سنلاحظ اختفاء أسهم التصفية من عناوين الأعمدة. بعد تحويل الجدول إلى نطاق خلايا عادي، سنقوم بإدراج الإجمالي الفرعي لمعرفة مجموع الرواتب المخصصة لكل قسم من الأقسام. وكما ذكرنا تُطبّق دوال الإجمالي الفرعي على مجموعة البيانات المتشابهة، لذلك سنقوم بفرز البيانات في عمود "القسم" حسب الأبجدية لجمع الأقسام المتشابهة معا. نذهب إلى تبويب بيانات Data وننقر على أمر الإجمالي الفرعي Subtotals: في مربع الحوار الإجمالي الفرعي، نحدد العمود الذي يتم حساب الإجمالي الفرعي عند كل تغيّر في قيمه من حقل At each change in. ونحدد الدالة التي نرغب في تطبيقها على مجموعات البيانات من حقل Use Function، وسنختار دالة الجمع (Sum) لأنّنا نريد إيجاد مجموع الرواتب المخصصة لكل قسم. ومن حقل Add Subtotal to نحدد عمود الراتب لتطبيق دالة الجمع عليه، ثم ننقر موافق OK: ستتم إضافة صف فارغ أسفل كل مجموعة، وعرض الملخّص (المجموع Total في هذا المثال) في هذا الصف: وستتوفّر ثلاث طرق لعرض بياناتك. فعند النقر على الرقم 1 أعلى يمين الورقة (أو أعلى يسار الورقة إذا كان اتجاه الورقة من اليسار إلى اليمين) سيُعرض الإجمالي الكلي Grand Total للرواتب لكافة الأقسام: وعند النقر على الرقم 2 ستُعرض قيم الإجمالي الفرعي لكل قسم مع الإجمالي الكلي: وعند النقر على الرقم 3 ستُعرض تفاصيل جدول البيانات مع قيم الإجمالي الفرعي والإجمالي الكلي: كما يمكننا استخدام الأيقونتين +/- لإظهار/إخفاء تفاصيل الإجمالي الفرعي لكل قسم على حدة: بهذه الطريقة سنوفر الكثير من الوقت بإيجاد المجموع لكل قسم بنقرة واحدة دون أن نضطر إلى تطبيق دالة الجمع لكل قسم في كل مرّة. وكما قمنا باستخدام الإجمالي الفرعي لإيجاد مجموع الرواتب لكل قسم، يمكننا استخدام دوال أخرى من الدوال المتاحة، وإدراج مستويات متداخلة من المجاميع الفرعية. على سبيل المثال، الجدول أدناه: سنقوم بإيجاد مجموع المبيعات (Sum) عند كل تغيّر في عمود "الصنف". ننقر على أمر الإجمالي الفرعي Subtotal من تبويب بيانات Data ونحدد الخيارات المذكورة: وسنقوم بإيجاد متوسط المبيعات (Average) لكل تغيّر في عمود "الصنف" أيضا. لكن هذه المرة نتأكد من إلغاء تأشير الخيار استبدال المجاميع الفرعية الحالية Replace current subtotals لكيلا يتم إلغاء الإجمالي الفرعي السابق الذي قمنا بإدراجه (وهو مجموع المبيعات عند التغير في الصنف): وبذلك سيتم إيجاد متوسط المبيعات عند كل تغيّر في عمود الصنف، بالإضافة إلى المجموع الذي تم إيجاده سابقا: وفي نفس الوقت بإمكاننا إيجاد مجموع المبيعات (Sum) لكل تغيّر في عمود "النوع"، ولا ننسى إلغاء تأشير الخيار Replace current subtotals لكيلا تُزال المجاميع الفرعية السابقة: وستكون النتيجة كالتالي: وبالطبع يمكننا استخدام أيقونات الأرقام و +/- على جانب الورقة لعرض كافة التفاصيل أو الملخصات فقط: وبالإمكان إلغاء جميع المجاميع الفرعية التي قمنا بإدراجها من تبويب: بيانات Data > الإجمالي الفرعي Subtotal > إزالة الكل Remove all
  7. يمكنك استخدام اكسل تماما كما تستخدم الحاسبة في إجراء العمليات الحسابية البسيطة والمعقدة. فهو يحتوي على مجموعة واسعة من الدوال functions الخاصة بمختلف المجالات يمكنك استخدامها لإجراء العمليات الحسابية المطولة في وقت قصير. الصيغ في اكسل هي عبارة عن مجموعة من المعاملات، الدوال والأرقام. يجب أن تبدأ أي صيغة بعلامة يساوي (=)، وسيتوضح المفهوم أكثر عن طريق الأمثلة في الفقرات التالية. الرياضيات الأساسية في اكسلتقوم معظم العمليات الحسابية المعقدة على أساس الرياضيات البسيطة؛ الجمع، الطرح، الضرب، والقسمة. لنتعلم كيفية القيام بهذه العمليات باستخدام المعاملات (+، -، *، /) أو الدوال (Sum، product، إلخ). افتح برنامج اكسل وقم بإنشاء جدول بيانات بسيط يحتوي على عدة أرقام لتطبيق العمليات الحسابية عليها. الجمعلكي تقوم بجمع رقمين أو عدد من الأرقام، حدّد الخلية التي تريد ظهور الناتج فيها ثم اكتب صيغة الجمع يدويا: =العدد الثاني + العدد الأول ثم اضغط Enter من لوحة المفاتيح. لكن هذه الطريقة ستصبح مطولة ومملة إذا كان عدد الأرقام التي تريد جمعها أكثر من 3. لذلك بدلا من كتابة الأرقام قم بتحديد الخلايا. أي اكتب علامة (=) ثم حدد الخلية الأولى بواسطة الفأرة، ثم علامة (+) ثم حدد الخلية الثانية، وهكذا. لاحظ أن البرنامج يقوم بتمييز الخلايا مع اسم الخلية في الصيغة بنفس اللون. هذه الطريقة مفيدة أكثر إذا كنت ستجري تغييرا على الجدول لاحقا، إذا سيتغير ناتج الجمع تلقائيا تبعا لتغير الأرقام في الخلايا المشمولة في الصيغة. أي إذا قمت بتغيير محتوى الخلية B5 من "3" إلى "5" ستتغير النتيجة إلى "14" تلقائيا. الطرحلا تختلف عملية الطرح عن عملية الجمع سوى باستخدام المعامل (-) بدلا من (+). يمكنك طرح مجموعة من الخلايا المتجاورة أو غير المتجاورة بنفس طريقة عملية الجمع. الضرب والقسمةعمليتا الضرب والقسمة لا تختلفان عن الجمع والطرح. استخدم علامة النجمة (*) (وليس x) لعملية الضرب، وعلامة (/) لعملية القسمة. طريقة كتابة الصيغة هي كما في عمليتي الجمع والطرح. تذكر أن تكتب علامة = قبل بداية أي صيغة. استخدام الدوال Functionsالدّوال هي عبارة عن صيغة معرفة مسبقا في البرنامج. تساعدك الدوال في اكسل على توفير الوقت حيث انها تختصر الكثير من الخطوات. دالة الجمعاستخدم زر الجمع التلقائي لجمع نطاق من الخلايا "المتجاورة" بدلا من تحديد كل خلية على حدة. الصيغة العامة لدالة الجمع هي: SUM(number;number,…)ويمثل "number" رقم محدد أو اسم خلية. حدد الخلية التي تريد ظهور الناتج فيها، ويجب أن تكون بعد نطاق الخلايا المتجاورة. مثلا إذا أردت جمع الأرقام في العمود B يجب أن أقوم بتحديد خلية أسفل نطاق الخلايا ضمن العمود B. وإذا أردت جمع الأرقام في الصف 3، يجب أن أقوم بتحديد خلية على يمين نطاق الخلايا في الصف 3 (أو على يسار نطاق الخلايا إذا كان اتجاه الورقة من اليسار إلى اليمين) وهكذا. سأقوم بجمع الأرقام في العمود B، بتحديد الخلية B8، الذهاب إلى تبويب الصفحة الرئيسية، ثم النقر على زر الجمع التلقائي AutoSum. أو حدد الخلية واضغط على اختصار الجمع التلقائي Alt+ =. ستتحول حدود نطاق الخلايا إلى إطار متقطع متحرك، وستظهر صيغة الجمع (Sum(B3:B7= في الخلية التي سيظهر فيها الناتج. اضغط Enter لإتمام العملية. في المثال تمثل النقطتين (:) نطاق من الخلايا. وهذه هي الصيغة العامة لجمع أرقام في نطاق من الخلايا المتجاورة. سأقوم أيضا بجمع نطاق الخلايا في الصف 4 وبنفس الطريقة: لاحظ أنني حصلت على النتيجة "8" من عملية الجمع، وليس "18"، والسبب أنّ أمر الجمع التلقائي يُطبق على الخلايا المتجاورة فقط. يمكنك استخدام دالة الجمع (وليس زر الجمع التلقائي) إذا كانت الخلايا غير متجاورة أيضا. حدد أي خلية تريد ظهور النتيجة فيها، واكتب SUM=. اضغط على المفتاح Ctrl وقم بتحديد العدد الذي تريده من الخلايا (أو نطاق الخلايا) مع الاستمرار بالضغط، ثم أغلق القوس. لاحظ أيضا أنني قمت بتحديد الخليتين B3، B5 ونطاق الخلايا C5:C7. اضغط Enter للحصول على النتيجة. أو بطريقة أخرى، استخدم دالة الجمع واكتب أسماء الخلايا التي تريد جمع محتوياتها يدويًا، افصل بين اسم خلية وآخر بفارزة منقوطة (;). ملاحظة: لمشاهدة محتوى الخلية (أي الصيغة) انقر بشكل مزدوج على الخلية، أو قم بتحديد الخلية وشاهد الصيغة من شريط الصيغة. لا تمتلك عملية الطرح دالة معرفة كما في الجمع، والطريقة الوحيدة لتنفيذ عملية الطرح هي باستخدام المعامل (-). يمكنك أن تطرح ناتج دالة جمع من ناتج دالة جمع آخر: دالة الضربدالة الضرب تشابه دالة الجمع من حيث طريقة العمل، فيما عدا أنها تقوم بضرب الأرقام بدلا من جمعها. وصيغة دالة الضرب هي: PRODUCT(number;number,…)ويمثل "number" رقم محدد أو اسم خلية. يمكنك استخدام دالة الضرب لإيجاد ناتج الضرب لمجموعة خلايا متجاورة أو غير متجاورة: أما عملية القسمة فحالها حال عملية الطرح لا تمتلك دالة معرفة، استخدم المعامل (/) لتنفيذ عملية القسمة. يمكنك قسمة ناتج دالة ضرب على ناتج دالة جمع مثلا: تتابع العمليات الحسابيةيستخدم اكسل التتابع المعروف لتنفيذ العمليات الحسابية، أي: الأقواس أولا، من الداخل إلى الخارج.الأسس.الضرب والقسمة من اليسار إلى اليمين.وأخيرا الجمع والطرح من اليسار إلى اليمين.أمثلة: =((25/5)+(2*3)) =5+6 =11=45/9*5 (تنفذ العمليات من اليسار إلى اليمين، أي القسمة أولا ثم الضرب) =5*5 =25=5-4+3 (تنفذ العمليات من اليسار إلى اليمين، أي الطرح أولا ثم الجمع) =1+3 =4=2+(3*(1+5)^2)-6/3 =2+(3*36)-2 =2+108-2 =108 في هذا المثال: يتم إيجاد نتيجة القوس الداخلي (1+5) =6ثم يرفع الناتج للأس (2) = 36 لأن الأسس تتبع الأقواس في تتابع العملياتثم تضرب النتيجة بالعدد (3) = 108ثم يتم إيجاد ناتج عملية القسمة (6/3) = 2بعدها تصبح الصيغة كالتالي: 2-108+2=والنتيجة النهائية = 108.جرّب تطبيق هذه الصيغ وصيغ أخرى لتفهم تتابع العمليات الحسابية بشكل أفضل. صيغ متقدمةيمكن أن تصبح الصيغ أكثر تعقيدا حسب طبيعة البيانات التي تعمل عليها. ويوفر اكسل مجموعة كبيرة من الدوال المعرفة التي يمكنك استخدامها لتبسيط عملك، كالدوال الهندسية، الدوال المنطقية، دوال الوقت والتاريخ، إلخ. يمكنك استخدام الدوال التي تتناسب ومجالك. للوصول إلى مجموعة الدوال اذهب إلى تبويب صيغ Formulas. انقر على زر المزيد من الدوال More Functions إذا لم تجد ما تبحث عنه. لنأخذ المثال التالي لتوضيح المزيد من القواعد المتعلقة بالصيغ والدوال: الجدول عبارة عن درجات مجموعة من الطلاب لاختبارات الفصلين الأول والثاني والاختبار النهائي. والهدف هنا هو إيجاد النتيجة النهائية بضرب كل درجة بنسبة الفصل، وجمعها للحصول على الدرجة النهائية لكل طالب. سأقوم أولا بتحويل نسبة الفصل إلى نسبة مئوية بتحديد نطاق الخلايا، ثم من تبويب الصفحة الرئيسية Home، ومن خانة أرقام Numbers انقر على زر %. في الخلية H11 سأقوم بإيجاد النتيجة النهائية للطالب 1، بكتابة الصيغة كما في الصورة أدناه: أي سيتم ضرب الدرجة الأولى x 20%، والدرجة الثانية x 20%، والدرجة الثالثة x 60%، ثم تجمع نتائج الضرب الثلاث. سأستخدم خيار التعبئة التلقائية AutoFill (أي نسخ الصيغة) لتكرير نفس الخطوة تلقائيا بدلا من كتابة الصيغة يدويا. لعمل تعبئة تلقائية انقر على الخلية التي تريد نسخ صيغتها، ضع المؤشر على المربع الأخضر في حافة الخلية ليتحول شكله إلى (+) ثم انقر مع السحب إلى جهة اليسار. لكن لاحظ النتائج التي حصلت عليها: تفسير الخطأ الذي حدث هنا هو أنه يوجد نوعان من المراجع للخلايا؛ المراجع النسبية relative references والمراجع المطلقة absolute references. ويستخدم اكسل المراجع النسبية في الصيغة بشكل افتراضي. عندما اخترت الخلية H11 لإظهار النتيجة كانت الصيغة كالتالي: =(G8*H8)+(G9*H9)+(G10*H10)وعندما استخدمت التعبئة لإظهار النتيجة في الخلية التالية إلى اليسار (I11) انتقل اكسل أيضا بالصيغة خطوة إلى اليسار، وأصبحت الصيغة في الخلية I11 كالتالي: =(H8*I8)+(H9*I9)+(H10*I10)أي انتقل من G8 إلى H8، ومن H8 إلى I8، وهكذا. أي أن النسب في الخلايا G8، G9، وG10 تم تجاوزها ولم يتم استخدامها. بمعنى أنه تم استخدام الخلايا G8، G9، وG10 كمرجع نسبي. لذلك يجب التبديل من المراجع النسبية إلى المراجع المطلقة (أي تثبيت الخلايا G8، G9، وG10 في الصيغة واستخدامها كمرجع مطلق) باستخدام المفتاح F4 عند تحديد قيمة الخلية المراد تثبيتها. لاحظ كيف تتغير الصيغة في الصورة أدناه (علامة الدولار $ تستخدم للمراجع المطلقة): وعندما أقوم بالتعبئة التلقائية هذه المرة ستظهر النتائج الصحيحة: جمع الوقت أو طرحهيمكنك إضافة الوقت في جداول بيانات اكسل كأي نوع آخر من البيانات وتنسيقه. كما يمكنك إجراء عمليتي الجمع والطرح عليه أيضًا. يُعرض الوقت في اكسل بعدة تنسيقات كالساعات والدقائق، الساعات والدقائق والثواني، الوقت صباحا (AM)/مساء (PM)، إلخ. يمكنك الوصول إلى هذه التنسيقات عن طريق النقر بزر الفأرة الأيمن على الخلية التي تحتوي على بيانات بصيغة الوقت ثم اختيار تنسيق الخلايا Format Cells. جمع الوقتقد تحتاج إلى جمع الوقت إذا كان لديك مشروع مقسم إلى مهام وتريد معرفة الزمن الكلي الذي يستغرقه إنجاز المشروع، كما في المثال التالي: سأقوم بتحديد الخلية C6 لإظهار نتيجة الجمع فيها ثم استخدم دالة الجمع التلقائي (أو كتابة الصيغة يدويا): ثم سأستخدم التعبئة التلقائية لتطبيق نفس الصيغة على بقية المشاريع بدلا من تكرار عملية الجمع على كل مشروع: سأكون بذلك قد انتهيت من جمع الوقت لولا نتيجة المشروع 3 غير المنطقية على الرغم من كون الصيغة صحيحة، فمن المستحيل أن يكون النتائج 3:55 عند جمع 20:30 ساعة مع 7:25. وتفسير ذلك هو أن نتيجة الجمع أكبر من 24 ساعة، والخلية غير منسقة لتعرض الوقت أكبر من 24 ساعة. لحل المشكلة، سنقوم بتنسيق الخلية لتعرض الوقت أكبر من 24 ساعة: انقر على الخلية بزر الفأرة الأيمن واختر تنسيق الخلايا Format Cellsمن قسم مخصص Custom وفي خانة النوع Type اكتب h]:mm] تستخدم الأقواس المربعة لعرض الوقت أكبر من 24 ساعة، ويمثل حرف h الساعات، وmm الدقائق. بعد كتابة الصيغة انقر موافق OK وستظهر النتيجة الصحيحة. تستطيع استخدام الأقواس المربعة في كل الحالات لتجنب حدوث مثل هذه الأخطاء. يمكنك أيضا إضافة مدة معينة من الوقت إلى وقت محدد باستخدام دالة الوقت، مثلا إذا كنت ترغب في إضافة ثلاث ساعات وربع إلى الساعة الخامسة والنصف مساء اكتب الصيغة التالية واضغط Enter. يمثل الرقم 3 عدد الساعات، الرقم 15 عدد الدقائق، والرقم 0 عدد الثواني. طرح الوقتيمكنك طرح الوقت أيضا باستخدام اكسل بنفس طريقة طرح الأرقام العادية، فيما عدا أنه لا يظهر النتائج السالبة. وكذلك يجب أن تستخدم المعامل (-) لعدم وجود دالة معرفة لعملية الطرح. قد تحتاج إلى طرح الوقت لمعرفة الوقت المستغرق لعمل يبدأ في وقت محدد وينتهي في وقت محدد، كما في المثال التالي: في الخلية التي تريد إظهار النتيجة فيها قم بكتابة الصيغة التالية (طرح وقت البدء من وقت الانتهاء): بعدها قم بعمل تعبئة تلقائية لتطبيق الصيغة على بقية الخلايا. لاحظ النتائج التالية: النتيجة الأولى على شكل مربعات (#) لأنها سالبة، أي وقت الانتهاء أقل من وقت البدء، وهذا بسبب خطأ في الإدخال (يجب أن يكون وقت الانتهاء مساء وليس صباحا). النتيجة الثانية خاطئة لأن تنسيق الخلية لا يظهر الوقت أكبر من 24 ساعة، وسنقوم بتصحيح هذا الخطأ بالنقر بزر الفأرة الأيمن على الخلية، اختيار تنسيق الخلايا Format Cells، ثم اختيار التنسيق الذي قمنا بعمله سابقا لإظهار الوقت أكبر من 24 ساعة (h]:mm]). النتيجة الثالثة صحيحة. إذا كنت ترغب بإظهار النتائج بصيغة أرقام اعتيادية وليس بصيغة وقت (أي 8.5 بدلا من 8:30) اتبع الخطوات التالية: حدد الخلية التي تريد إظهار الناتج فيها واكتب الصيغة التالية: قمنا باستخدام الأقواس لنتأكد من أن عملية الطرح تنفذ قبل عملية الضرب. كما قمنا بالضرب بالرقم 24 لأن الوقت مخزون في اكسل كجزء من اليوم. أي 6 ساعات تعرف في اكسل بربع يوم (0.25)، و12 ساعة تعرف بنصف يوم (0.5) يوم. لذلك استخدمنا الرقم 24 للتحويل من الجزء من اليوم إلى ساعات. بعد تنفيذ الصيغة انقر بزر الفأرة الأيمن على النتيجة، اختر تنسيق الخلايا Format Cells، ثم اذهب إلى قسم رقم Number. حدد عدد المراتب العشرية التي تريد إظهارها بعد الفارزة ثم انقر موافق OK. سيتحول الناتج من صيغة وقت إلى أرقام عشرية. وكما في عملية جمع الوقت، يمكنك أيضا طرح مدة معينة من الوقت من وقت محدد باستخدام دالة الوقت، مثلا إذا كنت ترغب في طرح ساعتين و45 دقيقة من الساعة التاسعة والربع صباحا اكتب الصيغة التالية واضغط Enter. يمثل الرقم 2 الساعات، الرقم 45 الدقائق، والرقم 0 الثواني.
  8. لقد تعرّفنا في الدرس السابق على جداول وورد وتعلّمنا كيفية إنشائها وبعدة طرق، بالإضافة إلى طريقة تحويل النصوص إلى جداول وبالعكس. في هذا الدرس سنتعلّم كيفية تخصيص الجداول أكثر بتعديل تخطيطاتها وتنسيقاتها. تخطيط الجدول توجد جميع الأوامر الخاصة بتخطيط الجدول في تبويب تخطيط Layout الذي يظهر عند تحديد الجدول أو وضع مؤشر الكتابة داخل إحدى خلاياه: إدراج/حذف الصفوف أو الأعمدة لإضافة عمود إلى الجدول، ضع المؤشر داخل العمود الذي تريد إضافة عمود إضافي بجانبه، ثم انقر على Insert Left لإدراج عمود على يسار العمود المحدد، أو Insert Right لإدراج عمود على يمين العمود المحدد: أو، إذا كنت تستخدم إصدار 2013 فما فوق من البرنامج، مرّر مؤشر الفأرة فوق الحد على يمين أو يسار العمود الذي تريد إضافة عمود آخر بجانبه، ثم انقر على أيقونة + التي ستظهر: وبنفس الطريقة تقوم بإضافة الصفوف. ضع المؤشر داخل الصف الذي تريد إضافة صف فوقه أو تحته، ثم انقر على Insert Above لإدراج صف أعلى الصف المحدد، أو Insert Below لإدراج صف أسفل الصف المحدد: أو مرر مؤشر الفأرة فوق حد الصف الذي تريد إضافة صف أعلاه أو أسفله، ثم انقر على أيقونة + التي ستظهر: أما لحذف صف، ضع مؤشر الكتابة داخل إحدى خلايا ذلك الصف، ثم اذهب إلى تبويب: تخطيط Layout > حذف Delete > حذف صفوف Delete Rows ولحذف مجموعة من الصفوف، قم بتحديد خلايا داخل تلك الصفوف (لا يشترط تحديد الصف بالكامل وإنّما خلية واحدة من كل صف) ثم انقر على Delete Rows من قائمة Delete: والأمر نفسه ينطبق على الأعمدة. حدّد خلية داخل العمود (أو مجموعة الأعمدة)، ثم انقر على Delete Columns من قائمة Delete: يمكنك أيضًا الوصول إلى أوامر الإدراج والحذف بالنقر على إحدى خلايا الصف/العمود بزر الفأرة الأيمن: تعديل حجم الخلايا يمكنك التحكم بحجم الخلايا بواسطة الأوامر والخيارات الموجودة في مجموعة حجم الخلية Cell Size في تبويب تخطيط Layout: من قائمة الاحتواء التلقائي AutoFit حدّد الخيار AutoFit Contents لمطابقة حجم الخلايا مع حجم النصوص (أي يصبح عرض العمود وارتفاع الصف أصغر ما يمكن): أو حدّد الخيار AutoFit Window لجعل عرض الجدول ككل يتناسب مع عرض الصفحة (أي ما بين الهوامش) ومن ثم تعديل أبعاد الصفوف والأعمدة وفقًا لذلك: أو الخيار Fixed Column Width لجعل عرض العمود ثابتًا مهما كان حجم النصوص التي يتم إدخالها: لاحظ في الصورة أعلاه كيف يتم إضافة سطر جديد لاحتواء النص كلما قمنا بإضافة نص جديد، وذلك لأننا حدّدنا الخيار Fixed Column Width. إذا كنت ترغب في استخدام عرض محدد للصفوف أو ارتفاع محدد للأعمدة، قم بإدخال قيم الأبعاد في حقولها المخصصة، Height و Width (أو استخدم السهم العلوي لزيادة البعد أو السفلي لتقليله): كذلك يمكنك تغيير أحجام الخلايا يدويًا. ضع المؤشر على حد الصف أو العمود إلى أن يتحول شكله إلى متجهين صغيرين، انقر على الحد (ستلاحظ ظهور خط منقط عبر الصفحة) ثم اسحب إلى الأعلى أو الأسفل لتغيير ارتفاع الصف، أو إلى اليمين أو إلى اليسار لتغيير عرض العمود: لديك أيضًا خيار توزيع الحجم بالتساوي على الأعمدة أو الصفوف المحددة. وهذا الخيار مفيد في توفير الوقت، بدلًا من محاولة تعديل كل صف أو كل عمود على حدة ليصبح حجمها متساوِ. حدّد مجموعة الصفوف/الأعمدة، ثم انقر على Distribute Rows/Distribute Columns: دمج/تقسيم الخلايا في بعض الأحيان تحتاج إلى تحويل مجموعة من الخلايا إلى خلية واحدة، لإدخال عنوان رئيسي لمجموعة من الأعمدة الفرعية مثلًا. للقيام بذلك، حدد مجموعة الخلايا التي تريد دمجها ثم انقر على أمر دمج الخلايا Merge Cells في مجموعة Merge: وبذلك ستتحول مجموعة الخلايا إلى خلية واحدة: أما للقيام بالعملية المعكوسة، أي تحويل الخلية الواحدة إلى مجموعة خلايا، حدد الخلية، ثم انقر على أمر تقسيم الخلايا Split Cells في مجموعة Merge: في مربع الحوار Split Cells قم بتحديد عدد الصفوف وعدد الأعمدة التي تريد تقسيم الخلية إليها ثم انقر على OK: محاذاة النصوص في الخلايا يمكنك التحكم بمحاذاة النصوص بواسطة الأوامر الموجودة ضمن مجموعة Alignment. يمكنك أن تجعل النص يتوسط مركز الخلية، أعلاها، أو أسفلها. وكذلك محاذاته إلى أسفل/أعلى اليمين، أو أسفل/أعلى اليسار. مرر الفأرة فوق كل أمر لمعرفة وظيفته، ثم انقر عليه لتطبيقه (لا يُشترط تحديد النص قبل تطبيق الأمر، يكفي أن تضع المؤشر داخل الخلية التي تحتوي النص): من خيارات المحاذاة الأخرى هو تغيير اتجاه النص وجعله عموديًا. ضع المؤشر داخل الخلية التي تحتوي النص الذي تريد تغيير اتجاهه ثم انقر على أمر اتجاه النص Text Direction: تنسيق الجدول توجد جميع خيارات وأوامر تنسيق الجداول ضمن تبويب تصميم Design السياقي. تعديل نمط الجدول توجد في معرض أنماط الجدول Table Style مجموعة متنوعة من الأنماط الجاهزة التي يمكن الاختيار من بينها، وهي من الطرق السريعة لتغيير تنسيق الجدول. بعض الأنماط بسيطة وبألوان فاتحة، وبعضها تحتوي على تفاصيل أكثر وألوان أكثر. ضع المؤشر داخل إحدى خلايا الجدول، ثم قم بتمرير الفأرة فوق الأنماط في المعرض لمعاينتها على الصفحة بشكل مباشرة، وعندما تحدد النمط المناسب لك، انقر عليه لاختياره: قد تختلف الأنماط باختلاف هيكلية الجدول، إذ يقوم البرنامج بعرض الأنماط التي تتناسب مع تخطيط الجدول المحدد. لاحظ كيف تختلف الأنماط في الصورة أدناه عن الأنماط الموضحة في الصورة أعلاه، وذلك بسبب اختلاف تخطيط الجدول: في مجموعة خيارات أنماط الجدول Table Style Options، ستلاحظ وجود مجموعة من الخيارات، بعضها مؤشر بشكل افتراضي. تختلف الخيارات المؤشرة حسب النمط المطبّق. تستطيع تأشير/إلغاء تأشير هذه الخيارات حسب ما تراه ملائمًا لجدولك. يمكنك مثلًا تأشير الخيار Total Row إذا احتوى جدولك على صف أخير لعرض الإجمالي، أو الخيار Last Column إذا كان الإجمالي في آخر عمودي في الجدول. وسيكون خيار Bended Rows مفيدًا إذا كان عدد الصفوف في جدولك كبيرًا، مما يساعد على سهولة القراءة وتمييز البيانات بسبب تلوين الصفوف الفردية بلون مختلف عن الصفوف الزوجية: تطبيق حدود وتظليل للخلايا إذا لم تكن ترغب في استخدام الأنماط الجاهزة، وتريد أن يكون جدولك بمظهر مخصص أكثر، يمكنك استخدام أوامر الحدود والتظليل Borders & Shading. من مجموعة Borders يمكنك اختيار نمط، سمك ولون الحد، ومن ثم رسمها يدويًا: وكذلك لديك خيار إضافة حدود لجميع جوانب الخلية المحددة، أو لجانب واحد فقط من قائمة Borders: يمكنك استكشاف المزيد من الخيارات والتحكم بها بالنقر على Borders & Shading (أو على أيقونة مشغل Border & Shading الموجدة عند زاوية مجموعة Borders). وفي الحالتين سيُفتح نفس مربع الحوار: من قسم Custom، اختر نمط الحد من قائمة Style، لونه من قائمة Color وعرضه من قائمة Width، واستخدم الأزرار في حقل المعاينة Preview لتطبيق الحدود. ومن قائمة Apply To حدد فيما إذا كنت تريد تطبيق الحدود على الجدول Table، على الخلايا Cell، أو على الفقرة Paragraph. انقر على OK بعد تخصيص جميع خياراتك. ولإضافة لون تعبئة للخلايا استخدم أمر Shading. قم أولا بتحديد الخلية (أو مجموعة الخلايا) التي تريد تعبئتها ثم انقر على تظليل Shading لاختيار أحد الألوان في القائمة (أو غيرها من الألوان بالنقر على More Colors): استكشف خيارات الحدود والتظليل وخصص جداولك ونسّقها بالشكل الذي تريده: من الخيارات المفيدة عند العمل على المستندات بصورة عامة هو إنشاء الجداول بدون حدود. إذ تحتاج في بعض الأحيان إلى إدراج قائمة من النصوص بهيكلية جدول، لكنك لا تريد لها أن تبدو كالجدول. وهذا الأمر يمكن تحقيقه ببساطة بإزالة الحدود. ضع المؤشر داخل أحد خلايا الجدول، ثم انقر على مسح Clear من معرض الأنماط: ستختفي حدود الجدول، لكن ستبقى الخطوط المنقطة ظاهرة، وهذه هي خطوط الشبكة التي يمكنك جعلها مخفية أيضًا بإلغاء تفعيل أمر عرض خطوط الشبكة View Gridlines في تبويب تخطيط Layout: عند إخفاء الحدود وخطوط الشبكة، سيتحول الجدول ليبدو كالنصوص العادية. ولكنّنا قلنا "إخفاء" وليس "إزالة"، أي أنّه في النهاية سيبقى محافظًا على هيكلية وخصائص الجدول. وفي هذه الحالة ما زال بإمكانك تغيير تخطيطه وتغيير تنسيقه من تبويبي Design و Layout، وكما وضّحنا في الفقرات السابقة:
  9. الجداول هي عبارة عن شبكة من الصفوف والأعمدة التي تُستخدم لتمثيل بيانات نصية أو رقمية، وهي من العناصر الشائعة لتنظيم البيانات وتنسيقها في المستندات. تُتاح في ميكروسوفت وود إمكانية إنشاء جداول فارغة، أو تحويل النصوص إلى جداول. وكذلك إمكانية تطبيق مختلف الأنماط والتنسيقات على الجدول. كل ذلك بخطوات سهلة جدا. إنشاء جدول جديد فارغ هناك عدة طرق لإنشاء جدول فارغ، وجميعها يمكن الوصول إليها عبر أمر Table في تبويب إدراج Insert: الطريقة الأولى، وهي الطريقة السريعة والمختصرة، بتمرير مؤشر الفأرة فوق الجدول المصغّر لتحديد حجم الجدول (عدد الصفوف وعدد الأعمدة)، وسيتم تمييز الحقول باللون البرتقالي، وفي نفس الوقت تُعرض معاينة مباشرة للجدول على الصفحة. عندما تحدد حجم الجدول المطلوب انقر بزر الفأرة الأيسر لإدراجه. أقصى عدد للأعمدة × الصفوف التي يمكن إنشاءها بهذه الطريقة هو 10 × 8. إذا زاد عدد الأعمدة عن 10، أو عدد الصفوف عن 8، استخدم الطريقة الثانية، وهي بواسطة خيار إدراج جدول Insert Table: في مربع الحوار Insert Table قم بإدخال عدد الصفوف وعدد الأعمدة المرغوب. يمكنك أيضًا التحكم في أسلوب احتواء بيانات الجدول. قم بتأشير الخيار Fixed Column Width إذا رغبت في أن يكون عرض جميع الأعمدة ثابتًا، أو الخيار AutoFit to contents إذا كانت محتويات الجدول بأحجام مختلفة وترغب في مطابقة عرض كل عمود مع حجم محتواه. أو الخيار AutoFit to window لجعل عرض الجدول ككل مطابقًا لعرض الصفحة (أي من الهامش إلى الهامش). وإذا رغبت في أن يقوم البرنامج بتذكر الأبعاد التي قمت بإدخالها في كل مرة تنشئ فيها جدولًا جديدًا، قم بتأشير الخيار Remember dimensions for new tables: الطريقة الثالثة هي باستخدام خيار رسم جدول Draw Table: بواسطة هذا الخيار يمكنك تصميم جدولك الخاص برسم حدود الصفوف والأعمدة يدويًا. سيتحول شكل المؤشر إلى قلم، انقر على الموضع الذي تريد بدء رسم الجدول منه، ثم اسحب الفأرة إلى الموضع المقابل. بعد ذلك ابدأ بتقسم المربع إلى أعمدة وصفوف وبالتخطيط المرغوب: من تبويب تصميم Design السياقي، وبالتحديد من مجموعة حدود Borders، يمكنك اختيار لون الحدود التي ترسمها من قائمة لون القلم Pen Color: تستطيع رسم حدود جديدة باللون المخصص، أو تمرير القلم مجددًا فوق الحدود المرسومة لتغيير لونها إلى اللون الذي اخترته: وكذلك يمكنك تغيير سمك الحدود ونمطها من قائمتي Line Style و Line Weight. وبنفس الطريقة ارسم حدودًا جديدة أو مرر القلم فوق الحدود المرسومة مسبقًا لتغيير سمكها أو نمطها: لإلغاء تفعيل أداة الرسم اضغط على مفتاح ESC من لوحة المفاتيح، أو انقر على أمر Draw Table من تبويب تخطيط السياقي Layout: و لِمَسح حد (أو مجموعة حدود) من الجدول، انقر على أداة الممحاة Eraser من تبويب Layout لتفعيلها، ثم انقر على الحد الذي تريد مسحه: لإدخال نصوص أو محتوى آخر، كالصور أو الأشكال، في خلايا الجدول، ضع مؤشر الكتابة داخل الخلية وابدأ بالكتابة (أو الإدراج). للتنقّل بين الخلايا استخدم مفاتيح الأسهم من لوحة المفاتيح. كما يمكنك استخدام المفتاح Tab للانتقال إلى الخلية التالية. يجب أن تأخذ في الاعتبار أنّه لا يمكن استخدام المفتاح Enter لإضافة صف جديد، إذ أنّه سيقوم بإضافة سطر جديد داخل الصف. بدلًا من ذلك ضع مؤشر الكتابة في آخر خلية في آخر صف ثم اضغط على المفتاح Tab لإضافة صف جديد تحت آخر صف في الجدول (سنفصل الشرح أكثر حول إضافة صفوف وأعمدة جديدة في درس آخر -إن شاء الله-. إدراج جدول بيانات اكسل داخل مستند وورد إذا كنت ترغب في استخدام وورد في العمل على جدول بخصائص جداول اكسل، قم بإدراج Excel Spreadsheet من قائمة Table: بإمكانك تغيير حجم الجدول بعد إدراجه باستخدام المقابض handles عند حدوده. وستلاحظ تغيّر شكل نافذة البرنامج لتحتوي التبويبات الإضافية (تبويب صيغ Formulas وتبويب بيانات Data) الخاصة ببرنامج اكسل، بالإضافة إلى العناصر الأخرى المكونة لمصنفات اكسل مثل شريط الصيغة وحقل الاسم: بإمكانك استخدام خصائص وأوامر أكسل كإدراج الصيغ، التنسيق الشرطي للخلايا، التعبئة التلقائية...إلخ. للخروج من هذه النافذة انقر على أية منطقة فارغة ضمن الصفحة. ولفتح نافذة اكسل داخل نافذة وورد مجددًا، حدد الجدول ثم انقر عليه بشكل مزدوج بزر الفأرة الأيسر. إدراج الجداول السريعة الجداول السريعة Quick Tables هي مجموعة من الجداول المنسقة والمجهّزة مسبقًا على هيئة قوالب قابلة للتحرير. لإدراج جدول سريع اذهب إلى تبويب: Insert > Table > Quick Tables اختر الجدول المرغوب من المعرض ثم انقر عليه لإدراجه: بعد ذلك يمكنك تحرير محتوياته أو تغيير تنسيقه وتخطيطه من تبويبي Design وLayout السياقيين. تحويل النصوص إلى جدول (أو بالعكس) لتحويل قائمة من النصوص إلى جدول، يجب أن يفصل بين محتويات القائمة فاصل، كالفارزة المنقوطة (؛)، الفقرة paragraph، علامة الجدولة tab، إلخ. لتحويل النص إلى جدول، قم بتحديده أولًا، ثم اذهب إلى تبويب: Insert > Table > Convert Text to Table كما تلاحظ في الصورة أعلاه، قمنا بالفصل بين النصوص باستخدام مفتاح tab. من مربع الحوار Convert Text to Table. حدّد أسلوب احتواء النصوص، سواءً كنت تريد استخدام عرض ثابت لجميع الأعمدة، مطابقة عرض الأعمدة مع حجم المحتوى، أو جعل عرض الجدول مساويًا لعرض الورقة. وكذلك قم بتحديد طريقة فصل النص، سواءً كان عند الفقرات paragraphs، عند الفاصلة المنقوطة semicolons، عند علامات الجدولة tab، أو عند علامة مخصصة تقوم بإدخالها في حقل Other. كما لديك خيار إضافة أعمدة إضافية إلى الجدول بإدخال عدد الأعمدة في حقل Number of Columns: بعد تحديد الخيارات انقر على OK. بما أننا قمنا باختيار AutoFit to contents، تم إنشاء الأعمدة بعرض ملائم لحجم النصوص. إذا أردت القيام بعملية معكوسة، أي تحويل جدول ما إلى نصوص، ضع المؤشر داخل أحد خلايا الجدول ثم اذهب إلى تبويب تخطيط Layout وانقر على أمر Convert Table to Text في مجموعة Data: في مربع الحوار الذي سيظهر حدد طريقة فصل النصوص، ثم انقر على OK: سيتم تحويل الجدول إلى نص عادي. وفي حال أنّك اخترت الفصل بين النصوص بعلامات الجدولة tab، ستلاحظ وجود مواضعها على المسطرة والتي بواسطتها يمكنك التحكم في المسافات بين النصوص:
  10. من الممكن أن تكون المعايرة مهمّة صعبة جدًا، وخاصّة عند العمل مع بيانات ضخمة، حيث أنّ أصغر تغيير من الممكن أن يتسبب بتغيرات غير متوقعه ( إيجابية أو سلبية) على الأداء ككل. تتم معظم عمليات معايرة SQl database في الشركات المتوسطة والصغيرة من قبل مدير قاعدة البيانات (Database Administrator (DBA، لكن صدقني، يوجد العديد من المطوّرين بحاجة للقيام بعمليات متعلقة بالإدارة، وأكثر من ذلك أنا شاهدت أنّهم يقومون فعليًّا بعمليات الإدارة في كثير من الشركات التي تتطلع للعمل مع المطوّرين، حين يتطلب الوضع ببساطة تقنيات مختلفة لحل المشاكل، والتي يمكن أن تؤدي إلى خلاف بين زملاء العمل. عند التعامل مع بيانات ضخمة، فإنّ التغيير الصغير قد يؤدي إلى تغيرات غير متوقعة على الأداء. وبناء على ذلك، فإنّ هيكلية الشبكة أيضًا لها تأثير، افترض أن فريق الإدارة DBA team مع قواعد البيانات التي يديرونها يتوضع في الطابق العاشر، بينما يتوضع المطوّرين في الطابق الخامس عشر، أو حتى في بناء مختلف تحت هيكلية منفصلة تمامًا، وبالتالي من الصعب العمل المشترك بينهم بمرونة تحت هذه الظروف، سأقوم بإتمام شيئين هامين في هذه المقالة: تزويد المطوّرين بتقنيات معايرة لقواعد بيانات خاصة بالمطوّرين. شرح كيف يمكن لمطوّري ومديري قواعد البيانات العمل معًا بكفاءة. تحسين قاعدة البيانات (في Codebase) الفهارس إذا كنت حديثًا في مجال قواعد البيانات أو حتى تسأل نفسك، “ماهي معايرة SQL”، فيجب أن تعلم أنّ الفهرسة هي طريقة فعّالة لمعايرة قاعدة البيانات database SQL الخاصة بك، والتي غالبًا ما يتم إهمالها خلال عملية التطوير، كمصطلح أولي: الفهرس index هو هيكلة للبيانات تسمح بتسريع عملية استخلاص هذه البيانات من جدول قاعدة البيانات، عن طريق تأمين عمليات بحث عشوائية سريعة، وطريقة فعّالة للوصول إلى السجلات المرتبة، هذا يعني أنّه حالما تقوم بإنشاء فهرس يمكنك القيام بعمليات الاستعلام والترتيب بشكل أسرع. تستخدم الفهارس أيضًا لتعريف المفتاح الرئيسي أو فهرس فريد يضمن أنّ أي عمود آخر لن يحتوي نفس القيمة. بالطبع إنّ موضوع الفهرسة متنوع وهام ولا يمكنني إعطاءه حقه في هذا الوصف الموجز. إذا كنت حديثًا على موضوع الفهرسة فأنا أفضل أن تستخدم هذا المخطط لهيكلة استعلاماتك. بشكل أولي، الهدف هو فهرسة أعمدة البحث والترتيب. لاحظ أنه إذا كانت تجري بشكل مستمر عمليات إدخال INSERT أو تعديل UPDATE أو حذف DELETE، فيجب عليك الحذر من القيام بعمليات الفهرسة، حيث يمكن أن يؤدي إلى هبوط في الأداء، إذ أنّه يتطلب تعديل جميع الفهارس بعد هذه العمليات. كذلك مديري قواعد البيانات يقومون بحذف الفهارس قبل القيام مثلًا بإدخال أكثر من مليون سجل دفعة واحدة، وذلك لتسريع عملية الإدخال، ثم يقومون بإعادة إنشاء الفهارس بعد انتهاء الإدخال، تذكر على أية حال أن حذف الفهارس يؤثر على كافة الاستعلامات على الجداول، لذلك هذه الطريقة محبذة فقط عند عملية إدخال واحدة ضخمة للبيانات. معايرة أداء SQL Server: خطط التنفيذ بالمناسبة، أداة خطة التنفيذ في SQL Server مفيدة لإنشاء الفهارس. مهمتها الأساسية تتمثل في الإظهار المرئي لطرق تحصيل البيانات المختارة من قبل منسق استعلام SQL Server. للحصول على خطة التنفيذ (في برنامج الإدارة SQL Server Management Studio)، قم فقط بالنقر على Include Actual Execution Plan" CTRL + M" قبل بدء تشغيل الاستعلام. بعدئذ ،سوف يظهر إطار ثالث اسمه “Execution Plan”، حيث يمكن أن تشاهد اكتشاف فهرس مفقود، ولإنشائه قم بالنقر بالزر اليميني على execution plan وقم باختيار Missing Index Details، بكل بساطة. معايرة استعلام SQL عن طريق تجنب حلقات الشفرة تخيّل سيناريو يقوم فيه 1000 استعلام بإضافة بيانات على قاعدة بياناتك بشكل تسلسلي، كالتالي: for (int i = 0; i < 1000; i++) { SqlCommand cmd = new SqlCommand("INSERT INTO TBL (A,B,C) VALUES..."); cmd.ExecuteNonQuery(); } يجب عليك تجنب مثل هذه الحلقات في شفرتك، وكمثال سنقوم بتحويل باستخدام العبارات الفريدة INSERT UPDATE مع أسطر وقيم عدّة. INSERT INTO TableName (A,B,C) VALUES (1,2,3),(4,5,6),(7,8,9) -- SQL SERVER 2008 INSERT INTO TableName (A,B,C) SELECT 1,2,3 UNION ALL SELECT 4,5,6 -- SQL SERVER 2005 UPDATE TableName SET A = CASE B WHEN 1 THEN 'NEW VALUE' WHEN 2 THEN 'NEW VALUE 2' WHEN 3 THEN 'NEW VALUE 3' END WHERE B in (1,2,3) تأكد من أن عبارة تتجنب تحديث القيم المخزنة إذا كانت تتطابق مع القيمة الموجودة. مثل هذه يمكن أن تحسّن أداء الاستعلام بشكل كبير عن طريق تعديل مئات السجلات بدل الآلاف وكمثال: UPDATE TableName SET A = @VALUE WHERE B = 'YOUR CONDITION' AND A <> @VALUE -- VALIDATION تجنّب الاستعلامات الفرعيّة المرتبطة Correlated Subqueries الاستعلامات المرتبطة هي الاستعلامات التي تستخدم قيم من الاستعلام الأب، هذه النوع من الاستعلامات ينحو إلى العمل سجل بعد سجل row-by-row، مرة لكل سجل معاد من الاستعلام الخارجي الأب، ولذلك فإنه ينقص أداء استعلام SQl. المطوّرين الحديثين غالبًا ما يبنون استعلاماتهم على هذه الشاكلة لأنها عادة الطريقة الأسهل. هنا تجد مثال عن الاستعلامات المرتبطة: SELECT c.Name, c.City, (SELECT CompanyName FROM Company WHERE ID = c.CompanyID) AS CompanyName FROM Customer c بشكل خاص، المشكلة تكون بأن الاستعلام الداخلي(...SELECT CompanyName) ينفذ لكل سجل مسترجع من الاستعلام الخارجي (...SELECT c.Name)، لكن لماذا العودة إلى مرّة ثم أخرى في كل مرة يعالج فيها سجل من الاستعلام الخارجي؟ التقنية الافضل لمعايرة الأداء تكون بمعاملة الاستعلام الفرعي كعملية ربط join SELECT c.Name, c.City, co.CompanyName FROM Customer c LEFT JOIN Company co ON c.CompanyID = co.CompanyID وبهذه الحالة نقوم بالمرور على جدول Company مرة واحدة ، نربطه بجدول Customer، وعندها يمكننا الحصول على القيم التي نريدها (co.CompanyName) بشكل أفضل. الاختيار باعتدال Select Sparingly واحدة من أهم نصائح المعايرة هو تجنب استخدام تعليمة SELECT * . وبدلًا من ذلك يجب تحديد الأعمدة التي تحتاجها فقط مره ثانية. هذا الأمر بسيط، لكن هذا الخطأ منتشر، افترض جدولًا بمئات الأعمدة وملايين السجلات فإذا كان تطبيقك يحتاج إلى عدد محدّد من الأعمدة فقط، فلا حاجة لاستجلاب جميع البيانات، لأن ذلك تضييع للمصادر كمثال: SELECT * FROM Employees مقابل SELECT FirstName, City, Country FROM Employees إذا كنت بالفعل تحتاج إلى كل الأعمدة ، قم بتسميتهم ضمن الاستعلام، هذه ليست قاعدة، لكنها طريقة للمعايرة و لتجنب الأخطاء المستقبلية. كمثال إذا كنت تستخدم التعليمة INSERT... ...SELECT وتم تغيير الجدول عن طريق إضافة عمود جديد، عندها ربما تقع في مشكلة إذا كان هذا العمود غير مطلوبًا في الجدول الهدف وكمثال: INSERT INTO Employees SELECT * FROM OldEmployees Msg 213, Level 16, State 1, Line 1 Insert Error: Column name or number of supplied values does not match table definition ولتجنب هذا الخطأ عليك تسمية كل عمود بشكل مستقل. INSERT INTO Employees (FirstName, City, Country) SELECT Name, CityName, CountryName FROM OldEmployees ملاحظة: على أية حال، هنالك بعض الحالات يكون فيها استخدام SELECT مناسبًا، كمثال من أجل الجداول المؤقتة، وهذا يقودنا الى الفقرة التالية. استخدام الجداول المؤقتة Temporary Tables الجداول المؤقتة عادة ما تزيد تعقيد الاستعلام، فإذا كان بالإمكان كتابة شيفرتك بطريقة بسيطة ومباشرة، فأنا أنصحك بتجنب الجداول المؤقتة. لكن إذا كنت تمتلك إجرائية مخزّنة stored procedure مع عمليات تعديل على البيانات لا يمكن إتمامها باستعلام واحد ، يمكنك استخدام الجداول المؤقتة كوسيط لمساعدتك في تحصيل النتائج النهائية. عندما تودّ أن تقوم بعملية ضم جدول ضخم وهنالك قيود على الجدول المذكور، يمكنك تحسين أداء قاعدة البيانات عن طريق ترحيل البيانات الى جدول مؤقت، والقيام بعملية ضم ذلك الجدول، حيث ان الجدول المؤقت يحتوي على سجلات أقل من الجدول الأساسي الضخم، ولذلك ستتم عملية الضم بشكل أسرع. القرار ليس واضح بشكل دائم، ولكن هذا المثال سوف ينبهك للحالات التي يمكنك فيها استخدام الجداول المؤقتة. تخيّل جدول الزبائن بملايين من السجلات، وعليك أن تقوم بعملية الضم لمنطقة محدّدة، يمكنك القيام بذلك عن طريق استخدام SELECT INTO ،والقيام بعملية الضم مع الجدول المؤقت. SELECT * INTO #Temp FROM Customer WHERE RegionID = 5 SELECT r.RegionName, t.Name FROM Region r JOIN #Temp t ON t.RegionID = r.RegionID لاحظ : مطوري SQl أيضًا يتجنبون استخدام SELECT INTO لإنشاء الجداول المؤقتة، لأن هذا الأمر يؤدي إلى قفل قاعدة بيانات tempdb database مما يمنع باقي المستخدمين من إنشاء جداول مؤقتة ، ولحسن الحظ تم التصحيح في النسخة السابعة وما بعدها. وكحل بديل عن استخدام الجداول المؤقتة يمكن استخدام الاستعلام الفرعي كجدول. SELECT r.RegionName, t.Name FROM Region r JOIN (SELECT * FROM Customer WHERE RegionID = 5) AS t ON t.RegionID = r.RegionID لكن انتظر، هنالك مشكلة في الاستعلام الثاني، كما تم شرحه أعلاه، يجب تضمين الأعمدة التي نحتاجها فقط (عدم استخدام * SELECT )، يجب أخذ هذا الأمر بالحسبان SELECT r.RegionName, t.Name FROM Region r JOIN (SELECT Name, RegionID FROM Customer WHERE RegionID = 5) AS t ON t.RegionID = r.RegionID كل هذه الطرق ستعيد نفس البيانات، لكن باستخدام الجداول المؤقتة، وكمثال يمكننا انشاء فهرس في جدول مؤقت لتحسين الأداء. وأخيرًا، عندما تنهي عملك بالجدول المؤقت، قم بحذفه لتنظيف مصادر tempdb بدل أن تنتظر عملية الحذف الاوتوماتيكي (عندما يتم إنهاء اتصالك مع قاعدة البيانات) DROP TABLE #temp هل يتواجد السجل الخاص بي؟ تقنية المعايرة هذه الخاصة ب SQl متعلقة باستخدام التعليمة ()EXISTS إذا كنت تنوي تفحص فيما إذا كان السجل موجودًا استخدم ()EXISTS بدل من ()COUNT. حيث أن ()COUNT يقوم بفحص كامل الجدول، معتبرًا جميع القيم التي تطابق شروطك، بينما ()EXISTS ستوقف الفحص حالما تجد قيمة مطابقة لما تحتاجه. وهذا يفضي إلى أداء أفضل و شفرة أوضح IF (SELECT COUNT(1) FROM EMPLOYEES WHERE FIRSTNAME LIKE '%JOHN%') > 0 PRINT 'YES' مقابل IF EXISTS(SELECT FIRSTNAME FROM EMPLOYEES WHERE FIRSTNAME LIKE '%JOHN%') PRINT 'YES' معايرة قاعدة البيانات (في المكتب) مديري ومطوري قاعدة البيانات غالبًا ما يتجادلون فيما إذا كانت القضايا التي يواجهونها متعلقة أو غير متعلقة بالبيانات. ومن خبرتي الشخصية أقدم هنا مجموعة من النصائح لكليهما كي يتمكنا من العمل بشكل أكثر فاعلية. للمطوّرين: إذا توقف تطبيقك عن العمل فجأة، فقد لايكون الأمر متعلقًا بقاعدة البيانات، كمثال ربما هنالك مشكلة بالشبكة، قم بالتحقق قليلًا قبل أن ترجع السبب إلى مدير قاعدة البيانات. حتى ولو كنت بارعًا في نمذجة بيانات SQl، قم بطلب المساعدة من مدير قاعدة البيانات في المخطط العلائقي relational diagram فلديه الكثير ليقدمه لك. مديري قاعدة البيانات لا يحبون التغيرات السريعة، هذا طبيعي، عليهم تحليل قاعدة البيانات بشكل كامل واكتشاف مدى تأثير أي تغيير من كافة الزوايا. تغيير بسيط في عمود يمكن أن يستغرق اسبوعًا للإنجاز هذا بسبب أن الخطأ قد يعتبر خسارة ضخمة للشركة. كن صبورًا! لا تقم بالطلب من مدير قاعدة بيانات SQL بإجراء تغييرات على البيانات في بيئة العمل وقت التشغيل. إذا كنت تود الوصول الى قاعدة البيانات النشطة، يجب عليك تحمل المسؤولية عن كافة التغيرات. لمديري قاعدة بيانات SQl: إذا كنت لا تحب أن يسألك النّاس بشأن قاعدة البيانات، قم بتزويدهم بلوحة تبيّن الحالة وقت التشغيل. فالمطوّرين عادة لديهم شك بحالة قاعدة البيانات، وهذه اللوحة تساعد في توفير الوقت والجهد للجميع. ساعد المطوّرين في اختبارات ضمان الجودة للبيئة. قم بتسهيل عملية محاكاة عمل المخدّم مع اختبار بسيط على بيانات حقيقية. مما يوفر الوقت بشكل كبير عليك وعليهم. يقضي المطوّرين كل اليوم متعاملين مع أنظمة بمفاهيم عمل تتغير بشكل مستمر. تفهمك لذلك يجعل الأمر أكثر مرونة، ويمكنك من تجاوز بعض القواعد في اللحظات الحرجة. قواعد البيانات تتطور، سيأتي اليوم الذي تحتاج فيه إلى نقل بياناتك الى إصدار جديد، حيث يعتمد المطوّرين على خصائص جديدة في كل إصدار جديد، لذلك خطط و تحسب لعملية النقل بدلًا من أن تقوم برفض هذه التغيرات. ترجمة -وبتصرّف- للمقال SQL-Database-Performance-Tuning-for-Developers لصاحبه Rodrigo Koch حقوق خلفية الصورة البارزة Gradient clouds background محفوظة لـ Vexels
  11. تحليلات ماذا-لو هي من الخصائص الرائعة والمفيدة لعمل توقعات دقيقة ومعرفة التأثيرات التي تحدث على النتائج نتيجة تغيير في قيم المدخلات. تندرج تحت تحليلات ماذا-لو في اكسل ثلاث أدوات؛ السيناريوهات Scenarios وجداول البيانات Data Tables التي تتشابه من حيث مبدأ العمل. حيث تحدد النتائج المتوقعة بصورة دقيقة اعتمادا على مجموعة من المدخلات. والأداة الثالثة هي الاستهداف Goal Seek التي يعاكس عملها عمل الأداتين سابقتي الذكر. حيث تقوم بتحديد قيم المدخلات اعتمادا على نتيجة معيّنة. الاستهداف Goal Seek يمكنك تخيّل عمل هذه الأداة على أنّه معكوس عمل الصيغ. ففي الصيغة نقوم بإدخال مجموعة من القيم المعرّفة لنتوصل إلى نتيجة مجهولة. أما في الاستهداف فالنتيجة معلومة، ولكن نريد معرفة المدخلات التي توصلنا إلى هذه النتيجة. مثال: لنفترض أننا نعمل على عدد من المشاريع خلال الشهر: وفي هذا الشهر هدفنا تحقيق ربح مقداره 1750$. المطلوب هو معرفة مقدار الربح الذي يجب أن نحققه من "المشروع 10". عند استخدام الاستهداف، نحتاج إلى تحديد خلية تحتوي على الصيغة أو الدالة التي يتم التنبؤ بالمدخلات على أساسها. سنستخدم هنا دالة الجمع SUM لإيجاد إجمالي الربح لجميع المشاريع (من ضمنها "المشروع 10" حتى وإن كانت قيمته مجهولة، وسيتم اعتبارها صفر لأنّ الخلية B10) فارغة: كما يظهر من نتيجة الجمع أننا حققنا لحد الآن ربحا مقداره 1537$، لكن ما مقدار الربح الذي يجب تحقيقه من المشروع العاشر للوصول إلى 1750$؟ سنستخدم الاستهداف لمعرفة ذلك. نُحدّد الخلية التي نريد تغيير قيمتها، وهي الخلية B11 في هذا المثال التي تحتوي على المجموع الذي نريده تغييره إلى 1750$، ثم نذهب إلى تبويب: بيانات Data > تحليل ماذا لو What if analysis > الاستهداف Goal Seek في حقل تعيين الخلية Set Cell، نحدد الخلية التي تحتوي على الصيغة التي نريد تحليلها، وهي الخلية B11 التي حددنها في الخطوة السابقة. في حقل إلى القيمة To Value نحدد القيمة التي نريد أن تقوم الصيغة بإرجاعها، أي الهدف، وهي 1750 في هذا المثال. وفي حقل بتغيير الخلية By changing cell نحدد الخلية التي نريد تغيير قيمتها لحين الوصول إلى الهدف، وهي الخلية B10 في هذا المثال: بعد أن ننقر موافق OK، سيقوم البرنامج تحليل الصيغة وتجربة عدة قيم حتى يصل إلى القيمة المستهدفة. وكما يبدو من نتيجة هذا المثال، نحتاج إلى تحقيق ربح مقداره 213$ من المشروع العاشر كي يصبح إجمالي الربح لهذا الشهر مساوٍ لـ 1750$: ننقر موافق OK لحفظ النتيجة، أو إلغاء Cancel لإلغاء عملية الاستهداف. جداول البيانات Data Tables باستخدام جداول البيانات يمكنك استبدال متغيّر أو متغيّرين فقط في الصيغة ولعدد غير محدود من القيم لكي يتم إجراء تحليلات ماذا-لو عليها والحصول على النتائج المتوقعة على شكل جدول. جداول البيانات بمتغير واحد إذا كانت لديك صيغة (أو أكثر) تحتوي على متغيّر واحد وترغب في توقّع التغييرات التي تحدث لبياناتك إذا تغيّرت قيم هذا المتغيّر. قم بإدخال القيم التي تريد حساب نتائجها على شكل صف أو عمود واستخدم جدول البيانات ليكمل المهمة. مثال: لقد تم إيجاد مقدار العمولة بضرب النسبة المئوية للعمولة في المبيعات. المطلوب هو حساب العمولة إذا تغيّرت نسبة العمولة حسب القيم المدخلة (10%، 11%، 12%...) نلاحظ في شريط الصيغة أنّ الصيغة تحتوي على متغيّرين؛ B3 وهي المبيعات، وB4 وهي نسبة العمولة، لكن متغيّرا واحدا هو الذي سنقوم بتحليله، وهو نسبة العمولة. سنقوم أولا بنسخ الصيغة إلى الخلية B8 بجعلها مساوية للخلية B5 التي تحتوي على الصيغة الأصلية: نقوم بتحديد الجدول في ورقة العمل ثم نذهب إلى تبويب: بيانات Data > تحليلات ماذا-لو What-if analysis > جداول البيانات Data Table ما نريده هنا هو استبدال قيم نسبة العمولة في الخلية B4 بالقيم الموجودة في الخلايا من A8 إلى A14، لذلك سنحدد هذه الخلية (B4) في حقل Column input cell: ننقر موافق OK وسنحصل على النتائج بلمحة! جداول البيانات بمتغيرين بنفس مبدأ عمل الجداول ذات المتغير الواحد، تُستخدم لمعرفة التأثير على النتائج الذي يحدث عند تغيّر قيمة متغيّرين في الصيغة. مثال: في الجدول أدناه نريد معرفة قيمة العمولة فيما إذا تغيّرت قيم نسبة العمولة والمبيعات أيضا: سنقوم بنسخ الصيغة من الخلية B5 إلى الخلية التي تمثل تقاطع صف المبيعات وعمود نسبة العمولة (A8): نحدد الخلايا من A8 حتى الخلية K14، ثم نذهب إلى تبويب: بيانات Data > تحليلات ماذا-لو What-if analysis > جداول البيانات Data Table في حقل Row input table سنحدد الخلية B3 لأنّنا نريد استبدال القيم في هذه الخلية بقيم المبيعات في الصف 8. وفي حقل Column input table سنحدد الخلية B4 لأننا نريد استبدال القيم في هذه الخلية بقيم نسبة العمولة في العمود A: ننقر موافق OK وسيمتلئ الجدول على الفور: ملاحظة: جداول البيانات تعمل مع متغيّرين فقط، لكن تحلل العدد الذي تريده من قيم هذه المتغيّرات. أما السيناريوهات فيمكن أن تعمل مع أي عدد من المتغيّرات لكن لا تستوعب سوى 32 من قيم هذه المتغيّرات.
  12. سنتعرّف في هذا الدرس على الجداول في تطبيق مستندات جوجل ولنتعّرف عليها بشكل أفضل سنقوم بتطبيق عملي عبر إنشاء سيرة ذاتية باستخدام الجداول. لإدراج جدول في المستند إذهب إلى القائمة إدراج > جدول أو من القائمة جدول > إدراج جدول وبذات الطريقة المتبعة في برامج الوورد والرايتر يمكنك سحب مؤشر الفأرة فوق شكل الجدول المُصغّر ضمن القائمة لاختيار عدد الصفوف والأعمدة المراد إدراجها ضمن الجدول. في تطبيقنا العملي هذا سنقوم مبدئيًّا بإدراج جدول مؤلف من أربعة أعمدة وعشرة صفوف. سيظهر لنا الجدول بعرض صفوف يصل كامل عرض المستند وارتفاع أعمدة افتراضي يعادل سطرًا كتابيًا واحدًا. وللجدول حدود داخلية وخارجية متماثلة بحجم 1 نقطة. سنكتب الآن اسم صاحب السيرة الذاتية في الخلية الأولى وسيكون على سبيل المثال محمد محمد. يمكننا تطبيق تنسيقات النص المختلفة على الإسم وبما أنه محور هذا المستند فيجب أن يكون عريضًا (غامق) وبحجم أكبر قليلًا. وفي الخلية التي تحتها سندرج صورة صاحب السيرة الذاتية عبر القائمة إدراج > صورة ثم حمّل الصورة التي في حاسوبك أو الموجودة ضمن سحابة جوجل الخاصة بك أو من أي من الطرق المتوفرة لإدراج الصور. في مثالنا هذا سنقوم لاحقًا بتعديل لون خلفية الخلية لذلك من الأفضل استخدام صورة بتنسيق PNG ذات الخلفية الشفافة. يمكننا تعديل حجم الصورة في حال كانت أكبر من اللازم عبر تحديدها واستخدام أدوات تعديل الحجم في إطار الصورة. سننتقل إلى فقرة تحديد المعلومات الشخصية، وسنترك الصف الأول فارغًا وننتقل إلى الصف الثاني من العمود الثاني. سنكتب جملة المعلومات الشخصية. كما نشاهد في الصورة السابقة فإن ارتفاع الصف الثاني كبير وذلك لوجود الصورة الشخصية في الخلية الأولى من هذا الصف ولحل هذه المسألة سنقوم بدمج مجموعة خلايا لتتسع لمساحة الصورة وتُبقي على ارتفاع خلية المعلومات الشخصية طبيعيًا. حدّد خلية الصورة مع ثلاث خلايا تحتها ثم انقر بالزر الأيمن للفأرة عليها واختر دمج الخلايا ليتم دمج هذه الخلايا الأربعة في خلية واحدة، وهكذا تتم عملية دمج الخلايا حيث يتوجب علينا أولًا تحديد الخلايا الواجب دمجها ثم النقر عليها بالزر الأيمن للفأرة ومن ثم اختيار الخيار دمج الخلايا. أصبح ارتفاع خلية المعلومات الشخصية طبيعيًا وسنتابع الآن. سنضع المعلومات الشخصية في الخلية التي تحت خلية عنوان الفقرة. بعد أن كتبنا المعلومات الشخصية في الخلية نلاحظ أن ارتفاع الخلية يزداد بازدياد عدد الأسطر ولكن عرض الخلية ثابت وهو ليس كافيًا لهذه المعلومات لذلك سنقوم بدمج هذه الخلية مع الخلية التي بجوارها إلى الجهة اليسرى من ذات الصف. سنضيف باقي المعلومات بذات الطريقة في الخلايا التالية بحيث نضع عنوان الفقرة في خلية منفصلة والتفاصيل في الخلية التي تحتها مباشرة. في حال أردنا إضافة معلومات أخرى فيمكننا إضافة صفوف إضافية أو حتى أعمدة إضافية عبر النقر على الجدول بالزر الأيمن للفأرة واختيار الخيارات الخاصة بالإضافة. في درسنا هذا سنكتفي بهذه المعلومات وسنقوم بحذف الصفوف الأخيرة مع ترك صف واحد فقط في الأسفل. حدّد الصفوف المراد حذفها وانقر بالزر الأيمن واختر حذف صفين . سنقوم بتنسيق الخلايا لإنهاء تصميم السيرة الذاتية. حدّد العمود الأول كاملًا ثم انقر على أيقونة لون الخلفية في شريط الأدوات واختر لونًا لخلفية هذه الخلايا. الآن حدّد خلايا عناوين الفقرات مع الخلايا المجاورة لها من جهة اليسار ثم امنحها نفس لون الخلفية. حدّد الآن النصوص ضمن الخلايا التي عدلنا لون خلفيتها واحدًا تلو الآخر، وطبّق عليه تنسيق ألوان بحيث يكون لون التمييز مطابقًا للون خلفية الخلية، وبما أننا اخترنا لونًا داكنًا للخلفية سيتوجب علينا اختيار لون فاتح للنص. قم بتنسيق النصوص كما يجب، بحيث تكون عناوين الفقرات غامقة وأكبر حجمًا وكذلك عناوين المسمّيات ضمن التفاصيل. سنقوم الآن بإلقاء نظرة على خصائص الجدول حيث سنقوم بإزالة الحدود والأطر للجدول. انقر بالزر الأيمن على الجدول واختر خصائص الجدول. أول خيار في الخصائص هو إطار الجدول حيث نستطيع تغيير لونه وحجمه، وفي تصميمنا لا نحتاج لهذا الإطار، لذلك سننقر على أيقونة الحجم ونختار القيمة صفر. وباقي الخيارات هي للون خلفية الخلية حيث يمكنك تحديده من هنا ايضًا و تحديد المحاذاة الرأسية للخلية إن كانت للأعلى أو الوسط أو الأسفل وترتيب العمود من اليمين لليسار أو العكس وأبعاد الصف أو العمود بوحدة القياس الافتراضية أو يمكنك تركها بدون تفعيل لتحصل على أبعاد افتراضية بحسب حجم البيانات بداخل الخلايا كما نستطيع تحديد محاذاة الجدول وتحديد المسافة البادئة.بعد إلغاء (الإطار) سنحصل على الصفحة التالية. يبدو تصميم السيرة الذاتية جيدًا. طبعًا ستحتاج في الحالة الواقعية إلى إضافة معلومات أكثر، كوسائل الاتصال المتوفرة ومستوى القدرات والإمكانات واللغات وغيرها، ويمكنكم القيام بذلك واختبار قدراتكم في إنشاء وتخصيص وتعديل الجداول في تطبيق مستندات جوجل. وبما أن هذه سيرة ذاتية سيتم طباعتها أو إرسالها إلى جهة معينة فمن الأفضل حفظها بهيئة PDF من خلال القائمة ملف > تنزيل بتنسيق > مستند PDF (بتنسيق .pdf) وبذلك سيتم تحميل ملف PDF جاهز إلى حاسوبك لطباعته أو إرساله إلى الجهة المعنية. الصورة الشخصية للسيرة الذاتية (الأفتار) محفوظة الحقوق لـ Freepik
  13. ينطوي جزء كبير من عملنا على جداول البيانات على عمليات مختلفة لتحرير البيانات وتعديلها، بما في ذلك النسخ/القص واللصق، الحذف والاستبدال، أو حتى تغيير جزء من البيانات. لذا خصصنا هذا الدرس لشرح كيفية تحرير جداول بيانات كالك بعد أن غطينا كيفية إدخال البيانات عليها في الدرس السابق. نسخ/قص ولصق البيانات لا تختلف طريقة تطبيق أوامر النسخ/القص واللصق في كالك عنها في البرامج الأخرى، فهي تتم إمّا باستخدام الفأرة بالنقر بزر الفأرة الأيمن على العنصر المراد نسخه أو قصه واختيار الأمر المرغوب، أو باستخدام اختصارات لوحة المفاتيح. لكن الفرق في جدول البيانات هو أنّه بالإمكان نسخ/قص ولصق الخلية/نطاق الخلايا وما فيها من محتوى وتنسيق، أو نسخ/قص ولصق محتوى الخلية فقط. لنسخ أو قص الخلية برّمتها، انقر عليها بزر الفأرة الأيمن واختر قص Cut أو انسخ Copy (أو حددها واضغط على Ctrl + C للنسخ أو Ctrl + X للقص): بعد ذلك انقر بزر الفأرة على المكان الذي تريد لصق الخلية عليه واختر الصق Paste (Ctrl + V): بهذه الطريقة سيتم لصق الخلية بمحتوياتها من أرقام، نصوص، تنسيقات، وحتّى الصيغة. إذا رغبت في لصق محتوى معيّن، كالرقم فقط أو الصيغة فقط، مرر مؤشر الفأرة فوق الخيار الصق فقط Paste Only واختر الخيار المرغوب: أمّا إذا رغبت في نسخ ولصق جزء معين من محتوى الخلية النصي أو الرقمي، فانقر أولا على الخلية بشكل مزدوج وحدد الجزء الذي تريد نسخه أو قصّه باستخدام الفأرة ثم انسخه/قصّه وألصقه في المكان المرغوب: خاصية اللصق الخاص Paste Special بإمكانك استخدام خاصية اللصق الخاص للصق أجزاء معينة من الخلية الأصلية (كالصيغة فقط، أو الناتج فقط…إلخ) بالإضافة إلى إجراء العمليات الرياضية الأساسية بشكل مباشر أثناء اللصق (هذا الخيار يطبق على البيانات الرقمية فقط). لاستخدام هذه الخاصية، قم بنسخ الخلية أو نطاق الخلايا المرغوب، ثم انقر بزر الفأرة الأيمن على المكان الذي تريد اللصق عليه واختر لصق خاص Paste Special (أو اختصارًا Ctrl+ Shift+ V): (صورة 5) سيُفتح مربع الحوار Paste Special الذي يحتوي على مجموعة من خيارات اللصق: من مجموعة التحديد Selection قم بتأشير المحتوى الذي ترغب في لصقه. عند تأشير الخيار الصق الكل سيتم لصق كل محتوى الخلية من تعليقات، تنسيقات، صيغ، وغيرها. ومن مجموعة العمليات Operations حدد العملية الحسابية التي تريد تطبيقها عند لصق الخلية. على سبيل المثال، إذا كانت الخلية تحتوي على رقم معيّن، ونرغب في لصقها فوق خلية أخرى تحتوي أيضًا على رقم، مع ضرب الرقم الأول في الثاني وإظهار النتيجة عند اللصق، ننسخ الخلية الأولى (Ctrl +C) ثم نحدد الخلية الثانية ونضغط على Ctrl+ Shift+ V. ثم من مربع الحوار Paste Special نحدد الخيار اضرب Multiply وننقر على حسنًا OK: سيتم ضرب الرقم الأول في الثاني وإظهار نتيجة الضرب بشكل مباشر في الخلية. وينطبق الشيء نفسه على عمليات الجمع، الطرح، والقسمة. ومن مجموعة الخيارات Options، يمكنك تطبيق إجراءات معينة عند اللصق، كتجاهل الخلايا الفارغة Skip Empty Cells الذي يمنع استبدال محتوى الخلية التي نلصق فوقها بالخلية الفارغة المنسوخة، التحويل Transpose لتحويل الصف إلى عمود والعمود إلى صف عند اللصق (في حال تم نسخ نطاق خلايا)، أو الربط Link لإنشاء رابط بين الخلية المنسوخة والخلية التي نلصق فوقها بحيث أي تغيير تجريه على خلية المصدر ينعكس على الخلية المرتبطة بها. أما من مجموعة إزاحة الخلايا Shift Cells فيمكنك أن تزيح التي تلصق المحتوى فوقها إلى الأسفل Down أو اليمين Right لضمان عدم استبدال المحتوى الأصلي بالمحتوى الملصوق. تعديل البيانات لتعديل محتوى الخلية، سواء كان رقم، نص، أو صيغة، انقر على الخلية لتحديدها، ثم اضغط على مفتاح F2. سيتم وضع مؤشر الكتابة في نهاية المحتوى. استخدم الأسهم في لوحة المفاتيح لتغيير موضع المؤشر، ثم امسح واكتب المحتوى المرغوب. وإذا رغبت في استخدام الفأرة، فانقر على الخلية بشكل مزدوج لتحويلها إلى وضع التحرير، ثم انقل مؤشر الكتابة إلى الموضع المرغوب وقم بإجراء التعديلات التي تريدها. بإمكانك أيضًا تعديل محتوى الخلية بشكل أسهل من خلال سطر الإدخال في شريط الصيغة، حيث يُعرض محتوى الخلية فيه عند تحديدها: إمّا لاستبدال البيانات في الخلية كليًا وإدخال بيانات جديدة، فاكتفِ بالنقر على الخلية مرة واحدة وابدأ الإدخال. وبالرغم من أنّه سيتم حذف البيانات الأصلية واستبدالها بالجديدة، إلّا أنّه سيتم الاحتفاظ بتنسيق الخلية الأصلية دون تغيير. وبالمثل، بإمكانك استبدال البيانات باستخدام سطر الإدخال، بمجرد تحديد الخلية، ووضع مؤشر الكتابة داخل سطر الإدخال، ثم تظليل النص كلّه (Ctrl +A) وبدء إدخال البيانات الجديدة. حذف البيانات لحذف البيانات فقط من الخلية (بدون حذف التنسيق)، فانقر على الخلية لتحديدها ثم اضغط على مفتاح Delete من لوحة المفاتيح. أمّا لحذف البيانات والتنسيق من الخلية، فانقر على الخلية لتحديدها، ثم اضغط على مفتاح Back Space. سيُفتح مربع الحوار حذف المحتويات Delete Content ومنه يمكنك اختيار المحتوى الذي تريد حذفه من الخلية (النص، التعليقات، الصيغ… إلخ). بعد تأشير الخيارات التي تريد حذفها انقر على زر حسنًا البحث والاستبدال بما أن البيانات يمكن أن تخزن في آلاف الصفوف ومئات الأعمدة، سيصبح من المضيعة للوقت العثور على جزء معين منها باستخدام أشرطة التمرير، لذا تتوفر خاصية البحث التي تتيح العثور على البيانات بشكل سريع، وترافقها خاصية الاستبدال لاستبدال بيانات معينة ببيانات أخرى، كلّ على حدة، أو دفعة واحدة. للبحث عن نص أو رقم، اذهب إلى تحرير Edit> ابحث Find (أو اضغط على Ctrl+ F): سيظهر شريط البحث في المنطقة السفلية من جدول البيانات، أدخل الكلمة المفتاحية (نص أو رقم) التي تريد البحث عنها واضغط على مفتاح Enter: استمر بالضغط على مفتاح Enter لمعاينة النتائج، ففي كل مرّة تضغط فيها سيتم تحديد نتيجة البحث التالية المطابقة لكلمة المفتاحية. إذا كنت ترغب في البحث عن صيغة معينة، انقر على أيقونة العدسة المكبرة والقلم في شريط البحث لفتح مربع الحوار بحث واستبدال: من مربع الحوار هذا، انقر أيقونة (+) لإظهار خيارات البحث الأخرى: بعد ذلك حدد الصيغ من قائمة ابحث في ثم اكتب الصيغة التي تريد البحث عنها في حقل البحث وانقر على Find Next لتحديد النتيجة التالية، استمر بالنقر على Find Next إلى أن تنتهي من استعراض كافة النتائج المطابقة: يمكنك النقر على زر البحث عن الكل لعرض جميع النتائج المطابقة دفعة واحدة. ستُعرض النتائج في مربع حوار منفصل، وبإمكانك النقر على كل نتيجة لتحديد الخلية التي تحتويها: إذا كنت ترغب في البحث في جدول البيانات كلّه، وليس في الورقة الحالية فقط، قم بتحديد الخيار All Sheets قبل أن تبدأ البحث: من نفس مربع الحوار، بإمكانك استبدال بيانات معينة ببيانات أخرى. أدخل البيانات التي تريد استبدالها (نص أو رقم) في حقل ابحث (جِد) Find، والبيانات التي تريد الاستبدال بها في حقل استبدل Replace ثم انقر على استبدل Replace لاستبدال النتيجة التالية، أو استبدل الكل Replace All لاستبدال كل النتائج المطابقة: خاتمة تعلّمنا كيفية تحرير جداول بيانات كالك وتعديل محتوياتها بالإضافة إلى تطبيق أوامر مختلفة على البيانات كالنسخ/القص، اللصق، اللصق الخاص، الحذف، والبحث والاستبدال. في الدرس القادم سنتعرّف على كيفية تنسيق البيانات تنسيقًا اعتياديًا وشرطيًا. ترجمة-وبتصرّف-لدليل المستخدم الخاص بالحزمة المكتبية LibreOffice
  14. تُستخدم الجداول على نطاقٍ واسع لتنظيم أنماط مُختلفة من المعلومات، كبيانات موظفين شركة ما، طلاب مدرسة، أو حتى إنشاء نموذج تعبئة. للبدء بإنشاء جدول يُمكننا النقر على أداة إدراج الجداول في شريط الأدوات حيث ستظهر لنا قائمة منبثقة على شكل مجموعة خلايا، من هنا يمكننا تحديد حجم الجدول المطلوب أفقيًا ورأسيًا ثم النقر بزر الفأرة الأيسر أو الضغط على زر الإدخال Enter للحصول على الجدول فورًا. للتحكّم بالمزيد من التفاصيل يُمكننا الضغط على زر More Options للانتقال إلى نافذة إعداد الجدول، أو الذهاب إلى قائمة: Table > Insert table الآن من نافذة Insert table حدّد عددًا من الأعمدة والصفوف، لنقل مثلًا 3*3. يُتيح خيار Border رسم جدول بدون حدود، عندما تُفعّل هذا البند ستحصل على جدول بحدود رمادية. في الحقيقة هذه الحدود هي لتوضيح أبعاد الجدول فقط ولن تظهر بعد طباعة الملف أو تصديره إلى صيغة PDF مثلًا، بكلّ الأحوال إن كنتَ ترغب بإخفائها كليًا توجّه إلى قائمة: Table > table boundaries يعمل خيار Heading ضمن نافذة Insert table على تخصيص نسق عريض لنصوص خلايا الصفّ الأول من الجدول مع محاذاتها إلى الوسط. كما يُتيح الخيار Don't split table over pages بقاء الجدول ضمن صفحة واحدة إذا صدف وجود صف أو أكثر في نهاية/بداية صفحة جديدة. هناك طريقة أخرى لإدراج الجداول قد يُفضّلها محبّو استخدام لوحة المفاتيح، لا سيما عند الرغبة برسم جدول صغير، حيث نُحدد الأعمدة بإشارة زائد (+) والصفوف بإشارة ناقص (-) ثم نضغط زر الإدخال Enter للحصول على الجدول المطلوب: الآن لتحديد صف ما من جدول (لتنفيذ بعض عمليات التنسيق عليه مثلًا) ضع مؤشّر التحرير خارج الصف وإلى اليسار حيث يتحوّل رمز الفأرة إلى سهم، ثم انقر بزر الفأرة الأيسر للتحديد. بنفس الأسلوب يُمكننا تحديد عمود لكن بوضع مؤشّر الفأرة أعلى هذا العمود ثم النقر بالزر الأيسر للفأرة. لتعديل حدود الجدول الخارجية أو الداخلية، الأفقية أو الرأسيّة ضع مؤشّر الفأرة على أيّ منها ثم اسحبها مع الضغط على زر الفأرة الأيسر زيادةً أو نقصانًا، أمّا لتعديل عرض أحد الخلايا الداخليّة فاضغط بلوحة المفاتيح على Ctrl+Shift ثم حرّك العمود المطلوب يسارًا أو يمينا، ستلاحظ تحرّك الحدّ الخاص بالخلية المُختارة فقط. عند إدراج جدول سنلاحظ ظهور شريط أدوات الجدول فوق شريط الحالة والذي يضم عددًا من الأدوات الفعّالة أثناء تحرير الجداول. يُتيح الخياران الأولان باللون الأخضر إضافة صفوف إلى الأسفل وأعمدة إلى اليمين بشكل فوري، تُطبّق الإضافة عند موضع مؤشّر الفأرة ضمن الجدول. الأدوات التالية باللون الأحمر تحذف وعلى الترتيب: صفًا، عمودًا، الجدول بأكمله. الخيارات التالية تُتيح إمكانية تحديد: صف، عمود، أو الجدول بأكمله. تذكّر دومًا أن التغيير يُطبّق مكان وقوف مؤشّر التحرير ضمن الجدول. الآن لدمج خليتين (أو أكثر) أفقيتين أو رأسيتين قم بتحديدهما ثم اختر أداة Merge Cells من شريط الجدول. وبالعكس تُتيح أداة Split cells تجزئة خلية أو أكثر إلى عددٍ أصغر من الخلايا الأفقية أو الرأسيّة. الخيارات الثلاثة التالية تتحكم بموضع النصّ ضمن الخلية بثلاث وضعيات: محاذاة إلى أسفل/أعلى/ توسيط رأسي. أما أداة AutoFormat فهي تتيح اختيار واحدة من الأطقم التصميميّة الجاهزة للجدول الخاص بنا. الخيارات التالية تتعلق بحدود كلّ خليّة على حدا، حيث يمكن إخفاء/إظهار أحد الحدود الأربعة للخلية، اختيار نمط تصميم لحدودها، أو انتقاء لون لها مغاير للأسود. لملئ خلية ما بلون مُغاير للأبيض انقر بزر الفأرة الأيسر عليها، اختر Table Properties، ثم من النافذة المنبثقة اذهب لعلامة التبويب Background، اختر اللون المطلوب ثم انقر OK. إذا كان لديك جدول يُشكّل صفّه العلوي عناوينَ رئيسيّة للأعمدة، وترغب بحماية هذا الصف من التعديل، قم بتحديده أولًا (كما شرحنا سابقًا) ثم من قائمة: Table > protect cell أما إن كان هذا الجدول طويل بحيث يمتد على عدّة صفحات وترغب بإعادة ظهور صف العناوين في رأس كل صفحة، انقر ضمن الجدول بالزر الأيسر للفأرة واختر Table Properties، ثم من علامة التبويب Text flow فعّل خيار Repeat heading. لإضافة بعض الهوامش إلى نصوص الخلايا ضمن جدول، حدّد الجدول بأكمله من قائمة: Table > Select > Table ثم من: Table > Table Properties توجّه إلى علامة تبويب Border، وأضف بعض الهوامش حسب المطلوب من خانة Spacing to Contents. لتقليص عرض الجدول ككل فعّل خيار Right من نافذة Table Properties، علامة التبويب Table. ثم اختر عرضًا مناسبًا له من خانة Width، كما هو موضّح في هذه الصورة: من المزايا الأخرى التي توفرها خدمة إدراج الجداول في رايتر إمكانية إضافة بعض الدوال لتنفيذ العمليات الرياضيّة الأساسيّة، فإذا كان لديك عمود يضم المصاريف الشهرية مثلًا وترغب بالحصول على خانة لجمع الأرقام، حدد خانة المجموع ثم اضغط على رمز الدوال من شريط أدوات الجدول، ثم حدد الخلايا المطلوب جمعها واضغط Enter للحصول على المجموع. توفّر لنا الأداة Formula قائمة بالدوال المتوفرة والجاهزة للاستخدام بشكل فوري. وبهذا نكون تعرفنا على كيفية إنشاء والتعامل مع الجداول في محرر النصوص LibreOffice Writer.
  15. تعلمنا في الدرس الماضي بعض تقنيات التحكم في الجداول على Adobe InDesign وتوزيع أجزائها مع بعض الخصائص الأخرى والآن سنتعلم بشكل عملي كيفية إنشاء جدول متكامل الخصائص في برنامج إن ديزاين. سنقوم بإنشاء جدول يتضمن مجموعة من أجهزة الهاتف المحمول مع بيان أهم مزايا ومواصفات هذه الهواتف للمقارنة بينها ومعرفة التفاصيل الخاصة بها بسهولة وسرعة ومن هنا سنقوم بإنشاء هذا الجدول كي نقدم المعلومات بطريقة منهجية واضحة وسهلة الوصول عبر جدول أنيق واضح المعالم مع الألوان من خلال برنامج إن ديزاين. يجب علينا أولًا التخطيط لرسم الجدول وذلك يكون عبر تحضير المعلومات اللازمة للجدول ومعرفة عدد الأعمدة والصفوف التي يجب وضعها في هذا الجدول وقد قمتُ بعملية البحث المطلوبة في مواقع الإنترنت المعنية بمواصفات أجهزة الهواتف المحمولة بأنواعها وحصلتُ على المعلومات المطلوبة. طبعًا المواصفات الكاملة لكل هاتف كثيرة جدًا لذلك سنختار المواصفات الأهم من بينها حتى يكون الجدول موضوعيًّا وواضحًا ومن هذه المواصفات امكانية تشغيل الشبكات ونوعية نظام التشغيل وإصداره وحجم الشاشة وسرعة المعالج وغيرها من التفاصيل وقد اخترتُ مجموعة من الهواتف الجديدة نسبيًّا والتي تتميز بإمكاناتها المتميزة للمقارنة فيما بينها. افتح برنامج إن ديزاين وأنشئ مستندًا جديدًا بحجم ورقة A4 واجعل العمل أفقيًّا وليس عموديًّا وذلك لأننا سنكتب المواصفات بشكل أعمدة وأنواع الهواتف بشكل أفقي وبما أن عدد المواصفات أكبر فإنني اخترت أن يكون تخطيط العمل أفقيًّا. وبما أن كمّ المعلومات كبير فسوف نخفّف من الهوامش لذلك اجعلها 5mm على كل جانب. أنشئ جدولًا جديدًا من القائمة: Table > Create Table أو من الاختصار Ctrl+Alt+Shift+T ومن صندوق حوار إنشاء الجدول سنقوم بتحديد عدد الأعمدة والصفوف. هنا يجب علينا أن نحدد عدد المواصفات التي ننوي إدراجها في الجدول وكذلك عدد الهواتف وبنفس الطريقة المستخدمة في برامج Word أو Writer يجب أن نضيف عمودًا إضافيًّا إلى عدد أعمدة المواصفات لنضع فيه أسماء الهواتف في البداية ويجب أن نضيف صفًّا أو اثنين في بداية الجدول لوضع أسماء المواصفات بحسب طريقتنا في تصميم الجدول. ولكن إذا اكتشفتَ فيما بعد بأنكَ أخطأتَ في عدد الأعمدة أو الصفوف فلا تقلق، يمكننا بسهولة زيادة أو حذف أي عمود أو صف فيما بعد. اخترتُ خمسة عشر هاتفًا لوضعها في الجدول وبما أنني أنوي وضع تصنيفين من المواصفات ورموز لهذه المواصفات فقد أضفتُ ثلاثة صفوف إضافية ليكون العدد الكلي للصفوف ثمانية عشر وأمّا الأعمدة فقد اخترت أربعًا وعشرين من المواصفات وبما أنني يجب أن أضيف صفًّا لوضع أسماء الهواتف فيصبح بذلك عدد الأعمدة خمسة وعشرين عمودًا. الآن سيتغير شكل المؤشر ليأخذ شكلًا شبيهًا بالجدول. ارسم الجدول من أقصى زاوية الهوامش في الصفحة إلى الزاوية الأخرى ليغطي الجدول كامل مساحة الصفحة ضمن الهوامش. يمكننا تعديل مقاسات الأعمدة والصفوف يدويًّا أو من خلال خصائص الأعمدة والصفوف التي نحصل عليها من القوائم التي تظهر عند الضغط بالزر الأيمن فوق الخلايا. وكما تعلّمنا في الدرس السابق فإنّ حجم الجدول ليس ثابتًا بل سيتغير بمجرد تغيير حجم أي عنصر من عناصر الجدول على عكس الجداول في البرامج المكتبية الأخرى التي يبقى فيها حجم الجدول ثابتًا بغض النظر عن التعديلات التي تطرأ على عناصره الداخلية. سنقوم بعمليات دمج الخلايا وفصلها من خلال تحديد الخلايا المطلوب دمجها ومن ثم نضغط بالزر الأيمن عليها ونختار Merge Cells ويمكننا أن نختار تقسيم هذه الخلايا عموديًّا أو أفقيًّا من الخيارين التاليين في القائمة. دمجنا هنا ثلاث صفوف من الخلية العمودية الأولى وذلك لأنني خططتُ لإدراج تصنيفين من المواصفات وصفًّا لرموز المواصفات. وفي الخطوة التالية سنقوم بدمج الخلايا الأفقية الثلاثة الموجودة ضمن الأعمدة التالية للعمود الأول وذلك لأنني سأضع فيها تصنيفًا رئيسيًا وهو الشبكات وتتألف من ثلاثة تصنيفات فرعية وهي GSM ،GPRS و EDGE. سنكتب الآن أسماء التصنيفات الفرعية الثلاثة وبما أن عدد المواصفات كبير وبالتالي فإن عدد الأعمدة كبير أيضًا فسوف نحتاج لتوفير المساحة الكافية لجميع العناصر العمودية. فإذا كتبنا بالطريقة التقليدية الأفقية عندها لن تتوفر لدينا المساحة الكافية لجميع العناصر في الجدول، لهذا سنجعل الكلمات عموديّة من خلال اختيار الزر T المائل عموديًّا ضمن شريط أدوات خلايا الجدول في الأعلى. وبعد الانتهاء من كتابة أسماء المواصفات وتوزيعها بحسب التصنيفات المناسبة وتوجيه النص عموديًّا أو أفقيًّا بحسب المساحة المتوفرة فإن شكل الجدول حتى هذه المرحلة سيبدو هكذا. من ضمن هذه المواصفات سيكون هناك نوعين البعض سيكون أرقامًا كحجم الشاشة مثلًا والبعض الآخر سيكون فقط عن توفّر هذه الميزة أو عدم توفرها لذلك سنضع في حال توفرها إشارة وفي حال عدم توفرها سنترك الخلية فارغة. ولأن بعض الخانات ستحوي أرقامًا فهي تحتاج إلى حجم أكبر لتتسع لتلك الأرقام بينما الخانات التي ستتضمن الرمز فقط ليست بحاجة سوى لمساحة قليلة بحجم ذلك الرمز. لذلك سنقوم بضبط عرض الأعمدة التي ستحوي الرمز فقط بجعلها أصغر وترك باقي الأعمدة حرّة لتوسيع عرض كلٍّ منها بحسب حجم النص المطلوب. وحتى لا نقوم بتحديد عرض كل عمود بشكل افرادي يمكننا تحديد مجموعة أعمدة متجاورة ومتشابهة في هذه الميزة ثم نضغط بالزر الأيمن ونختار: Cell Options > Rows & Columns وفي نافذة خيارات الخلية التي ستظهر فيما بعد سنجد العديد من التبويبات أعلى النافذة تمثل كل منها أحد الخيارات التي يمكن التحكم بالخلية من خلالها كخيارات النص والرسومات والحدود والتعبئة وغيرها. كنا قد اخترنا سابقًا خيار الصفوف والأعمدة وفي هذا الخيار سنجد أننا نستطيع التحكم بارتفاع الصف ضمن خيارين إما بالقيمة الموضوعة على الأقل أو بالقيمة الموضوعة بالتحديد، كما يمكننا تحديد عرض العمود، وهنا سنقوم بوضع القيمة التي سيكون عليها عرض كل عمود من الأعمدة التي حدّدناها مسبقًا ولتكن بقيمة 8mm. كرّر العملية لباقي الأعمدة التي ستحوي الرمز فقط. قد نواجه مشكلة في الأرقام ضمن سياق النص لتظهر الأرقام الهندية بدل العربية مع أن النص هو اسم ونوع الهاتف باللغة الإنجليزية لذلك سنحل هذه المشكلة عبر تحديد ذلك النص واختيار اللغة الإنجليزية من خيارات اللغة في شريط الأدوات العلوي. وبعد تعديل عرض الأعمدة كما يجب وإصلاح مشكلة الأرقام سيكون المخطط الأولي للجدول جاهزًا لتعديلات التنسيق وتعبئته بالبيانات المطلوبة. ومن أولى خطوات التنسيق ستكون تنسيق الجدول والنص ويمكننا الحصول على نافذة أدوات الجدول من قائمة Windows أو من سنجدها تلقائيًّا في شريط الأدوات العلوي بمجرد العمل على الجدول أو على النصوص داخل الجدول. عدد الصفوف. عدد الأعمدة. ارتفاع الصف. عرض العمود. اتجاه الجدول إما من اليسار لليمين أو بالعكس. محاذاة النص أفقيًّا داخل الخلية أو الصف. اتجاه النص أفقي أو عمودي أو بالمقلوب. المسافة الداخلية الفاصلة بين حدود الخلية والنص. ومع تعديل النص من أدواته في شريط الأدوات العلوي كتوسيطه وتعديل حجم الخط ونوعيته بالإضافة إلى التعديلات التي قمنا بها في الخطوة السابقة فإن الشكل الجديد للجدول سيكون كما يلي. والآن سننتقل إلى تنسيق ألوان الخلايا. حدّد الخلايا المطلوب تعديل ألوانها، وهنا حدّدنا العمود الأول لكي نعدّل لون النص فيها، ثم افتح نافذة الحوامل Swatches، وستجد في الأعلى حرف T وبجانبه مربع صغير، فإذا أردنا تعديل ألوان الخلية اخترنا المربع الصغير، وبما أننا نريد تعديل لون النص فسنختار حرف T. ولاختيار ألوان جديدة من غير الموجودة في لوحة الحوامل الحالية، اضغط على زر القائمة الصغير الموجود في زاوية لوحة الحوامل، ثم اختر New Color Swatch لكي نختار اللون الجديد. في نافذة اختيار اللون الجديد سنضغط على الخيار Color Mode لاختيار نمط الألوان. اخترتُ هنا أحد أنماط PANTONE المعروفة. وبالتحديد PANTONE 306 C ثم اضغط OK وسيصبح هذا اللون أحد ألوان ضمن لوحة الحوامل. طبعًا يوجد العديد من أنماط الألوان مثل RGB و CMYK المعروفة لدى الجميع ولكن ما هو PANTONE؟ هو نظام عالمي لمضاهاة الألوان، وهو أحد أكثر تلك الأنظمة انتشارًا ويستخدم لمضاهاة واختيار الألوان أثناء عمليات الطباعة والطلاء واختيار الألوان في تطبيقات أخرى، وهو نظام عالمي موحد للألوان، أي أنه إذا اخترت لونًا من هذا النظام فسيكون له رقم خاص، عندها يكفي أن تخبر مركز الطباعة أو الديكور أو أيًّا كان من تتعامل معه بأنك اخترت لون بانتون 103 مثلًا، وعندها سيوضع ذلك اللون بالتحديد وبدقة، وهذا ما تقوم به الشركات العالمية التي تضع شعارها ولونها الخاص على منتجات مختلفة ومتنوعة، وعلى الرغم من تنوع المنتجات من حيث الأشكال والأحجام والمواد فإن لون الشعار واللون الخاص بالمنتجات يبقى متطابقًا تمامًا، وهذا الأمر يتم بالاعتماد على نظام مطابقة الألوان مثل بانتون، وعلى الرغم من تنوع ألوان هذه الأنظمة وإصدارها لألوان جديدة كل عام إلا أنها تبقى محدودة بالمقارنة مع RGB وCMYK. ويمكننا تعديل تنسيق الخلايا أو الصفوف أو الأعمدة بكاملها من خلال شريط الأدوات العلوي أو من خلال خصائص حدود وتعبئة الخلايا أما شريط الأدوات العلوي فيحوي على: لون تعبئة الخلية. لون حدود الخلية. حجم حدود الخلية. تنسيق حدود الخلية. تحديد الحدود الداخلية والخارجية التي سينطبق عليها التنسيق. وبعد القيام بتنسيق الخلايا من خلال تغيير ألوان الحدود وتعبئة خلايا الصفوف الأولى سيبدو الجدول على الشكل التالي: لوّن الصف الثالث باللون البرتقالي PANTONE Orange 021 C. سنضع لاحقًا رموز المواصفات في هذا الصف وستكون باللون الأبيض. قمتُ بتجهيز هذه الرموز مسبقًا حيث حمّلتُ رموز المواصفات ثم عدّلتُ حجمها لتكون مناسبة لوضعها ضمن هذا الجدول وبما أننا جعلنا حجم خلايا الرموز سابقًا 8mm فهذا يعادل 33 بيكسل بحسب الدقة التي اخترنا العمل عليها منذ البداية، كما جعلت لونها اللون الأبيض. ضع هذه الرموز كل واحدة في مكانها الصحيح من خلال الأمر Place من قائمة File أو من خلال الاختصار Ctrl+D ثم اختيار الملف المطلوب. قد يتطلب الأمر في تصاميم أخرى تعديل حجم الصورة التي تم إدراجها بالأمر Place، وقد ذكرتُ ذلك في الدرس الماضي حيث سيتوجب عليكم الانتباه في تحديد الجزء الذي سيتم التحكم بحجمه أو موقعه، إنّ لون الإطار الذي يتضمن الصورة أزرق بينما لون حدود الصورة نفسها برتقالي وسيتغير لون هذه الحدود بالنقر المتكرر على الصورة. وبعد وضع جميع الرموز في مكانها سيبدو الجدول على الشكل التالي: وبعد إدخال كافة البيانات المتعلقة بمواصفات الهواتف ووضع علامات في مواضعها الصحيحة للدلالة على توفّر الميزة وتنسيق الخطوط والأرقام سيكون شكل الجدول كما يلي: سنقوم بوضع شعار لشركة افتراضية خيالية تبيع الهواتف المحمولة في الخلية الأولى من الجدول والتي كُتِبَ في داخلها كلمة "المواصفات" وللقيام بذلك قمتُ بتصميم الشعار للشركة الافتراضية بواسطة برنامج الإليستريتور بحيث ستكون خلفية الشعار شفافة لذلك سنقوم بتعبئة خلفية هذه الخلية من برنامج إن ديزاين وسيكون اللون البرتقالي المستخدم في التصميم ذاته ثم سنستخدم الاختصار Ctrl+D لإدخال صورة الشعار بعد أن ننقر نقرًا مزدوجًا داخل الخلية المطلوبة ثم سنعدّل حجم الشعار بما يتناسب وظهوره داخل الخلية عبر النقر عليه مرتين لتصبح حدود الصورة برتقالية بدل الحدود الزرقاء وبذلك سنتحكم بالصورة وليس بالإطار الذي يحوي الصورة (الاطار هنا في هذه الحالة سيكون حدود الخلية) ثم نصغّر أو نكبّر حجم الشعار مع الاستمرار في الضغط على مفتاحي Shift وAlt للمحافظة على نِسَب الصورة ومركزيّتها. ملاحظة: صورة الشعار بتنسيق ai حيث أن برنامج InDesign يقبل معظم أنواع ملفات الصور. أخيرًا سنقوم بتنسيق الصفوف بحيث نستطيع بسهولة التمييز بين الهواتف على طول كل صف وذلك عبر تلوين خلفية كل صف بلون مختلف، وحتى نحافظ على التصميم بسيطًا وأنيقًا سنقوم بتعبئة خلفية الصفوف الفردية بلون أزرق ونخفف Tint إلى 13% ونترك الصفوف الزوجية بدون تعديل. الشكل النهائي للجدول كما هو ظاهر في الصورة في الأسفل. إن تصميم الجداول في برنامج InDesign جميل وممتع وسهل أيضًا ستحتاجون فقط بعض الوقت في التعامل معها وبعدها ستكون الأمور أكثر سلاسة، وإن ظننتم أنها صعبة فتذكّروا أننا جميعًا عانينا قليلًا مع الجداول للمرة الأولى في برنامج Word و Writer فالبداية لن تكون سلسلة طبعًا وسنحتاج إلى الصبر والمثابرة. والآن سأشرح بعض المزايا الخاصة في هذا الدرس: حدود وتعبئة الخلايا يمكنكم القيام بأي تعديلات على تنسيق الخلايا بشكل إفرادي أو صفوف أو أعمدة كاملة بعد تحديدها ثم الذهاب إلى القائمة: Table > Cell Options > Strokes and Fills وعندها ستفتح نافذة الحدود والتعبئة حيث نستطيع اختيار الحدود التي نريدها أن تظهر والحدود التي لا نريدها عبر الضغط عليها في المخطط الواضح في أعلى وسط النافذة بحيث ستكون الخطوط الزرقاء في المخطط حدودًا ظاهرةً في التصميم والخطوط السوداء في التصميم حدودًا غير ظاهرة في التصميم وسيحدّد الخيار Weight حجم وسماكة الحدود والخيار Type نمط هذه الحدود كأن تكون متقطعة بطريقة ما ومن الخيار Color يمكننا اختيار لون هذه الحدود من خلال حامل الألوان المُستخدَم في التصميم وسيحدّد الخيار Tint مستوى ظهور الحدود وشفافيتها وفي حال اخترنا نمط خط متقطّع فسيكون هناك فجوات في الخط ويمكننا اختيار أن تكون هذه الفجوات شفافة بلون الورقة أو بلون آخر من خلال الخيار Gap Color ونستطيع تحديد مستوى شفافيتها من الخيار Gap Tint، أمّا بالنسبة لقسم Cell Fill من هذه النافذة فيمكننا تحديد لون تعبئة خلفية الخلية من الخيار Color ومستوى الشفافية من خلال الخيار Tint. تنسيقات النص الجاهزة إذا كان حجم العمل كبيرًا ويتضمن نصوصًا كثيرة وكان فيها عيب من حيث تنسيق لغة النص أو الأرقام فعندها يمكننا تجهيز تنسيق جاهز للنص بحسب ما نريد عبر الضغط على حرف A في شريط الأدوات العلوي ثم اختيار New Character Style فتُفتَح نافذة تجهيز أنماط تنسيقات النصوص والتي تحوي الكثير من الإعدادات لذلك يمكنكم تجهيز تنسيق النمط الخاص بكم مسبقًا وعليكم منحه اسمًا خاصًا به لتتمكنوا من استخدامه فيما بعد عبر تحديد الخلايا أو النص المُراد تطبيق النمط عليه ثم نضغط Shift+F11 ثم نختار النمط الجاهز من القائمة التي ستُفتَح بعد ذلك. الخلاصة كثيرًا ما قرأت كتبًا عربية متنوعة في مختلف المجالات وكانت تحتوي على الجداول، وعلى الأقل تحتوي جدول الفهرس، وغالبًا ما كانت هذه الجداول سيئة في التصميم وحتى مزعجة في بعض الأحيان، ويرجع ذلك في الغالب إلى استخدام الكُتّاب لبرامج بسيطة كالبرامج المكتبية المعروفة بدون العمل الجاد عليها (يمكن لهذه البرامج تقديم جداول مميزة) أو لجهل هؤلاء الكُتّاب بأساليب التصميم الصحيحة، لسنا مضطرين إلى اللجوء إلى دور النشر ومراكز الطباعة الكبرى وندفع تكاليف إضافية لقاء اهتمام هؤلاء بتنسيق الجداول وتنسيق الكتاب بشكل عام قبل الطباعة أو أن نبيع الكتاب على الإنترنت لنجد بعدها عددًا من الشكاوي حول رداءة تصميم الكتاب ما قد يسئ إلى سمعة الكاتب ويحد قليلًا من المبيعات المستقبلية، لذلك وبقليل من الجهد يمكننا القيام بتصميم جداول مميزة باستخدام هذا البرنامج الرائع وتحقيق التوفير والتميّز والنجاح. ملاحظات الدرس جميع المعلومات والمواصفات للهواتف المحمولة الموجودة في الجدول في هذا الدرس صحيحة ومأخوذة من مواقع الهواتف المحمولة على الإنترنت. صورة حوامل بانتون من موقع Wikimedia تحت الترخيص CC BY-SA 3.0. صورة الشعار من تأليفي وهي مرخصة لصالح أكاديمية حسوب تحت الترخيص CC BY-NC-SA 4.0 ويمكن تحميلها بغية الاستفادة منها لأغراض تدريبية وتعليمية من هنا.
  16. عندما نتحدث عن فرز البيانات Sorting، قد يتبادر إلى أذهاننا تطبيق Excel كونه الأفضل في توفير الأدوات التي تساعد على تنفيذ هذه المهمة بكفاءة. لكن في بعض الأحيان نحتاج إلى فرز البيانات في جداولك على وورد ولا نرغب في تحويلها والعمل عليها على اكسل. لحسن الحظ تتوفر في وورد أيضًا إمكانية فرز البيانات بسرعة وسهولة. سنتعلّم في هذا الدرس كيفية فرز البيانات حسب معيار واحد أو معايير متعددة، وكذلك كيفية فرز قوائم النصوص. الفرز حسب معيار واحد لقد قمنا بإنشاء جدول وإدخال البيانات إليه (راجع الجزء الأول لمعرفة المزيد حول إنشاء الجداول)، وكما تلاحظ يوجد نوعان من البيانات؛ النصية والرقمية: لفرز البيانات في الجدول نضع المؤشر داخل إحدى خلاياه ليظهر تبويبا أداوت الجدول، ثم نذهب إلى تبويب تخطيط Layout وننقر على أمر فرز Sort في مجموعة بيانات Data: يحتوي مربع الحوار Sort على العديد من الخيارات. من قائمة Sort By نحدد العمود الذي نريد الفرز بواسطته: كما تلاحظ، تُسمى الأعمدة حسب ترتيبها (أي Column1 ،Column2... إلخ)، لكن من الأفضل تسميتها حسب عناوينها المخصصة بتأشير الخيار Header Row لتجنّب الالتباس ولتلافي فرز عنوان العمود مع بقية بيانات العمود (مثلا تضمين عنوان العمود الأول، "الاسم"، مع بقية بيانات عمود "الاسم" عند الفرز): ملاحظة: بإمكانك جعل البرنامج يتعرّف على العناوين مباشرة دون الحاجة إلى تأشير خيار Header Row في كل مرة تقوم فيها بإجراء الفرز، وذلك بواسطة تنسيق صف العناوين بشكل مختلف عن بقية الصفوف، كإضافة تظليل أو جعل الخط غامقًا Bold (راجع الجزء الثاني من هذا الدرس لمعرفة المزيد حول تنسيق الخلايا): سنقوم بالفرز حسب عمود "الاسم". من قائمة Type نحدد نوع البيانات سواء كانت رقمية، نصية، أو تواريخ، وبما أنّ البيانات في عمود "الاسم" نصية، سنحدد الخيار Text. من قائمة Using نحدد الكلمة أو الحقل الذي نريد استخدامه لإجراء الفرز، والخيار الوحيد المتوفر في مثالنا هو Paragraph. يمكننا أيضًا أن نحدد فيما إذا كنا نرغب في فرز البيانات تصاعديًا Ascending، أو تنازليًا Descending. بعد الانتهاء من تحديد الخيارات ننقر على OK: سنقوم أيضًا بإجراء فرز آخر، لكن هذه المرة بترتيب الدرجات في عمود "المتوسط" تنازليا، من الأكبر إلى الأصغر: نحدد عمود "المتوسط" من قائمة Sort By، والخيار Number من قائمة Type، ثم نؤشر الخيار Descending وننقر على OK: الفرز حسب معايير متعددة بإمكانك إجراء الفرز على أكثر من عمود في الجدول الواحد. على سبيل المثال، في الجدول الموضّح أدناه، إذا أردنا فرز الأصناف في عمود "الصنف" تصاعديًا من الألف إلى الياء، وفي نفس الوقت فرز الأنواع لكل مجموعة متشابهة في عمود "الصنف" تصاعديًا من الألف إلى الياء، نحدد الجدول بوضع مؤشر الكتابة داخله ثم انقر على أمر فرز Sort: بنفس خطوات الفرز حسب معيار واحد، نحدد عمود "الصنف" من قائمة Sort By وText من قائمة Type، لكن هذه المرة نقوم بإضافة مستوى آخر للفرز بتحديد عمود "النوع" من قائمة Then By و Text أيضًا من قائمة Type (لأنّ البيانات في عمود "الصنف" والنوع" جميعها نصيّة): تفسير عملية الفرز في هذه الحالة كالتالي: سيقوم البرنامج بترتيب البيانات في عمود "الصنف" حسب الحروف الأبجدية تصاعديًا. ثم يقوم بترتيب البيانات لكل مجموعة (مثل مجموعة "الحلويات") تصاعديًا أيضًا وحسب الحروف الأبجدية: ملاحظة: بإمكانك إضافة ثلاثة مستويات فقط لعملية الفرز. فرز قوائم النصوص تُتاح أيضًا في وورد إمكانية فرز النصوص المرتبة على هيئة قوائم. يمكن إجراء الفرز في هذه الحالة بعد فصل النصوص بفاصل، كالفارزة، علامة الجدولة tab، الفارزة المنقوطة،... إلخ. لا يهم نوع الفاصل المستخدم، المهم أن تكون القوائم متسقة. فيما يلي ثلاث قوائم من البيانات استُخدم الخط المائل (/) للفصل بينها. وما نريده هو فرز قائمة الاسم حسب الحروف الأبجدية: هناك طريقتان لتحديد النص قبل الفرز، أما بتحديد جميع النصوص التي نريد فرزها باستثناء العناوين ثم ننقر على زر الفرز من تبويب الصفحة الرئيسية Home: أو بوضع مؤشر الكتابة عند إحدى كلمات القائمة ثم النقر على زر الفرز: لكن في هذه الحالة سيتم تحديد جميع النصوص تلقائيًا بما فيها العناوين، لذلك نقوم بتأشير الخيار Header Row لاستثناء العناوين من البيانات التي سيتم فرزها. لكن سنلاحظ أنّه حتى بعد تأشير الخيار Header Row، لم يتعرّف البرنامج على عناوين القوائم، وبدلًا من ذلك اعتبر جميع القوائم كعمود واحد بعنوان (Field 1). والسبب هو أنّ الخط المائل ليس من ضمن الفواصل الافتراضية، لذلك ننقر على Options لتحديد نوع الفاصل: من مربع الحوار Sort Option نقوم بإدخال نوع الفاصل الذي نريد فصل القوائم بواسطته في حقل Other، وهو الخط المائل في مثالنا، ثم ننقر على OK: بعد أن يتم تعريف عناوين القوائم، نحدد القائمة التي نريد إجراء الفرز عليها من قائمة Sort By، وفي هذا الخطوة سنقوم بفرز قائمة "الاسم" تصاعديا حسب الحروف الأبجدية: سيتم فرز القائمة تمامًا كالجدول: يمكننا إضافة مستوى آخر، كفرز قائمة "العمر" من الأصغر إلى الأكبر بعد فرز قائمة "الاسم" من الألف إلى الياء: سيتم فرز الأسماء حسب الحروف الأبجدية، ومن ثم فرز العمر لكل مجموعة متشابهة من الأسماء من الأصغر إلى الأكبر (لاحظ اسم "أحمد"، فهو الاسم الوحيد المكرر في القائمة): وبذلك يتضّح أنّ فرز القوائم لا يختلف عن فرز الجداول، فقط يجب أن ننتبه إلى الفواصل واتساقها. فإذا كان هناك نوعان من الفواصل (كما في المثال أدناه) وقمنا باختيار الفارزة (،) للفصل بين القوائم بإدخالها في حقل Other، سيتم اعتبار قائمة "الاسم الأول" كالعمود الأول، وكل ما وراء الفارزة (أي الاسم الأخير والعمر) سيتم اعتباره العمود الثاني. وبذلك سيحصل التباس عند محاولة الفرز.
  17. سنتابع في سلسلة دروس مبادئ برنامج إن ديزاين Abode InDesign الرائع لتصميم المطبوعات والكتب وغيرها. قمنا في الدرس السابق بأخذ فكرة عامة عن البرنامج وفهم آلية عمل هذا البرنامج من خلال ورشة عمل مجلة لعبة سيارات، وذلك مهم جدًّا قبل البدء بتعلّم أساسيات البرنامج بحيث يكون لدينا فكرة عمّا سنتعلّمه لاحقًا. قمنا بالتطرّق إلى موضوع الجداول في الدرس السابق من خلال إنشاء جداول صغيرة تتضمن مواصفات كل سيارة مع تغيير في الحدود الداخلية والخارجية للجدول وتعديل ألوان النص ضمن الخلايا، ولكننا في هذا الدرس سنتوسّع أكثر في الجداول بحيث سنحاول تغطية معظم ما يتعلّق بها في هذا البرنامج. العديد من الكتّاب في العالم العربي يقومون بتصميم كتب إلكترونية، بعضها مجاني وغالبيتها للبيع بمقابل مادي، ولكن للأسف معظم المؤلفين ليست لديهم خبرة في التصميم لإنشاء ملفات PDF لائقة ومميزة، القليل فقط من يتقن استخدام برامج التصميم وهو ما يجعل الكِتاب يبدو رديئًا، ما يدفع بالبعض إلى اللجوء إلى مصمّمين محترفين لتصميم كتبهم وهذا يكلف الكثير من المال مما يُضعِفُ من الجدوى الاقتصادية لعملية تأليف الكتاب وبيعه بسعر معقول، لذلك لا ضيرَ في تعلّم هذا البرنامج الرائع الاحترافي والسهل لتصميم الكتب الإلكترونية وحتى المطبوعة. في البداية لن أضيّع الكثير من الوقت على موضوع كيفية إنشاء جدول فهذه العملية سهلة وهي تشبه إلى حدٍّ كبير إنشاء جدول في برنامج Microsoft Word أو برنامج Writer من حزمة ليبر أوفيس فكل ما عليك القيام به هو اختيار Insert Table من قائمة Table ويمكن القيام بذلك من الاختصار Ctrl+Alt+Shift+T لتظهر لك نافذة إنشاء الجدول وتختار منها عدد الأعمدة والصفوف بالإضافة لتحديد عدد صفوف رأس الجدول وحاشيته وتحديد نمط جاهز للجدول وهذه الأمور سنتعرّف عليها فيما بعد حيث أن الأهم الآن هو عدد الصفوف والأعمدة وستكون النافذة بهذا الشكل. سنجد أن هذه النافذة مقسّمة إلى حقول، ففي حقل Table Dimensions (أبعاد الجدول) يمكننا تحديد عدد الصفوف من الخيار الأول ثم عدد الأعمدة ثم عدد صفوف رأس الجدول وأخيرًا عدد صفوف تذييل الجدول. وفي حقل Table Direction (جهة الجدول) يمكننا تحديد اتجاه الجدول إما من اليمين إلى اليسار أو بالعكس. ملاحظة: تحوي فقرات هذه السلسلة من دروس الجداول على معلومات متنوعة قد لا تكون مذكورة في عناوين الفقرات لذلك من المهم الانتباه جيدًا للتفاصيل في الشرح. تحويل النصوص إلى جدول سنتطرّق إلى ميزة جديدة في البرنامج وهي تحويل النص إلى جدول. أولًا أكتب نصًّا يتضمن بيانات تتناسب مع نمط جدول عبر الفصل بين العناصر بمسافات أو بفواصل وقم بكتابة عدّة أسطر حيث ستكون الأسطر صفوفًا وستُشكّل المسافات أو الفواصل بين العناصر الأعمدة ولتجربة هذا الأمر سنقوم بكتابة بيانات بطولة كرة قدم وهمية على برنامج Microsoft Word كما في الصورة. يمكنك تحميل ملف المثال النصّي من هنا. كما تشاهد في المثال قمتُ بوضع بيانات تتعلق ببطولة رياضيّة وهميّة تتضمن صفًّا أول كعناوين للبيانات التالية في الصفوف، كما أن العمود الأوّل يتضمن اسم الفرق المشاركة بالبطولة، وقمت بالفصل بين البيانات بفواصل (الفاصلة) وهذا مهم للغاية حتى تتكوّن الأعمدة بشكل صحيح، قم بحفظ الملف بصيغة DOCX أو DOC ثم افتح برنامج InDesign وابدأ ملفًّا جديدًا كورقة A4 ثم استخدم أداة كتابة النص لتشكيل إطار لكتابة النص، انقر بالفأرة على زاوية الورقة واسحب إلى الطرف الآخر كما في الصورة. ثم اذهب إلى القائمة: File > Place أو من خلال الاختصار Ctrl+D وذلك لإدراج ملف Word الذي أنشأناه داخل برنامج InDesign ثم اختر الملف كما في الصورة. ملاحظة: يجب إنشاء إطار النص قبل الذهاب إلى القائمة وذلك على عكس إنشاء جدول عادي حيث لا يتطلّب هذه الخطوة. وسيظهر شكل النص كما كتبناه على ملف Word الأصلي ضمن إطار النص كما في الصورة: ولتحويل هذا النص إلى جدول حدّد كامل النص ثم اذهب إلى القائمة: Table > Covert Text to Table ثم ستفتح نافذة خيارات التحويل. في الحقل الأول Column Separator سيكون عليك أن تختار بين ما سيقوم بتشكيل الأعمدة وهي الفواصل داخل السطر الواحد فإمّا أن تكون الفاصلة أو بحسب الفقرات أو الفراغات، في هذه الحالة وضعنا فواصل بين العناصر التي من المفترض أن تصبح أعمدة، الأمر ذاته ينطبق على حالة الصفوف. في حالتنا هنا ستكون الفواصل Comma هي من تحدد الأعمدة والفقرات Paragraph هي من ستحدد الصفوف. يمكنك تعديل الجدول بطرق عدّة، ولعلّ من أهم التعديلات التي قد تحتاجها تغيير موضع أو ترتيب أحد الأعمدة ويمكنك ذلك بوضع المؤشر فوق العمود مباشرة ليتغير شكله إلى شكل سهم متّجه نحو العمود ثم ننقر بالفأرة فيتم تحديد كامل العمود وبعدها نسحب باستخدام الفأرة هذا العمود إلى الموقع الجديد الذي نريده. الأمر ذاته ينطبق على تحريك الصفوف بحيث نضع المؤشر بالقرب من يمين الصف مباشرة ليتغير شكل المؤشر إلى سهم أفقي يدل على الصف ثم نتابع بنفس الطريقة المُتّبعة مع تحريك الأعمدة. صفوف رأس وتذييل الجدول عادةً ما يمكننا وضع رأس وتذييل للصفحات المكتوبة ببرنامج Word حيث سيبقى هذا الرأس والتذييل موحدًا في جميع الصفحات، لكن هذه الميزة موجودة في الجداول في برنامج إن ديزاين حيث يمكننا تحديد صف أو أكثر ليكون رأس الجدول ويبقى ثابتًا في جميع أجزاء الجدول والأمر ذاته ينطبق على تذييل الجدول. وحتى نستطيع فهم ما يجري سنقوم بتجربة. حمّل ملف Word من هنا ثم افتحه بحسب ما شرحنا سابقًا بتحويله من نص إلى جدول. هذا الجدول عبارة عن جرد لمحتويات أحد متاجر الأدوات المنزلية. ستلاحظ عدم التناسق بين حجم النصوص وعرض الأعمدة حيث أن جميع الأعمدة الآن متساوية في قياس العرض، لذلك حاول تعديل عرض كل عمود بحسب البيانات التي يحتويها وستلاحظ الفرق هنا بين تعديل عرض الأعمدة يدويًّا باستخدام الفأرة في برنامج مايكروسوفت وورد وبين إن ديزاين حيث أننا إذا عدّلنا عرض أحد الأعمدة في برنامج Word فإن العرض العام للجدول سيبقى كما هو فيما سيتم تعديل باقي الأعمدة تلقائيًّا للحفاظ على عرض الجدول ككل بينما الأمر مختلف في إن ديزاين حيث سوف تتعرض جميع الأعمدة التالية للعمود الذي نقوم بتعديله إلى الإزاحة مما يؤدي إلى تغيير عرض الجدول العام بحسب التعديل الذي يطرأ على العمود. وبعد القيام بتعديل عرض جميع الأعمدة بشكل ملائم سيصبح الجدول على الشكل التالي: يمكننا القيام بالتعديلات على خلايا مفردة أو على صف بأكمله أو على عمود بأكمله تمامًا بنفس الطريقة المُتّبعة في برنامج مايكروسوفت وورد. هنا سنقوم بتعديل الصف الأول عبر تحديد هذا الصف بكامله كما موضح بالرقم 1 في الصورة التالية، وبمجرد تحديد هذا الصف ستلاحظ تغييرًا كاملًا على شريط الأدوات العلوي حيث يمنحنا خيارات تعديل هائلة ومذهلة ولكننا هنا سنستعين بلوحة الألوان Color لتغيير لون أرضية الصف ولون النص وتستطيع القيام بتحديد أي جزء ترغب بتعديل لونه من الرقم 2 في الصورة، وسنقوم هنا بتلوين أرضية الصف باللون الأسود والنص باللون الأبيض. يمكننا إنشاء نسخة عن صف أو عمود عبر تحديده وسحبه مع الضغط على مفتاح ALT من لوحة المفاتيح وفي هذه الحالة سنقوم بتحديد الصف الأول ثم نسحبه مع الضغط على ALT إلى أسفل الجدول لإنشاء نسخة عن هذا الصف في أسفل الجدول. قد نضطر في بعض الأحيان إلى تجزئة الجدول إلى أجزاء بحسب التصميم، كأن نرغب في وضع صورة في وسط الجدول أو فقرة أو قد يكون الجدول أكبر من حجم صفحة واحدة ما يضطرنا إلى توزيعه على أكثر من صفحة، ولتجربة هذا الأمر سنقوم بتصغير الإطار الذي يحوي الجدول يدويًّا عبر النقر على نقطة الارتكاز السفلية للإطار ثم اسحبها للأعلى حتى يزول نصف الجدول السفلي تقريبًا. كما ترى اختفى نصف الجدول السفلي لكنه لم يحذف حيث أن البيانات ما زالت موجودة وإشارة الزائد الحمراء على الجانب من الأسفل للجدول دلالة على وجود بقية مخفية للجدول، ويمكننا باستخدامها إنشاءَ جزءٍ آخر من الجدول يتضمن بقية بيانات الجدول، انقر على إشارة الزائد الحمراء وسيتغير شكل المؤشر ثم ارسم الإطار الذي تريد وضع بقية الجدول فيه. سنقوم الآن بتحويل الصف الأول إلى صف رأس للجدول عبر تحديد كامل الصف ثم النقر بالزر الأيمن عليه واختيار Conert to Header Rows. وبذلك يصبح هذا الصف هو رأس الجدول وهذا يعني أنه سيظهر في أعلى كل جزء من أجزاء الجدول تمامًا كمبدأ رأس الصفحة في برنامج Word حيث سيظهر رأس الصفحة المُصمّم هناك فوق جميع الصفحات في الملف. سنحوّل الآن الصف الأخير في الجدول والموجود في الجزء الأخير من الجدول إلى صف تذييل للجدول عبر تحديد الصف والنقر بالزر الأيمن فوقه ثم اختيار Convert to Footer Rows. وسينطبق الأمر ذاته على هذا الصف حيث سيظهر في أسفل جميع أجزاء الجدول شأنه شأن تذييل الصفحة في برنامج Word. وبما أننا حدّدنا حجم إطار الجزء الأول من الجدول فسيبقى حجم هذا الإطار ثابتًا وهذا يعني بأن عدد الصفوف التي ستظهر في هذا الإطار سيبقى ذاته وبما أننا وضعنا صف تذييل للجدول وظهر في هذا الجزء من الجدول فإن عددًا من الصفوف لم يعد يتّسع للظهور في هذا الإطار لذلك انتَقَلَتْ إلى الإطار التالي، ولإعادة إظهارها في هذا الإطار علينا زيادة ارتفاع الإطار. ستلاحظ أنه لن تضيع أية بيانات من الجدول وإنما ستنتقل بحسب ظروف معينة كتغيير حجم الإطارات أو حجم النص أو تنسيق ارتفاع الصفوف ... الخ. ملاحظة: ليس من الضروري أن يكون رأس الجدول وتذييله عبارة عن صف واحد بل من الممكن تحديد أكثر من صف وتعيينها كصفوف رأس أو صفوف تذييل. وبهذا نختم الجزء الأول من سلسلة الجداول في برنامج إن ديزاين، أرجو أن أكون قد قدمت لكم المعلومة المفيدة التي ستساعدكم على تصميم مطبوعات احترافية متميزة.
  18. تُستخدم المخططات لتمثيل جداول البيانات الرقمية بشكل مرئي وبمختلف التخطيطات، مما يساعدك على فهم العلاقة بين البيانات بسهولة وسرعة. فلا تحتاج إلى مراجعة كل رقم على حدة لمعرفة أيها أكبر وأيها أصغر، مثلا، في جداول البيانات التي قد تكون كبيرا جدا والتي تسبب إضاعة وقتك مقابل الجهد الكبير. يوفّر مايكروسوفت اكسل مجموعة متنوّعة وكبيرة من المخططات التي يمكنك استخدامها لكل نوع من أنواع البيانات. لكن مع هذا التعدد في أنواع المخططات، قد يكون من الصعب أو المحيّر أحيانا اختيار نوع المخطط المناسب لبياناتك. إذا كيف يمكنك اختيار المخطط المناسب؟ الأمر أصبح أسهل بوجود أمر المخططات المستحسنة Recommended Charts. عليك أولا أن تقوم بتحديد البيانات (أو جزء منها) التي تريد تمثيلها على شكل مخطط، ثم انقر فوق المخططات المستحسنة من تبويب إدراج Insert: من مربع الحوار إدراج مخطط وفي تبويب Recommended Charts ستُعرض مجموعة من المخططات التي تُلائم نوع البيانات التي حددتها مع معاينة لشكل المخطط ووصف لاستخدام المخطط. يمكنك اختيار أحد المخططات المقترحة: أو يمكنك النقر فوق تبويب كافة المخططات All Charts إن كنت ترغب في استعراض المزيد من الخيارات. هناك مجموعة من التصنيفات، وتحت كل تصنيف تندرج مجموعة من المخططات بطرق عرض مختلفة للبيانات. استكشف هذه المجموعة بنفسك لتعثر على ما يناسب بياناتك، ومرر الفأرة فوق أحد المصغرات لمعاينتها بشكل أكبر. بعد تحديد المخطط المطلوب انقر موافق OK: وكذلك، يمكنك معرفة المخطط المناسب بتمرير الفأرة فوق أيقونات المخططات من خانة مخططات Charts في تبويب إدراج Insert، إذ سيُعرض تلميح بسيط يخبرك متى تستخدم هذه المخططات ومتى تكون مفيدة: مثلا يخبرنا التلميح (الموضح في الصورة أعلاه) أن المخطط الدائري يُستخدم لعرض نسبة كل جزء من المجموع الإجمالي. انقر على السهم بجانب كل أيقونة لاستعراض بقية الأشكال لهذا المخطط. كيفية إنشاء المخطط كما ذكرت في الفقرة أعلاه، لإنشاء المخطط يجب أن تقوم بتحديد البيانات أو جزء البيانات التي تريد تمثيلها بشكل مخطط. بعدها انقر فوق المخططات المستحسنة Recommended Charts أو انقر فوق أحد أنواع المخططات من خانة Charts لتُعرض قائمة الخيارات: لاحظ أنّه بمجرد تمريرك الفأرة فوق نوع المخطط سيُنشأ المخطط في ورقة العمل كمعاينة مباشرة، وسيظهر تلميح أيضا يدلّك على الحالات التي يستخدم فيها هذا النوع. عندما تقرر نوع المخطط الذي يناسبك انقر فوقه بزر الفأرة الأيسر لكي يتم إدراجه: يمكنك نقل المخطط من منطقة إلى أخرى داخل ورقة العمل بالنقر فوق أي مساحة فارغة داخل المخطط والسحب إلى المنطقة المرغوبة. لاحظ عند تحديد المخطط ظهور تبويبين سياقيين يحتويان على مجموعة من الأوامر الخاصة بتنسيق المخطط وتصميمه. كما تظهر ثلاث أيقونات بجانب المخطط توفر وصولا سريعا لمجموعة من الأوامر الخاصة بتصميم المخطط: من أيقونة + يمكنك إلغاء تأشير/تأشير عناصر المخطط التي تريد إزالتها/إضافتها إلى المخطط، كخطوط الشبكة، المحاور، إلخ. ومن أيقونة الفرشاة يمكنك تغيير ألوان المخطط أو نمطه. أما أيقونة القمع فتُستخدم لعمل تصفية لنقاط البيانات وأسمائها التي لا ترغب في عرضها في المخطط. سنقوم مثلا بإضافة عنوان للمخطط، بالنقر فوق أيقونة + وتأشير خيار عنوان المخطط Chart Title: بعد إضافة مربع العنوان سنقوم بتحديد النص (chart title) داخل المربع لحذفه وإضافة العنوان المناسب. كما سنقوم بتغيير ألوان المخطط بالنقر فوق أيقونة الفرشة ومن تبويب ألوان Colors: يمكنك الوصول إلى هذه الخيارات من تبويب تصميم Design السياقي أيضا كما سنشرح لاحقا في هذا المقال. تخصيص نصوص المخطط بإمكانك تنسيق النصوص داخل المخطط تماما كما تفعل بأي نص آخر في ورقة العمل من خلال الأوامر الخاصة بتنسيق النصوص في تبويب الصفحة الرئيسية. لتنسيق النصوص، ولتكن نصوص المحور الأفقي مثلا، حددها أولا بالنقر بزر الفأرة الأيسر فوق المحور ليظهر مربع التحديد ذو المقابض الأربعة، ثم اذهب إلى تبويب الصفحة الرئيسية Home وأجر التغييرات المرغوبة: بإمكانك، مثلا، تغيير اللون، الحجم، السمك، أو ميل النص. لكنّ اكسل يوفّر أكثر من ذلك بكثير فيما يتعلّق بتخصيص النصوص. للوصول إلى الخيارات المتقدمة حدّد عنصر المخطط (الذي يحتوي على نصوص)، انقر بزر الفأرة الأيمن واختر تنسيق Format (بما أنّني حددت عنوان المخطط فالخيار هنا هو تنسيق عنوان المخطط Format Chart Title): ستُفتح لوحة التنسيق. كما تلاحظ يوجد تبويبان. الأول، خيارات العنوان Title Options، وهو يحتوي على الخيارات المتعلقة بالمربع الذي يحتوي النص. والثاني، خيارات النص Text Options، وهو يحتوي على الخيارات المتعلّقة بالنص داخل مربع العنوان، وهو ما يهمنا هنا. وفي داخل تبويب خيارات النص توجد ثلاثة تبويبات فرعية. الأول يحتوي على خيارات تعبئة وحدود النص. يمكنك من خلاله، مثلا، اختيار تعبئة خالصة، أو تعبئة متدرجة، بالإضافة إلى تغيير إعدادات التدرج كالاتجاه، السطوع، الشفافية، وغيرها. أما التبويب الثاني فهو يحتوي على تأثيرات النصوص، كالانعكاس، التوهّج، إلخ. وكل من هذه الخيارات تحتوي على نماذج جاهزة يمكنك استخدامها. أو يمكنك إنشاء تأثيراتك الخاصة. مثلا، تستطيع إضافة ظل للنص Shadow من نماذج الظلال الجاهزة لإعطائه مظهرا أكثر عمقا: أو إضافة توهج Glow لإبرازه أكثر: كما تستطيع إضافة انعكاس Reflection كنوع من اللمسات الفنية: جرّب واستكشف هذه الخيارات بنفسك، وقم بتغيير الإعدادات الخاصة بكل تأثير إلى أن تصل إلى النتيجة المطلوبة. وبإمكانك دائما إلغاء أي تأثير قمت بإضافته باختيار النموذج بلا No من القائمة: ملاحظة: التأثيرات Soft Edges ،3D-Format، و 3D Rotation غير مفعّلة لأنها مخصصّة لنصوص WordArt. أما التبويب الثالث فيحتوي على بعض خيارات مربع النص كالمحاذاة والاتجاه. عند تنسيق النصوص، يفضل ألّا تختار تأثيرات تؤثر على قابلية القراءة خصوصا إذا كنت تطبقها على نقاط المحاور. بعد الانتهاء من تطبيق كافة التنسيقات المرغوبة أغلق لوحة التنسيقات بالنقر فوق أيقونة ×. تنسيق المخطط إنّ ما يميز مخططات Excel هو أنّ كل عنصر فيها قائم بحد ذاته، وبذلك يملك كل عنصر تنسيقاته الخاصة. وهنا يجب أن تنتبه إلى العنصر الذي تحدده عند إجراء التنسيقات. يمكنك الاستفادة من التلميح الصغير الذي يظهر عند تحريك المؤشر داخل المخطط. لاحظ (في الصورة أدناه) التغيّر بين منطقة المخطط chart area ومنطقة الرسم plot area بمجرد تحريك الفأرة حركة صغير. استدل بهذه التلميحات لتحديد الجزء الذي ترغب في تنسيقه بالضبط. لتغيير نمط المخطط حدّد منطقة المخطط أولا ثم اذهب إلى تبويب تصميم Design السياقي: يمكنك تمرير الفأرة فوق الأنماط Styles المختلفة لعرض معاينة مباشرة، وعندما تحدد النمط المرغوب انقر بزر الفأرة الأيسر فوقه لاختياره. يمكنك القيام بتغيير النمط أيضا من أيقونة الفرشاة بجانب المخطط كما ذكرنا أعلاه. لديك أيضا خيار تغيير ألوان النمط نفسه الذي اخترته من أيقونة تغيير اللون Change Color، إذ تتوفر العديد من المجاميع الجاهزة من الألوان: وإذا رغبت في اختيار تخطيط مختلف عن التخطيط الافتراضي للمخطط، انقر فوق زر تخطيط سريع Quick Layout: يمكنك اختيار تخطيط لا يحتوي على خطوط الشبكة، أو آخر يُظهر نقاط البيانات فوق المخطط. مرر فوق كل تخطيط لمعاينته مباشرة. إذا رأيت أنّ عناصر المخطط تبدو مكتظة، قد تُفيدك إعادة تحجيمه بالنقر فوق أحد مقابض الزوايا handles ثم سحبها. ولتنسيق كل عنصر على حدة، قم بتحديد العنصر، ثم انقر بزر الفأرة الأيمن واختر تنسيق Format. سنقوم هنا، مثلا، بتنسيق الأعمدة، بتحديدها، النقر بزر الفأرة الأيمن ثم اختيار تنسيق سلاسل البيانات Format Data Series (سيتغير هذا الخيار بتغيّر العنصر): من الخيارات المتاحة، تغيير شكل السلسة من مكعبات إلى أشكال مخروطية Cone، أسطوانية Cylinder، إلخ. كما يمكنك تغيير عرض المسافة بين الأعمدة وعمقها. بعد الانتهاء من تنسيق العنصر الأول حدد العنصر الثاني الذي ترغب في تنسيقه. سنقوم، مثلا، بإضافة لون متدرج لأرضية المخطط Floor: أو تغيير لون خطوط الشبكة Gridlines: يمكنك الذهاب إلى أبعد الحدود في تنسيق المخطط. اختر نمطا مقاربا للشكل المرغوب من الأنماط الجاهزة ثم ابدأ بالتعديل عليه إلى أن تصل إلى النتيجة المطلوبة. كيفية إنشاء المخططات المصغرة Sparklines وتعديلها Sparklines (وتُسمى خطوط المؤشرات في النسخة العربية من اكسل) هي مخططات مُصغرة يُناسب حجمها حجم خلية واحدة. تُستخدم هذه المخططات الصغيرة لعرض الاتجاهات في سلسلة محددة من البيانات عندما لا تكون بحاجة إلى خصائص المخطط الكامل. وهذه مفيدة في جداول البيانات التي تحتوي على عدد كبير من الصفوف حيث يكون تمثيل البيانات في مخطط كبير ورؤية العلاقة بينها صعبا. مثلا، لو قمنا بعرض الجدول أدناه في مخطط كامل سيكون من الصعب تمييز الزيادة والنقصان في المبيعات لكل منتج، لأنّ خطوط الاتجاه متشابكة جدا: أما عند استخدام المخططات المصغرة، ستكون ملاحظة الاتجاهات سهلة وواضحة. لإنشاء مخطط مصغّر، قم بتحديد الخلية التي تريد عرضه فيها أولا، ثم اذهب إلى تبويب إدراج Insert وانقر فوق أحد نماذج المصغرات من خانة خطوط المؤشرات Sparklines: من مربع الحوار إنشاء خطوط المؤشرات قم بتحديد سلسلة البيانات التي ترغب في تمثيلها، ثم انقر موافق OK: سيتم إدراج المخطط المصغر داخل الخلية: إذا كنت ترغب في إنشاء مخطط مصغر لنطاق من البيانات، يمكنك إنشاءه لصف واحد من البيانات ثم استخدام زر التعبئة لعمل تعبئة تلقائية AutoFill لبقية الصفوف: أو بطريقة أخرى، حدد الخلية التي تريد إظهار أول مخطط مصغر فيها، اذهب إلى تبويب إدراج Insert وانقر فوق أحد نماذج المخططات المصغرة. في حقل نطاق البيانات Data Range حدد جميع الصفوف التي تريد تمثيلها في مخططات مصغرة: وفي حقل نطاق الموقع Location Range حدد جميع الخلايا التي تريد إظهار المخططات فيها ثم انقر موافق OK: تنسيق المخططات المصغرة عند تحديد أحد المخططات المصغرة، أو جميعا سيظهر تبويب تصميم Design السياقي، يمكنك من خلاله اختيار نمط مختلف للمخططات من معرض الأنماط: كما يمكنك تمييز النقاط العليا، النقاط الدنيا، نقطة البداية، إلخ بلون مختلف من خانة عرض Show: أو اختيار لون مخصص للمخطط ككل من أمر لون خط المؤشر Sparkline Color، أو لون النقاط العليا، النقاط الدنيا، إلخ من أمر لون العلامة Marker Color: ولتغيير نوع المخطط، انقر فوق الشكل المرغوب من خانة النوع Type: إذا رغبت في إزالة المخططات المصغرة، قم بتحديدها وانقر فوق زر مسح Clear من تبويب تصميم Design:
  19. يتيح لك مايكروسوفت اكسل العديد من الأدوات التي تمكنك من تنظيم البيانات على شكل جداول بيانات، تنسيق هذه البيانات وإجراء العديد من العمليات الحسابية عليها باستخدام الصيغ أو المعاملات. كما يمكنك تحليل البيانات وعرضها على شكل مخططات أو جداول محورية. في هذا الدرس سنتعرف كبداية على كيفية إنشاء مصنف جديد workbook وعناصر هذا المصنف. بالإضافة إلى بعض أساسيات الاستخدام. إصدار البرنامج المستخدم في شرح هذا الدرس هو Excel 2013، لكنه لا يختلف عن الإصدارات السابقة (ربما بعض الاختلافات البسيطة مثل شكل الأيقونات أو مواقع الأدوات). واجهة اكسلبما أنّ هذه هي المرة الأولى التي ستستخدم فيها البرنامج، اختر مصنف فارغ blank workbook عند فتحه. سيكون المصنف الجديد بالشكل التالي: يتكون مصنف اكسل من: أشرطة الأدوات بتصميم Ribbon والتي قد تبدو مألوفة بالنسبة لك إذا اعتدت العمل على برنامج مايكروسوفت وورد.ورقة عمل sheet واحدة أو عدة أوراق عمل تقوم بإضافتها أو حذفها حسب حاجتك. تتكون ورقة العمل الواحد من الملايين من الصفوف rows والأعمدة columns، إذ أنّ عددها سيتزايد كلما قمت بالتمرير نزولًا، أو إلى جهة اليمين باستخدام أشرطة التمرير. تُسمى الأعمدة بالأحرف الأبجدية الإنجليزية وتُسمى الصفوف بالأرقام. يمكنك إضافة أوراق العمل عن طريق زر (+) بجانب اسم الورقة في أسفل يمين المصنف.الخلايا cells. تعرّف الخلية من تقاطع صف محدد مع عمود محدد. عند النقر على الخلية سيتم تحديدها بمربع أخضر.صندوق الاسم name box. وهو الذي يحتوي على اسم الخلية المحدد الذي ينتج من حرف العمود ورقم الصف. لاحظ اسم الخلية C7 في صندوق الاسم، أي الخلية الناتجة من تقاطع العمود C مع الصف 7.شريط الصيغة formula bar. وفيه تعرض محتويات الخلية سواء كانت نص اعتيادي أو صيغة.تحتوي أشرطة الأدوات على الكثير من الأوامر والخيارات التي تساعدك في تنسيق الخلايا وإجراء العمليات على البيانات. تنظم هذه الأوامر والخيارات في مجموعة من التبويبات tabs. مثلا يحتوي تبويب الصفحة الرئيسية Home على الكثير من الأوامر المهمة التي تحتاجها في تنسيق الخلايا، تنسيق البيانات وبعض الصيغ الأساسية كصيغة الجمع. ويحتوي تبويب إدراج Insert على أوامر لإدراج عناصر كالصور، المخططات، الجداول، وغيرها. أما تبويب صيغ Formulas فيمكنك من خلاله استعراض الصيغ والدوال الموجودة بمختلف الأنواع، كالدوال الرياضية، الإحصائية، المنطقية، وغيرها الكثير. لتوضيح كيفية استخدام اكسل والأوامر والأدوات المختلفة التي يوفرها سنقوم بعمل جدول بيانات بسيط لمبيعات متجر ما خلال فترة ما (قد تكون البيانات غير منطقية لكنها للتوضيح فحسب). انقر فوق الخلية التي تريد إدخال البيانات فيها سواء كانت بيانات نصية أو رقمية. يمكنك استخدام المفتاح Enter للانتقال إلى الخلية التالية إلى الأسفل، والمفتاح Tab للانتقال إلى الخلية التالية إلى اليمين إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليسار إذا كان اتجاه الورقة من اليسار إلى اليمين) بدلًا من استخدام الفأرة وتحديد كل خلية على حدة لإدخال محتوى. لاحظ في الجدول أن بعض النصوص يتجاوز حجمها عرض الخلية، يمكنك تعديل عرض العمود ليتناسب مع حجم النص بوضع المؤشر على الخط الفاصل بين العمودين، وعندما يتحول المؤشر إلى علامة + مع سهمين قم بسحب العمود إلى اليسار إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليمين إذا كان اتجاه الورقة من اليسار إلى اليمين). لتنسيق مجموعة من الخلايا قم بالنقر على أول خلية، استمر بالنقر على زر الفأرة الأيسر نزولا إلى آخر خلية تريد تنسيقها. عند النقر بزر الفأرة الأيمن فوق مجموعة الخلايا المحددة ستظهر قائمة منسدلة تحتوي على مجموعة من الخيارات كالنسخ، اللصق، إدراج، تصفية البيانات، وغيرها. بالإضافة إلى شريط أدوات مصغر mini tool bar يمكنك من خلاله إجراء تنسيقات سريعة على النص أو مجموعة البيانات، وكذلك عندما تقوم بتحديد مجموعة من الخلايا سيظهر زر صغير في زاوية التحديد يسمى التحليل السريع Quick Analysis. يمكنك من خلال هذا الزر تنفيذ بعض الأوامر بصورة سريعة كعمل تنسيق شرطي للخلايا، تحويل الخلايا إلى مخطط أو جدول، أو استخدام بعض الدوال السريعة. سأقوم هنا بتحويل مجموعة الخلايا المحددة إلى جدول مثلا: قد تتساءل لما أقوم بتحويل البيانات إلى جدول على الرغم من أنّ الورقة مقسمة إلى صفوف وأعمدة. عندما تقوم بتحويل البيانات إلى جدول ستظهر لك خيارات إضافية يمكنك الوصول إليها عن طريق السهم بجانب عناوين الجدول. من هذه الخيارات فرز البيانات أو تصفيتها. كما تلاحظ ظهور تبويب جديد. هذا التبويب سياقي، أي يظهر عند تحديد الجدول ويختفي عندما تلغي التحديد. يظهر هذا التبويب مع بعض العناصر الأخرى، مثل الصور أو المخططات. حفظ المصنف وطباعتهطريقة حفظ المصنف لا تختلف عن طريقة حفظ مستندات وورد. اذهب إلى منطقة backstage (وهي المنطقة التي تظهر عندما تنقر على زر ملف File في أقصى يسار المصنف في النسخة الإنجليزية وأقصى يمين المصنف في النسخة العربية). من هذه المنطقة يمكنك حفظ الملف، تصديره، طباعته، مشاركته، أو الوصول إلى خيارات البرنامج. لحفظ المصنف لأول مرة انقر فوق حفظ كـ Save As. يمكنك حفظ الملف على جهازك أو على حساب OneDrive الخاص بك. إذا قمت بحفظ الملف على حساب OneDrive يمكنك الوصول إليه والعمل عليه من أي جهاز حاسوب متصل بالإنترنت. يمكنك أيضًا مشاركة المصنف بإرساله عبر البريد الإلكتروني عبر خيار مشاركة Share. لطباعة الملف اذهب إلى خيار طباعة Print. يمكنك مشاهدة معاينة الطباعة واختيار نوع الطابعة، عدد النسخ، وحجم صفحة الطباعة. كما يمكنك طباعة المصنف على شكل ملف PDF. إدراج الأعمدة والصفوف أو حذفهالنفترض أنّك تريد إجراء تغييرات على الجدول كتوسيعه وإضافة أعمدة أو صفوف أخرى أو حذفها. إدراج الأعمدة أو الصفوفيمكنك إدراج عمود أو صف خارج الجدول بعدة طرق: قم بكتابة عنوان العمود ثم اضغط المفتاح Enter. أو اكتب عنوان العمود ثم اضغط المفتاح Tab للانتقال إلى عنوان العمود التالي.لإدراج صف خارج الجدول قم بسحب المقبض الصغير في حافة الجدول إلى الأسفل حسب الصفوف التي تريد إضافتها. أما إذا كنت ترغب في إدراج عمود أو صف في وسط الجدول، اتبع الخطوات التالية: انقر على أحد عناوين الجدول، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج أعمدة جدول إلى اليسار Insert Table Columns to the Left. الخطوات نفسها تنطبق على الصفوف: انقر فوق الخلية التي تريد إدراج صف فوقها، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج صفوف جدول في الأعلى Insert Table Rows Above. حذف الأعمدة أو الصفوفيمكنك حذف الأعمدة أو الصفوف التي لا ترغب في وجودها في الجدول بالخطوات التالية: قم بتحديد خلية داخل العمود/الصف الذي تريد حذفه ثم اذهب إلى تبويب الصفحة الرئيسية Home وانقر على السهم تحت زر حذف Delete.من القائمة المنسدلة اختر حذف أعمدة جدول Delete Table Columns أو حذف صفوف جدول Delete Table Rows. نسخ الأعمدة وتغيير مواضعها داخل الجدوللا يختلف النسخ، القص، واللصق عن بقيمة البرامج الأخرى. أي يمكنك تحديد نطاق الخلايا الذي تريد نسخه أو قصه، ثم النقر بزر الفأرة الأيمن واختيار نسخ Copy أو قص Cut من القائمة المنسدلة. وللصق مجموعة الخلايا، انقر فوق الموضع الذي تريد لصق الخلايا فيه، انقر بزر الفأرة الأيمن واختر لصق Paste. أما إذا أردت تغيير موضع عمود أو صف معين داخل الجدول، بتحريكيه إلى اليمين أو اليسار اتبع الخطوات التالية: حدد عنوان العمود ثم ضع المؤشر على حافة الخلية ليتحول شكله إلى + بأربعة اتجاهات. استمر بالنقر ليتحول المؤشر إلى حرف I أخضر وكبير، حرك بالفأرة مع الاستمرار بالنقر باتجاه الموضع الذي تريد نقل العمود إليه.نفس الخطوات تنطبق على تحريك الصفوف: مرر المؤشر فوق الصف ليتحول إلى سهم أسود باتجاه واحد ثم انقر بزر الفأرة الأيسر لتحديد الصف.حرك المؤشر إلى حافة الصف إلى أن يتحول شكله إلى + بأربعة اتجاهات. انقر بزر الفأرة الأيسر وحرك الصف، مع الاستمرار بالنقر، إلى الموضع الذي تريد نقل الصف إليه.سنقوم الآن بعمل بعض التنسيقات للجدول. سأقوم مثلا بإضافة عنوان للجدول وتنسيقه: يمكنك عمل التنسيقات يدويا أو اختيار أحد أنماط الخلايا الجاهزة من تبويب الصفحة الرئيسية Home ثم قائمة أنماط الخلية Cell Styles. سأقوم أيضًا بتعديل البيانات في عمود "السعر" بتحديد نطاق الخلايا وإضافة عملة بجانب الرقم من تبويب الصفحة الرئيسية Home ثم اختار العملة من زر العملات. كما سأقوم باستخدام زر الجمع التلقائي AutoSum لإظهار مجموع كلف السلع المباعة، وذلك بالنقر على الخلية أسفل العمود (أو أي خلية تريد إظهار النتيجة فيها)، ثم النقر على زر الجمع التلقائي. ملاحظة: لتغيير محتوى الخلية بالكامل يمكنك تحديد الخلية ثم الكتابة من لوحة المفاتيح. أما إذا أردت تعديل جزء من محتوى الخلية قم بالنقر بشكل مزدوج على الخلية وإجراء التعديل المرغوب. أو يمكنك أيضًا استخدام شريط الصيغة للتعديل على محتوى الخلية. كانت هذه مقدمة بسيطة عن الإجراءات التي يمكنك تنفيذها على البيانات كبداية في برنامج اكسل. بإمكانك الآن البدء بعمل جداول البيانات الخاصة بك، تنسيقها، والتعديل عليها. سنقوم في درس قادم إن شاء الله بشرح الصيغ والدوال في اكسل بشكل مفصل.
  20. يُستخدم أمر التعبئة لإدخال سلسلة من البيانات التي تتبع نفس النمط تلقائيا بدلا من إدخالها يدويا. فإذا كانت لديك سلسلة تواريخ تريد إدخالها في اكسل كما في المثال أدناه: ستصبح العملية مطولة جدا عند إدخال كل تاريخ على حدة. بدلا من ذلك اكتب أول تاريخ ثم انقر على مقبض التعبئة في حافة الخلية، قم بالسحب إلى الأسفل بينما تستمر بالنقر إلى أن تصل إلى آخر تاريخ تريد إظهاره. سيظهر مستطيل صغير أمام الخلية كلما واصلت السحب يشير إلى القيمة التي وصلت إليها في السلسلة: وإذا كانت لديك مجموعة من البيانات ترغب في تنسيقها بنمط معين يمكنك تنسيقها في خلية واحدة ثم استخدام التعبئة السريعة Flash Fill لتكرار التنسيق على نطاق الخلايا. في المثال أدناه جدول بيانات أرغب في تنسيقه بالترتيب التالي: القارة/الدولة: عدد السكان بدلا من إعادة كتابة البيانات بهذا الترتيب سأقوم بإدخال البيانات في الخلية E4، بعدها سأقوم بالنقر على مقبض التعبئة وأقوم بالسحب إلى آخر خلية في نطاق الخلايا: ومن مربع خيارات التعبئة سأقوم باختيار تعبئة سريعة Flash Fill: وسيقوم البرنامج تلقائيا بتنسيق البيانات بنفس ترتيب الخلية الأولى: التعبئة التلقائية Auto Fillتستطيع استخدام التعبئة التلقائية لنسخ البيانات من خلية واحدة أو عدة خلايا أو لتعبئة سلسلة من البيانات. في الجدول أدناه لدينا بيانات من أنواع مختلفة سنقوم بتطبيق التعبئة التلقائية عليها: الأرقام: تستطيع تكرار الأرقام على نطاق من الخلايا بالنقر على مقبض التعبئة في حافة الخلية، وهذه المرة استخدم زر الفأرة الأيمن في النقر والسحب وليس الزر الأيسر. عندما تفعل ذلك ستظهر لك قائمة عند الوصول إلى آخر خلية في نطاق الخلايا، اختر نسخ الخلايا Copy Cells: سيتم نسخ الرقم إلى جميع الخلايا. النصوص: يمكنك نسخ النصوص بنفس طريقة نسخ الأرقام، ولكن هذه المرة سنكرر ثلاث خلايا وليس خلية واحدة. حدّد الخلايا التي تريد تكرارها ثم انقر بزر الفأرة الأيمن على مقبض التعبئة واسحب إلى آخر خلية في نطاق الخلايا: اختر نسخ الخلايا Copy Cells من القائمة وسيتم تكرار الخلايا المحددة: السنوات: حدّد الخلية الأولى بصيغة السنوات وانقر على مقبض التعبئة بزر الفأرة الأيمن ثم اسحب إلى آخر خلية في نطاق الخلايا: اختر تعبئة سلسلة من القائمة Fill Series لتعبئة نطاق الخلايا بسلسلة السنوات: يمكنك تطبيق نفس أمر تعبئة سلسلة على الأشهر، الأيام، التواريخ، أو أوقات اليوم. بالنسبة للتّواريخ، لديك خيارات تعبئة سلسة أيام، أسابيع، أشهر، أو سنوات. في نفس المثال سأقوم باختيار تعبئة أشهر: وستتم تعبئة نطاق الخلايا بتواريخ تفصل بينها فترة شهر: إذا كنت ترغب في تعبئة سلسلة وقت محددة أكثر، كسلسلة من الأوقات التي تفصل بينها فترة 15 دقيقة، قم بإدخال البيانات في أول خليتين ثم حددها: طبّق أمر التعبئة التلقائية بالنقر على مقبض التعبئة بزر الفأرة الأيسر واسحب إلى الأسفل لتعبئة الخلايا: يمكنك استخدام أمر التعبئة أيضا مع الصيغ. في الجدول أدناه مجموعة من الأرقام نرغب في إيجاد متوسط الأرقام لكل عمود: في الخلية C9 سنقوم بإيجاد المتوسط باستخدام دالة Average: ثم سنقوم بتعبئة الصيغة على بقية الأعمدة: كما لاحظت، يمكن إجراء أمر التعبئة بالسحب للأعلى، الأسفل، اليمين، أو اليسار، وليس للأسفل فقط. التعبئة السريعة Flash Fillأمر التعبئة السريعة من الخصائص الجديدة في Excel 2013 لتعبئة مجموعة خلايا بنمط معين على أساس مثال، إذ يعمل هذا الأمر عندما يتعرف على نمط معين للبيانات ويقوم بتعبئة بقية الخلايا بناء عليه. لنأخذ الجدول أدناه كمثال؛ مجموعة من الأرقام نريد تحويلها بصيغة تاريخ: سنقوم بكتابة الرقم الأول بصيغة تاريخ ثم نستخدم التعبئة السريعة لتحويل بقية الأرقام إلى صيغة تاريخ. انقر على مقبض التعبئة بزر الفأرة الأيمن واسحب إلى نهاية نطاق الخلايا ثم اختر تعبئة سريعة Flash Fill: قام البرنامج بتحويل جميع الأرقام إلى صيغة تاريخ، لكن لاحظ أن البرنامج لم يقم بكتابة التواريخ جميعها بصور صحيحة: وتفسير ذلك هو أن البرنامج يحتاج المزيد من الأمثلة ليفهم أنك تقوم بتحويل البيانات إلى صيغة تاريخ. لذلك سنقوم بكتابة مثالين آخرين يدويا ثم نقوم بتطبيق أمر التعبئة السريعة عليها: لاحظ أن التواريخ صحيحة هذه المرة لأن البرنامج فهم سياق البيانات: في بداية المقال قمنا باستخدام التعبئة السريعة لدمج بيانات ثلاثة أعمدة بعمود واحد. يمكنك أيضا أن تقوم بفصل بيانات عمود إلى عمودين أو أكثر باستخدام التعبئة السريعة. لتوضيح الطريقة سنأخذ الجدول التالي كمثال؛ مجموعة من الأسماء والألقاب. والهدف هنا هو فصل الأسماء في عمود والألقاب في عمود: اكتب الاسم الأول، ثم الاسم الثاني. عندما تبدأ بكتابة الاسم الثاني سيطبق البرنامج التعبئة السريعة تلقائيا وسيعرض عليك قائمة ببقية الأسماء. اضغط Enter لتنفيذ الأمر. يمكنك تكرار نفس الطريقة على عمود الألقاب، لكن سنستخدم طريقة أخرى هنا لنعرفك على أكثر من طريقة لتطبيق أمر التعبئة السريعة. اكتب أول لقب في أول خلية، ثم حددها مع بقية الخلايا في عمود الألقاب: من تبويب بيانات Data قم بالنقر على زر تعبئة سريعة Flash Fill. وستتم تعبئة بقية الخلايا ببقية الألقاب. أمر التعبئة السريعة من الأوامر المفيدة في اختصار الوقت والجهد، لكن عليك أن تنتبه إلى أنّه في بعض الأحيان تكون نتائج التعبئة غير صحيحة إذا لم تزود البرنامج بالأمثلة الكافية لتدله على سياق البيانات. جرب بنفسك تطبيق أوامر التعبئة التلقائية والتعبئة السريعة على مختلف أنواع البيانات، فهذه أفضل طريقة للتعرف على المزيد من خصائص البرنامج بصورة عامة والتعبئة بصورة خاصة. وإن كان لديك أي سؤال لا تتردد بطرحه عبر التعليقات.
  21. في الكثير من الأحيان نحتاج إلى إدراج جداول ومخططات من برنامج إكسل إلى برنامج بوربوينت بهدف عرض إحصائيات معينة وإنشاء المخططات داخل العروض التقديمية. وعند وجود عمليات تحرير متكررة على هذه الجداول والمخططات، سيضطر المستخدم إلى تحريرها أولاً على برنامج إكسل ومن ثم على برنامج بوربوينت، الأمر الذي يستغرق الكثير من الوقت. لكن يُمكن للمستخدم الاستفادة من التكامل الذي توفره أوفيس بين برامجها، وذلك من خلال ربط الجداول والمخططات بين البرنامجين بكل سهولة، بحيث يُصبح بالإمكان تحرير جدول الإكسل فقط بواسطة المستخدم، بينما سيتم تحرير نفس الجدول على بوربوينت بصورة تلقائية من قبل البرنامج، وكذلك الحال بالنسبة للمخططات. دعونا نبدأ بشرح كيفية ربط جدول الإكسل ببرنامج بوربوينت: نفترض أن لدينا ملف إكسل يتضمن بعض البيانات ومخزن على سطح المكتب باسم A، ونريد إدراج هذا الملف إلى بوربوينت، بحيث عند التعديل عليه في أي مرة يتم تعديله على برنامج بوربوينت تلقائياً. الصورة التالية توضح البيانات المدرجة داخل ملف الإكسل: في البداية افتح برنامج بوربوينت وتوجه إلى شريط القوائم، ومن قائمة Insert اختر Object: ستلاحظ ظهور مربع حوار باسم Insert Object. اضغط Create from file، ثم حدد ملف الإكسل الذي ترغب بربطه من خلال زر Browse. سأقوم بتحديد ملف الإكسل المخزن على سطح المكتب باسم A والذي أرغب بإدراجه: بعد تحديد الملف، نأتي إلى ربط الملف من خلال وضع علامة صح على مربع Link الظاهر أسفل كلمة Browse كما هو موضح في الصور ثم اضغط موافق. بعد ذلك سيتم إدراج ملف الإكسل كما هو داخل الشريحة الحالية في برنامج بوربوينت. والآن نفترض أنك بعدة فترة زمنية معينة أجريت بعض التعديلات على ملف الإكسل المسمى A وقمت بحفظ البيانات، ستلاحظ عند فتح عرض بوربوينت الذي قمت بربط الجدول به ظهور رسالة تفيد بحصول تغييرات على الملف وفي حال رغبتك بتحديث القيم فينبغي عليك الضغط على Update، بعدها سيظهر لك الجدول داخل بوربوينت مع التعديلات الأخيرة التي تمت عليه في الإكسل. فمثلاً نفترض أننا قمنا بتعديل كل القيم الخاصة بعمود PHYSICS داخل الإكسل إلى 50، سنلاحظ أن القيم تم تعديلها تلقائيا في ملف البوربوينت. كما يُمكنك القيام ببعض التعديلات على الجدول من خلال الإعدادات العامة للملف والتي يُمكن الوصول لها من خلال الضغط على File من شريط القوائم، ثم اضغط Edit link to file بالأسفل. ستلاحظ وجود عدة خيارات وهي: للإغلاق: closeلتحديث الجدول: update nowلفتح ملف الإكسل الأصلي: Open sourceلتغيير ملف الأكسل المرتبط: Change sourceلإزالة الارتباط: Break linkكما يوجد بالأسفل مربع صغير لعملية التحديث التلقائي للجدول Automatic update، ويُمكنك تغييره بحسب ما يتناسب معك، عن طريق إزالة علامة "صح" وذلك في حال رغبتك بإجراء التعديل بطريقة يدوية فقط. ملاحظة: يُمكنك تنفيذ العملية السابقة بطريقة أخرى عند رغبتك بنسخ جزء معين من الجدول كالتالي: بعد فتح ملف الإكسل، حدد الجزء المطلوب من الجدول والذي ترغب بإدراجه في بوربوينت، وبزر الفأرة الأيمن اضغط نسخ أو CTRL+C من لوحة المفاتيح. اذهب إلى برنامج بوربوينت ومن شريط الأدوات في HOME نضغط Paste ثم Paste special بعدها نؤشر على خيار Paste link ثم Microsoft excel worksheet object ثم اضغط OK. سنلاحظ انتقال الجزء المحدد من جدول الإكسل إلى بوربوينت مع وجود خاصية الربط التي تسمح بالتعديل التلقائي. والآن دعونا ننتقل لطريقة ربط مخطط إكسل ببرنامج بوربوينت: نفترض أن لدينا مخطط جاهز ببرنامج إكسل ونرغب بإدراجه في بوربوينت، مع السماح بتعديل المخطط تلقائياً في بوربوينت عند إجراء أي تعديلات على مخطط الإكسل. كل ما عليك فعله هو نسخ المخطط في برنامج إكسل، ثم انتقل إلى برنامج بوربوينت، ومن شريط الأدوات في قائمة HOME اختر Paste ثم ستلاحظ ظهور 5 أيقونات لنسخ المخطط وهي موضحة كالتالي: الأيقونة الأولى: سيتم فيها لصق المخطط دون ربط البيانات بين البرنامجين، ومظهر المخطط سيكون بحسب تنسيق بوربوينت.الأيقونة الثانية: سيتم فيها لصق المخطط دون ربط البيانات بين البرنامجين، ومظهر المخطط سيكون بحسب تنسيق إكسل.الأيقونة الثالثة: سيتم فيها لصق المخطط مع ربط البيانات بين البرنامجين، ومظهر المخطط سيكون بحسب تنسيق بوربوينت.الأيقونة الرابعة: سيتم فيها لصق المخطط مع ربط البيانات بين البرنامجين، ومظهر المخطط سيكون بحسب تنسيق إكسل.الأيقونة الخامسة: سيتم فيها لصق المخطط كصورة فقط، وبالتالي لن يكون بإمكانك التعديل على البيانات أو المظهر.ما يهمنا في هذا الدرس هو الأيقونة الثالثة والرابعة، وهما تُقدمان نفس الوظيفة لكن مع فرق الألوان وذلك في حال اختيارك لمظهر مخصص في بوربوينت، وبأي حال ستلاحظ انتقال المخطط إلى بوربوينت كما في الصورة عند اختيارك لأي منهما. وبهذا نكون انتهينا من الدرس ومعرفة كيفية ربط الجداول والمخططات بين برنامجي إكسل وبوربوينت.
  22. جداول التّسعير عامل حيويّ وعنصر أساسيّ في مواقع الربح عبر الإنترنت، وطريقة تصميمها قد تكون عاملَ بناءٍ أو هدمٍ في مشروعك. على الرّغم من أنّ جدول التسعير يصمَّمُ في الأساس ليساعد الزبائن على اختيار الأسعار الأنسب لهم بناءً على حاجاتهم ومتطلباتهم، فإننا كثيرًا ما نجد جداولَ تسعيرٍ مُبهرةً لكنَّها عسيرةُ الفهم. جدول التسعير الجيّد والفعّال يجب أن يجمع بين الوضوح وجمال التصميم. في هذا المقال سأشارككم نصائحَ وممارساتٍ فعّالة لتصميم جداول تسعيرٍ رائعة، وسأعرض عليكم عيّنة من أنجح وأفضل جداول التّسعير. تخطيط الجدولمعظم جداول التّسعير تصمَّم بشكلٍ أفقي لتَسهُل المقارنة بين العروض والمميّزات، لكنَّ هذا لا يعني أنّك يجب أن تصمم جدولك دائمًا بهذا الشّكل. بنية الجدول تعتمد على مدى تنوُّع خدماتك ومدى تعقيد المعلومات التي ستعرضها. بشكلٍ عام، الأفضل أن تصمّم الجدول بشكلٍ أفقي إذا كنت ستعرض فيه مميّزاتٍ كثيرة وعموديًّا في حالة أنّك لن تعرض فيه الكثير من المميّزات. مثال من موقع Dropbox على الجداول المصمّمة أفقيًّا. الجدول يحوي القليل من المعلومات وكذلك القليل من الاختلافات بين الباقات لذا فإن الطريقة الأفقيّة هي الأنسب لعرضها. مثال من موقع champion sound على الجداول المصمّمة عموديًّا.يحتوي الجدول على العديد من المعلومات والميّزات التي يكون من السّهل المقارنة بينها إذا عُرِضت في جدولٍ عموديّ. التصميمالتصميم قد يؤثّر على مستوى ربحك بطريقتين: قد يصعد به للقمّة أو يهبط به إلى القاع! يجب أن تكون حريصًا جدًّا عند تصميم جداول التسعير، وأن تعتني بتناسق الخطوط، العناوين وتخطيط الجدول. وفوق هذا وذاك يجب أن يكون تصميم جدولك متناسقًا مع تصميم الموقع. على كلّ حال، لا تنسَ هدفك الأساسيّ.في جداول التّسعير، التصميم هو فقط وسيلةٌ لتحقيق غايتِك، تحديدًا: زيادة المبيعات والأرباح. البساطةُ سرُّ نجاح التصميم، أنت لست بصدد القيام بعملٍ فنّي، وإنّما تصمّم جدولًا لأهدافٍ محدّدة! لا تجعل جدولك مُشتِّتًا ومليئًا بالمعلومات والخانات غير الضروريّة. من الأخطاء الشائعة كتابة المميّزات التي لا تقدمها باقاتُك والإشارةُ إليها بلونٍ أحمر أو ما شابه،المستهلكون لا يريدون معرفة الخدمات التي لا توفّرها، يريدون فقط أن يعرفوا ما الذي تقدّمه وما سعره. Think Vitamin مثالٌ ممتاز للاستخدام المناسب للتصميم في جداول التّسعير. على يسار الجدول توجد المميّزات مع إبراز العبارات المهمّة بكتابتها بالبنط العريض. كما أنّهم استخدموا علامات باللونين الأخضر والأحمر للمقارنة بين الباقتين. Rule.fm مثالٌ آخر على التصميم المناسب لجدول التّسعير. تصميم الجدول متناسقٌ مع تصميم الموقع وعناصر التصميم موَظَّفة بعنايةٍ ووضوح. الإبرازإبرازأحد الباقات طريقةٌ شائعة فيما يتعلّق بتصميم جداول التسعير.من المهم أن تُسهِّل على زبائنك اختيار الباقة الأنسب لهم من بين الباقات التي توفّرها. إبرازُ باقةٍ واحدة محدّدة يجذب اهتمام زبائنك لها على الفور. معظم المواقع تختار أن تبرز الباقة الأكثر شيوعًا، لكنّك لست ملزمًا بهذا على كلّ حال. لكن خذ بعين الاعتبار أن إبراز أقلّ وأعلى الباقات ثمنًا ليس بالخيار الجيّد، لن يحقّق هذا لك المزيد من الرّبح. إبراز الباقة المناسبة يمكن أن يزيدَ ربحك وأن يكون مفيدًا بدرجةٍ كبيرة فيما يتعلَّق بجذب الزبائن المحتملين وإغراءهم بالشّراء. هناك العديد من الطرق لإبراز الباقة: الألوان الحيّة، الخلفيّات المختلفة، العلامات المميّزة، الأُطُر، وأزرار دعوة الإجراء الكبيرة. ولك كامل الحريّة في اختيار طريقة الإبراز المناسبة. على كلّ حال، ضع في اعتبارك أن المبالغة تضُرُّ أكثر ممّا تنفع، لا تبرز أكثر من باقة واحدة. استخدامُ لون خلفية مختلف لكل باقة قد يكون خيارًا جيّدًا لكن كن حذرًا حيال اختيار الألوان. موقع Shopify أبرز الباقة الأكثر شعبيّة بتكبيرها. كما تلاحظ، يستخدم الموقع لون خلفية مختلف لكل باقة وعلى الرّغم من ذلك فإن التصميم ليس مبالغًا فيه والألوان متناغمة. يستخدم موقع Ning لونًا مختلفًا للخلفية لإبراز أحد الباقات.اللون الأخضر المستخدم للإبرازيخطف الأنظار على الفور! لاحظ أنها الباقة متوسطة السّعر لذا فإنهم على الأرجح يبرزونها لأهدافٍ تسويقيّة. الفروقاتإذا كنت تعرض باقاتٍ مجّانية وأخرى مدفوعة فإن هدفك واضحٌ من المنظور التّسويقي:اقناع المستهلكين باختيار الباقات المدفوعة. وهنا يلعب التصميم والتسويق دورين رئيسيّين. يجب أن تشارك رسالتك التسويقيّة بسرعة وبشكلٍ فعّالٍ بصريًّا.حاول أن تبيّن الفروقات بين الباقات قدر الاستطاعة، قد لا يكون هذا الأمر مهمًّا إن كنت لا تعرض باقةً مجّانيّة لكن يجب عليك أن تأخذه بعين الاعتبار في كلّ الأحوال. من الأخطاء الشائعة كتابة قائمة بالمميّزات التي تقدمها كل باقة دون مراعاة التّسلسل في عرضها. ضع المميّزات الرئيسية التي تميّز كل باقة أوّلًا ثمّ ضع المميّزات المشتركة بين جميع الباقات. بمجرّد النّظر إلى جدول تسعير موقع bigcartel سيحفزك إبرازهم لمميزات باقاتهم المدفوعة على التسجيل والدفع مقابل هذه الامتيازات! بالإضافة إلى جدول التّسعير البسيط والسّلس، أبرز موقع Evernote مميزات باقاته المدفوعة بواسطة إضافة الأيقونات. كن واضحاقد تعتقد أن توفير الكثير من الباقات لزبائنك شيءٌ فعّال ويتيح لهم مجالًا واسعًا للاختيار، إلا أنّ ذلك قد يعود بالضّرر على عملك ونسبة مبيعاتك. خصوصًا إن كنت لا تعرض تنوُّعًا كبيرًا في المميزات يستدعي الزيادة في عدد الباقات. الحلُّ الأنسب هو توفير ما بين باقتين وخمس باقات، أكثر من ذلك قد يعود بالضرر على عملك ويشتّت زبائنك. دعنا نقول أنّك اخترت تقديم ثلاث باقات لزبائنك وقمت بتسعيرها. الآن يجب عليك الإسهاب في ذكر المميّزات التي تقدّمها الباقات بالإضافة إلى رابط لاستعادة كلمة المرور،ثم تجد أنّ الجدول ممتلئ وأنّه يجب تمرير الصفحة لأسفل لرؤية باقي محتوياته -لا بأس بهذا إن كنت تريد أن تُنفِّر الزبائن وتدفعهم بعيدًا! التصميم الجيّد لجدول التسعير ليس كافيًا. يجب أن تعرض مميّزات باقاتك بالشكل الصحيح. بعض جداول التسعير تتركك حائرًا لا تعرف ما الذي تحاول الشركة بيعه بسبب قلّة المعلومات،وبعضها تُشتّتك بسبب كميّة المميّزات التي تعرضها. يجب أن تجد التوازن الصحيح بين ذكر معلوماتٍ غير كافية والمبالغة في ذكر المميّزات وأن تصمّم قائمة المميّزات بطريقة شاملة وموجزة في نفس الوقت ليستطيع الزبون المحتمل معرفة بأيّ مقابلٍ سيدفع ماله. جدول تسعير Animoto لن يتركك حائرًا بدون شك، يعرض الموقع ثلاث باقاتٍ بشكلٍ واضح ويستخدم تصميمًا بسيطًا للجدول. المميزات الرئيسيّة للباقات معروضة في الأعلى ومتبوعة بالخصائص المميّزة التي تقدمها الباقة الاحترافيّة. طبّق موقع Draftboard منهج "خيرُ الكلام ما قلّ ودلّ" ! يستخدم الموقع تصميمًا بسيطًا للجدول باللون الرّمادي مع لمساتٍ خضراء. الجدول ليس مكتظًّا بالمعلومات غير الضروريّة لذا فإنه يسيرُ الفهم. كما أنّهم أبرزوا أحد الباقات ممّا يُسهّل اتّخاذ القرار على الزبائن المحتملين. في الختامبما أنَّ الأمر يتعلّق بالمال، يجبُ عليكَ أن تأخذ الكثير من الأشياء بعين الاعتبار، وأن تصمّم جدول تسعيرك بشكلٍ جيّد لتحقّق أهدافك المرجوّة. أرجو أن تكون هذه النصائح قد ساعدتكم لمعرفة كيفيّة تصميم جدول تسعير فعّال بشكلٍ يخدم أهدافكم التسويقيّة. هذه الأُطُر العامّة ليست وحيًا والأمر متروكٌ لكم فيما يتعلّق بكيفية اتّباعها. من المحتمل أن تجدها غير مفيدة بالنسبة إليك ولا بأس بهذا. لا يوجد وصفة موحّدة لتصميم جداول التّسعير لأن كل موقعٍ يختلف عن الآخر. لكن على الأرجح فإنّ هذا المقال جعلك تعيد النّظر في جدول تسعيرك الحاليّ أو القادم، وهذا هدفي من كتابته. حان الوقت لتقديم بعض الأمثلة الرائعة. إليك 15 مثالًا لجداول تسعير مصممةبشكلٍ رائع، أتمنى أن تُلهِمَك! 1. Skype 2. Teambox 3. propsable 4. Vaultpress 5. Drupal gardens 6. Wufoo 7. Formstack 8. squarespace 9. Zendesk 10. Crazyegg 11. WooThemes 12. Campaign Monitor 13. Ravan Tools 14. Typekit 15. Business Catalyst ترجمة –وبتصرف- للمقال: Pricing Tables – Best Practices, Tips and Inspiration. حقوق الصورة البارزة: Designed by Freepik.
  23. ما هي MySQL؟MySQL هي عبارة عن أداة إدارة قواعد بيانات شهيرة تستخدم لغة استعلامات SQL للوصول إلى البيانات والتعامل معها، يمكن استخدامها بسهولة لإدارة البيانات ضمن المواقع أو تطبيقات الويب. عمليات النسخ الاحتياطي مهمة جدًا لأي نوع من البيانات، وهذا مرتبط بشدّة عندما نتحدث عن قواعد البيانات. يمكن نسخ قواعد بيانات MySQL احتياطيا بواسطة عدة طرق سنشرحها في هذا الدرس. سنستخدم خادوم Ubuntu 12.04 مع MySQL 5.5 في شرحنا هذا. تأتي معظم توزيعات لينكس بإصداراتٍ حديثة من MySQL ويجب ألّا تواجه صعوبةً في تطبيق نفس المهام بطريقةٍ مشابهة على تلك التوزيعات. نسخ قاعدة بيانات MySQL باستخدام mysqldumpواحدة من أكثر الطرق شيوعا لعمل النسخ الاحتياطي لقاعدة بيانات MySQL هي استخدام أمرٍ يدعى "mysqldump". النسخ الاحتياطيالشكل الأساسي للأمر هو: mysqldump -u username -p database_to_backup > backup_name.sqlالاستعادةلاستعادة نسخة قاعدة بيانات MySQL مصنوعة بـmysqldump، يمكنك ببساطة إعادة توجيه الملفّ إلى MySQL مرةً أخرى. نحتاج إنشاء قاعدة بيانات فارغة لاستضافة البيانات التي سنقوم باستيرادها مجددًا. أوّلًا، قم بالولوج إلى MySQL عبر كتابة: mysql -u username -pأنشئ قاعدة بيانات جديدة الآن - والتي ستحوي جميع البيانات الموجودة في نسخة قاعدة البيانات التي قمت بنسخها مسبقًا - ومن ثمَّ، قم بالخروج: CREATE DATABASE database_name; exitالآن، يمكننا إعادة توجيه ملفّ النسخة إلى قاعدة البيانات الجديدة التي قمنا بإنشائها مسبقًا عبر استخدام الأمر: mysql -u username -p database_name < backup_name.sqlيجب أن يتم استعادة بياناتك الآن إلى قاعدة البيانات الجديدة التي أنشئتها. نسخ جدول MySQL احتياطيا إلى ملف نصييمكنك تصدير البيانات من جدول ما مباشرة إلى ملف نصي عبر استخدام جملة SELECT مع MySQL. الشكل الأساسي للعملية هو: SELECT * INTO OUTFILE 'table_backup_file' FROM name_of_table;ستقوم هذه العملية بحفظ بيانات الجدول إلى الملف النصي المطلوب. وسيفشل في حال كان هناك اسم ملف آخر موجود بنفس المسار الذي قررت حفظ الملف إليه. ملاحظة: يقوم هذا الخيار بحفظ بيانات الجدول فقط. إذا كانت بنية جدولك معقّدة ويجب حفظها كما هي، فالأفضل أن تستخدم طريقةً أخرى. نسخ معلومات MySQL احتياطيا باستخدام automysqlbackupهناك برنامج أداة يدعى "automysqlbackup" متوفّر في مستودعات توزيعة أوبونتو الرسمية. يمكن أن يتم جدولة هذه الأداة يدويا للقيام بعمليات النسخ الاحتياطي بأوقات محددة. لتثبيت هذا البرنامج، طبق الأمر التالي في الطرفية: sudo apt-get install automysqlbackupوقم بتشغيله عبر الأمر: sudo automysqlbackupستجد ملف الإعدادات الرئيسي لـautomysqlbackup في المسار "etc/default/automysqlbackup/". افتحه بصلاحيات الجذر: sudo nano /etc/default/automysqlbackupيمكنك أن ترى أن هذا الملف يقوم افتراضيا بتعيين العديد من المتغيرات باستخدام ملف MySQL الموجود في المسار "etc/mysql/debian.cnf/". وهو يقوم بقراءة اسم المستخدم وكلمة المرور وقواعد البيانات التي يجب نسخها احتياطيًا من هذا الملفّ. المسار الافتراضي للنُسَخ الاحتياطية هو “/var/lib/automysqlbackup”. ابحث عن هذا المسار لترى بنية النُسَخ الاحتياطية: ls /var/lib/automysqlbackup daily monthly weeklyإذا نظرنا إلى مجلد "daily"، فإنّه يمكننا أن نرى مجلدا فرعيًا داخله لكل قاعدة بيانات، حيث يكون بداخلها أيضًا ملفات النُسَخ الاحتياطية لقاعدة البيانات مضغوطة بصيغة gzip. استخدم الأمر التالي لترى محتويات ذاك المسار: .: database_name information_schema performance_schema ./database_name: database_name_2013-08-27_23h30m.Tuesday.sql.gz ./information_schema: information_schema_2013-08-27_23h30m.Tuesday.sql.gz ./performance_schema: performance_schema_2013-08-27_23h30m.Tuesday.sql.gzتقوم Ubuntu بتثبيت سكربت cron مع هذا البرنامج لتشغيله كل يوم. سيقوم تلقائيًا بتنظيم الملفات إلى مسارها الصحيح. كيفية النسخ الاحتياطي عند استخدام النسخ المتماثلمن الممكن استخدام النسخ المتماثل (Replication) في MySQL لعمل نسخة احتياطية عن البيانات مع الطرق المذكورة أعلاه كذلك. النسخ المتماثل هو عملية تمرير البيانات من خادومٍ إلى آخر (من رئيسي إلى فرعي) أو تمرير التغييرات من خادومٍ رئيسي إلى خادومٍ رئيسيٍ آخر. صحيح أن النسخ المتماثل يسمح بتمرير البيانات وحفظها، إلا أنه يعاني عندما تحاول حفظ البيانات من نقطة معينة من الزمان. هذا بسبب أن عملية النسخ المتماثل تحصل بشكل مستمر لتنسخ التغييرات الجديدة التي يتم إجراؤها على النظام. لتفادي هذه المشكلة يمكننا: تعطيل النسخ المتماثل مؤقتًا. جعل آلة النسخ الاحتياطي قابلة للقراءة فقط مؤقتًا.تعطيل النسخ المتماثل مؤقتايمكنك تعطيل النسخ المتماثل للخادوم الفرعي مؤقتًا عبر تنفيذ: mysqladmin -u user_name -p stop-slaveخيار آخر يمكنك استخدامه ولا يقوم بتعطيل عملية النسخ المتماثل بالكامل، بل يضعها بوضع الإيقاف المؤقت، هو تطبيق: mysql -u user_name -p -e 'STOP SLAVE SQL_THREAD;بعد إيقاف عملية النسخ المتماثل مؤقتًا، يمكنك القيام بعملية النسخ الاحتياطي باستخدام أحد الطرق المذكورة مسبقًا. يسمح لك هذا بإبقاء قاعدة البيانات الرئيسية نشطة بينما يتم نسخ قاعدة البيانات الفرعية. عندما يكتمل هذا، قم بإعادة تفعيل النسخ المتماثل عبر: mysqladmin -u user_name -p start-slaveجعل آلة النسخ الاحتياطي قابلة للقراءة فقط مؤقتايمكنك أيضًا أن تحافظ على البيانات على الخادوم عبر جعلها قابلة للقراءة فقط. يمكنك تنفيذ هذه الخطوات سواء كان على الخادوم الرئيسي (Master) أو الفرعي (Slave). أولا، قم بالولوج إلى MySQL بالصلاحيات اللازمة للقيام بذلك: mysql -u root -pالآن، يمكننا كتابة جميع التغييرات المحفوظة إلى القرص وجعل النظام قابلًا للقراءة فقط (read-only) عبر كتابة: FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;الآن، قم بعمل النسخ الاحتياطي باستخدام mysqludump. بمجرّد اكتمال عملية النسخ الاحتياطي، قم بإعادة النظام إلى وضعه الأصلي عبر كتابة: SET GLOBAL read_only = OFF; UNLOCK TABLES; ملاحظة عن الطرق التي لم تعد مستحسنةmysqlhotcopyتتضمن MySQL سكربتا مكتوبا بلغة Perl لنسخ قواعد البيانات احتياطيا بسرعة ويدعى "mysqlhotcopy". يمكن أن يتم استخدام هذه الأداة للقيام بنسخ قاعدة البيانات بسرعة على الآلة المحلّية، ولكنها تمتلك بعض التقييدات التي تجعلنا نتجنبها. السبب الأهم الذي جعلنا لا نستخدمها هو أنها فقط تعمل مع البيانات التي تم تخزينها باستخدام محركات التخزين "MyISAM" و"Stroage" فقط. معظم المستخدمين لا يقومون بتغيير المحرك الافتراضي للتخزين، وبدءً من الإصدار 5.5 من MySQL فإن المحرك الافتراضي هو "InnoDB". لهذا لا يمكن استخدام هذه الأداة لأنها لا تتوافق مع المحرك. مشكلة أخرى مع هذا السكربت هو أنه يمكن تشغيله فقط على الآلة التي يتم تخزين قاعدة البيانات عليها. يمنعك هذا من القيام بعمليات النسخ الاحتياطي باستخدام آلة بعيدة (remote machine)، والذي يمكنه أن يكون مشكلة حقيقية في بعض الأحيان. نسخ ملفات الجداولطريقة أخرى تقتَرح بعض الأحيان هي القيام بنسخ الجداول التي تقوم MySQL بوضع البيانات فيها ببساطة ونقلها إلى مكان آخر. تعاني هذه الطريقة من نفس مشكلة "mysqlhotcopy". قد يكون منطقيًا استخدام هذه الطريقة مع المحرّكات التي تقوم بتخزين بياناتها على شكل ملفات، إلا أن InnoDB (وهو المحرك الافتراضي الجديد لـMySQL) لا يمكن نسخ قواعد البيانات الخاصة به بهذه الطريقة. الخاتمةهناك العديد من الطرق لإجراء عمليات النسخ الاحتياطي لقواعد بيانات MySQL، جميعها يمتلك نقاط قوة وضعف، ولكن بعضها أسهل للمستخدم وأفضل للتطبيق من غيرها. ستعتمد طريقة عملية النسخ الاحتياطي التي ستستخدمها بشكل رئيسي على احتياجاتك ومواردك، بالإضافة إلى بيئة العمل الخاصة بك. مهما كانت الطريقة التي تعتمد عليها، كن متأكدا من التحقق من النُسَخ الاحتياطية الخاصّة بك وحاول استرجاعها للتأكد من الأمر، لتكون متأكدا من أنها لا تحوي أي مشاكل. ترجمة -وبتصرف- للمقال How to Backup MySQL Databases on an Ubuntu VPS لصاحبه Justin Ellingwood.
  24. رؤوس الجداول الثابتة ليست بالأمر الجديد في مواقع الويب. على عكس الورق، حيث يستطيع القارئ نقل نظره بسرعة إلى أعلى الشاشة ليعرف في أي عمود هو، لكن أبعاد الشاشة تجعل من قراءة الجداول الطويلة أمر صعبا. رؤوس الجداول الثابتة، كما يشير اسمها، تبقى ثابتة في أعلى الجدول حتى وإن نزلنا أكثر في الجدول. يساعد الأمر في إبقاء أسماء الأعمدة دوما في متناول اليد، حتى لا يجبر المستخدم على الرجوع إلى أعلى الجدول كل مرة من أجل النظرة ثم الرجوع مجددا. يوجد العديد من سكربتات وإضافات jQuery التي تعمل بطريقة فعالة وخالية من الأخطاء، فهم ليسوا الحل المثالي لجميع المشاكل الممكنة، ففي بعض الحالات، على الجداول أن تتبع قواعد هيكلة لم تحسب لها الإضافات حساب، كالجداول التي تسمح بإظهار مؤشر التحرك (scroll bar) عندما لا تكفي المساحة لإظاهر الجدول. هذا المقال لن يكون الحل المثالي لجميع المواقف، ولكنه سيكون حلا لأغلب المشاكل الشائعة. حل باستخدام CSS فحسب عبر position: sticky؟تملك CSS حلا مناسبا لهذه المشكلة وهو عبر استخدام postion: sticky. لكن للأسف، الحل غير مدعوم في chrome رغم أنه كان مدعوما سابقا، إلا أنّ فريق التطوير قام بإلغاء الخاصية تماما منه إلى أجل غير معلوم. ولأننا لا نستطيع التضحية بكل مستخدمي متصفح chrome فعلينا إيجاد حل بديل للمشكلة. حل عبر استخدام jQueryحل jQuery هو بسيط جدا، لكن قبل أن نبدأ باستخدام، علينا أن نلقي نظرة على كيف يكون جدول ما صحيحا من حيث الهيكلة: <table> <thead> <tr> <th></th> <!-- more columns are possible --> </tr> </thead> <tbody> <tr> <td></td> <!-- more columns are possible --> </tr> <!-- more rows are possible --> </tbody> <tfoot><!-- هذا الجزء اختياري --> <tr> <td></td> </tr> </tfoot> </table>ما الذي نحاول تحقيقه؟سنحاول جعل السكربت يدعم أغلب المشاكل الشائعة والتي هي: الاستخدام الأساسي: رأس الجدول يكون ثابتا.رؤوس الجداول الأفقية والعمودية.الجداول العريضة:العمود الأفقي: إذا كان هنالك العديد من الأعمدة التي لا يمكن إظهارها في عرض الصفحة، فسنستخدم عمودا جانبيا ثابتا.الصف العمودي: وهو الاستخدام الأساسي، أن يكون الرأس العلوي ثابتا عند النزول بالجدول.كلا العمودين: حيث نثبت كل من العمود والصف.CSS من أجل البدءرغم أننا سنستخدم حلاّ عبر جافاسكربت، فإن CSS ضرورية من أجل تنفيذ الأمر: .sticky-wrap { overflow-x: auto; position: relative; margin-bottom: 1.5em; width: 100%; } .sticky-wrap .sticky-thead, .sticky-wrap .sticky-col, .sticky-wrap .sticky-intersect { opacity: 0; position: absolute; top: 0; left: 0; transition: all .125s ease-in-out; z-index: 50; width: auto; /* Prevent table from stretching to full size */ } .sticky-wrap .sticky-thead { box-shadow: 0 0.25em 0.1em -0.1em rgba(0,0,0,.125); z-index: 100; width: 100%; /* Force stretch */ } .sticky-wrap .sticky-intersect { opacity: 1; z-index: 150; } .sticky-wrap .sticky-intersect th { background-color: #666; color: #eee; } .sticky-wrap td, .sticky-wrap th { box-sizing: border-box; }ملاحظة: من المهم جدا نقل كل CSS الخاصة بوسم <table> إلى sticky-wrap. هذا حتى يتاح لنا التحكم بها مباشرة عبر jQuery. لنقل أنك تملك CSS التالي: table { margin: 0 auto 1.5em; width: 75%; }كل ما عليك فعله ببساطة هو نقلها إلى sticky-wrap. : .sticky-wrap { overflow-x: auto; /* Allows wide tables to overflow its containing parent */ position: relative; margin: 0 auto 1.5em; width: 75%; }استخدام جافاسكربتسوف نقوم بتنفيذ دالتنا على كل جدول موجود في الصفحة، الأهم من هذا سنتفقد إن كان الجدول يملك <thead> وإن كان هذا الأخير يحتوي على الأقل على <th> واحد. إن لم تتحق الشروط، فستتجاهل دالتنا هذا الجدول. $(function () { // هنا نقوم باختيار جميع الجداول في الصفحة // لكنك حر بتحديد الجداول التي تريدها $('table').each(function () { if($(this).find('thead').length > 0 && $(this).find('th').length > 0) { // بقية السكربت تكون هنا } }); });الخطوة 1: نسخ عنصر <thead>// تحديد المتغيرات وبعض الاختصارات var $t = $(this), $w = $(window), $thead = $(this).find('thead').clone(), $col = $(this).find('thead, tbody').clone();الخطوة 2: تغليف الجدول ونسخهمن أجل دعم الحالات التي يكون فيها الجدول أعرض من ماهو مسموح (أي عندما يكون عندما عدد كبير من الأعمدة، أو أعمدة طويلة، فنحوي الجدول في <div> حتى نسمح لك بأن يكون scrollable على المحور الأفقي: // احتواء الجدول $t .addClass('sticky-enabled') .css({ margin: 0, width: '100%'; }) .wrap('<div class="sticky-wrap" />'); // تفقد إن كنا قد حددنا بأن يكون الجدول قابلا للتمرير (scroll) على المحور الأفقي if($t.hasClass('overflow-y')) $t.removeClass('overflow-y').parent().addClass('overflow-y'); // صنع رأس جدول جديد بصنف .stiky-head $t.after('<table class="sticky-head" />') // إذا كان <tbody> يحتوي على <th> فنقوم بصنع عمود جديدة ليكون الخانة أعلى الجدول if($t.find('tbody th').length > 0) { $t.after('<table class="sticky-col" /><table class="sticky-intersect" />'); } // اختصارات var $stickyHead = $(this).siblings('.sticky-thead'), $stickyCol = $(this).siblings('.sticky-col'), $stickyInsct = $(this).siblings('.sticky-intersect'), $stickyWrap = $(this).parent('.sticky-wrap');الخطوة 3: وضع محتوى الجداول المنسوخةما سنقوم به الآن هو أخذ المحتوى المنسوخ من الجدول الأصلي ووضعه في الجداول الجديدة التي ستكون ملتصقة: رأس الجدول الجديد سيستلم كامل المحتوى من عنصر <thead> المنسوخ.الأعمدة الملتصقة ستستلم المحتوى من أول عنصر <th> من <thead> وكل عناصر <th> المتبقية من <tbody>.اندماج العمود مع الصف (أيّ الخانة المشتركة بين العمود والصف) ستأخذ محتوى من خلال أعلى خانة على يمين الجدول (بافتراض أننا نتعامل مع الصفحة على أساس RTL).// StickyHead يحصل على المحتوى من <thead> $stickyHead.append($thead); $stickyCol .append($col) .find('thead th:gt(0)').remove() .end() .find('tbody td').remove(); // StickyIntersect يحصل على المحتوى من <th> في <thead> $stickyInsct.html('<thead><tr><th>'+$t.find('thead th:first-child').html()+'</th></tr></thead>');الخطوة 4: الدوالهنا يأتي أهم جزء من السكربت الخاص بنا، سنحدد أيّ دوال يجب أن تنفذ من أجل أن يعمل السكربت بشكل صحيح: دالة من أجل تحديد عرض عناصر <th> في رأس الجدول المنسوخ، بما أننا نسخنا عنصر <thead> فحسب، فعرض رأس الصفحة المنسوخ الكلي لن يكون عرض رأس الصفحة الفعلي، لأن عرض <tbody> لم يتم إضافته حيث لا نعلم هل سيؤثر على رأس الصفحة أو لا.دالة من أجل تحديد مكان رأس الصفحة الثابت حتى نقوم بتحديث بُعد رأس الصفحة المنسوخ الأفقي، الذي قمنا بتحديد position: absolute عندما نبدأ بتمرير شريط التقدم داخل الجدول.دالة من أجل تحديد مكان العمود الجانبي الثابت ولها نفس حالة تثبيت رأس الصفحة.دالة من أجل حساب المساحة المتبقية وسنقوم بشرح هذه الدالة لاحقا بشكل أعمق. // Function 1: setWidths() // Purpose: To set width of individually cloned element var setWidths = function () { $t .find('thead th').each(function (i) { $stickyHead.find('th').eq(i).width($(this).width()); }) .end() .find('tr').each(function (i) { $stickyCol.find('tr').eq(i).height($(this).height()); }); // Set width of sticky table head $stickyHead.width($t.width()); // Set width of sticky table col $stickyCol.find('th').add($stickyInsct.find('th')).width($t.find('thead th').width()) }, // Function 2: repositionStickyHead() // Purpose: To position the cloned sticky header (always present) appropriately repositionStickyHead = function () { // Return value of calculated allowance var allowance = calcAllowance(); // Check if wrapper parent is overflowing along the y-axis if($t.height() > $stickyWrap.height()) { // If it is overflowing // Position sticky header based on wrapper's scrollTop() if($stickyWrap.scrollTop() > 0) { // When top of wrapping parent is out of view $stickyHead.add($stickyInsct).css({ opacity: 1, top: $stickyWrap.scrollTop() }); } else { // When top of wrapping parent is in view $stickyHead.add($stickyInsct).css({ opacity: 0, top: 0 }); } } else { // If it is not overflowing (basic layout) // Position sticky header based on viewport scrollTop() if($w.scrollTop() > $t.offset().top && $w.scrollTop() < $t.offset().top + $t.outerHeight() - allowance) { // When top of viewport is within the table, and we set an allowance later // Action: Show sticky header and intersect, and set top to the right value $stickyHead.add($sticktInsct).css({ opacity: 1, top: $w.scrollTop() - $t.offset().top }); } else { // When top of viewport is above or below table // Action: Hide sticky header and intersect $sticky.add($stickInsct).css({ opacity: 0, top: 0 }); } } }, // Function 3: repositionStickyCol() // Purpose: To position the cloned sticky column (if present) appropriately repositionStickyCol = function () { if($stickyWrap.scrollLeft() > 0) { // When left of wrapping parent is out of view // Show sticky column and intersect $stickyCol.add($stickyInsct).css({ opacity: 1, left: $stickyWrap.scrollLeft() }); } else { // When left of wrapping parent is in view // Hide sticky column but not the intersect // Reset left position $stickyCol .css({ opacity: 0 }) .add($stickyInsct).css({ left: 0 }); } }, // Function 4: calcAllowance() // Purpose: Return value of calculated allowance calcAllowance = function () { var a = 0; // Get sum of height of last three rows $t.find('tbody tr:lt(3)').each(function () { a += $(this).height(); }); // Set fail safe limit (last three row might be too tall) // Set arbitrary limit at 0.25 of viewport height, or you can use an arbitrary pixel value if(a > $w.height()*0.25) { a = $w.height()*0.25; } // Add height of sticky header itself a += $sticky.height(); return a; }; }والآن سنقوم بشرح ما قمنا به في الدالة الرابعة، نحن لا نريد من رأس الجدول أن يلحقنا إلى أسفل الجدول، فالأمر غير ضروري وقد يغطي لنا آخر سطر من الجدول، لذا من الضروري إبقاء مساحة فارغة في الأسفل. حسب ما جربت، فقد اكتشفت أننا لا نحتاج لرأس الجدول عندما نصل لأخر 3 سطور من الجدول لأن تركيزنا انتقل على المحتوى الآن. $t.find('tbody tr:lt(4)').each(function () { allowance += $(this).height(); });الخطوة 5: ربط كل شيءوالآن قد انتهينا من تعريف كل الدوال اللازمة، كل ما تبقى هو ربط المتفقدات أو (Event handlers) مع عنصر(window)$. عندما يجهز الـDOM نقوم بالحسابات الأولية للعرض.عندما تحمل كامل المعلومات نقوم بحساب الأبعاد مرة أخرى، هذه الخطوة مهمة لأن جدولك قد يحتوي على أشياء تحمل بعد الـ DOM مثل الصور وخطوط الويب.عندما يتم التمرير في الحاوي الرئيسي ولكن هذا سيحدث في حالة كان المحتوى أكبر من عرض الحاوي، حينها نريد إعادة تغيير مكان العمود الرئيسي.عندما يتم تصغير نافذة المتصفح نريد إعادة حساب العرض.عندم يتم النزول في المتصفح نريد أن نغير مكان رأس الجدول.يمكن تلخيص ما قلناه للتو في الكود التالي. يجدر الذكر أن أحداث التصغير والتمرير يتم التحكم بهما باستخدام إضافة throttle+debounce. // #1: DOMعندما يجهز الـ setWidths(); // #2: نراقب الحاوي في حال حدوث تمرير فيه $t.parent('.sticky-wrap').scroll($.throttle(250, function() { repositionStickyHead(); repositionStickyCol(); })); // الآن نربط ما قمنا بعنصر $(window) $w // #3: عندما يتم تحميل كامل المحتويات .load(setWidths) // #4: عندما يتم تصغير النافذة // قمنا باستخدام throttle هنا حتى لا يتم إطلاق الحدث أكثر من مرة (في الوضع الافتراضي يتم إطلاق الحدث من أجل كل جزء يتم تصغيره، هنا ننتظر حتى ينتهي التصغير كاملا ثم نطلق) .resize($.throttle(250, function () { setWidths(); repositionStickyHead(); repositionStickyCol(); }) // #5: عندما يتم النزول في النافذة // استخدمنا throttle حتى لا يتم إطلاق الدالة كثيرا .scroll($.throttle(250, repositionStickyHead);وانتيهنا، كان هذا كل شيء! النقاشنحن نعرف أن لاشيء كامل، لذا سنناقش الطرق الأخرى التي تملك محاسن على هذه الطريقة ومساوئها ولم استخدمنا هذه الطريقة. استخدام position: fixedاستخدام هذه الطريقة قد يبدو مغريا لسبيين: لا يوجد حاجة لحسابات من أجل رأس الجدول، لأن العنصر المثبت (fixed) يقع خارج الصفحة الفعلية وسيبقى ثابتا في مكانه.نتجنب البطء في الحسابات هذا لأن العناصر الثابتة تلاحق الجدول ولا تثبت معه، لأننا نقوم بالحساب في فترات ثابتة (عبر throttle) وبالتالي سيظهر أن العنصر الثابت غير متجاوب وبالتالي غير طبيعي.لكن المشكلة في هذه الطريقة هي أننا نزيل العنصر من رونق الصفحة، ففي حالة تجاوز عرض الجدول العرض المسموح وأصبح من الضروري إضافة scroll فإن رأس لن يلحق المحتوى على المحور الأفقي لأنه ثابت في الصفحة. وهذا سبب كبير لا يسمح لنا باستخدام أغلب إضافات jQuery التي تقدم هذه الخواص. وكتبت هذه الدورة من أجل إصلاح هذا الأمر بالتحديد. استخدام position: stickyالخاصية الجديدة مناسبة للأمر، في الواقع لقد بنيت من أجل هذا الأمر في الحسبان، المشكلة فيها أنها غير مدعومة من متصفح chrome (سبق وكانت مدعومة ولكن أزيل الدعم كليا) وبذلك تفقد كل الزوار من هذا المتصفح. مثال حي:See the Pen avovoo by Hsoub Academy (@HsoubAcademy) on CodePen. ترجمة -وبتصرف- للمقال: Sticky Table Headers & Columns لصاحبه Terry Mun.
×
×
  • أضف...