بالتأكيد لا يخلو جهار حاسب من حزمة مايكروسوفت أوفيس وهي الحزمة الأشهر علي الإطلاق لإدارة الأعمال المكتبية. ورغم أنها حزمة برامج غير مجانية إلا أن الجميع يُفضل إستخدامها علي الرغم من وجود برامج بديلة مجانية تقوم بنفس الوظائف. وبدايةً من عام 2007 تقوم شركة مايكروسوفت بإصدار نسخة جديدة لحزمة أوفيس كل ثلاث أعوام تشمل بعض التحديثات الهامة لبرامج الحزمة سواء تحديثات أمنية أو من حيث رفع مستوي أداء الحزمة وكذلك تحديثات خاصة بواجهة المستخدم لبرامج الحزمة المختلفة.
وبنهاية عام 2018 قامت شركة مايكروسوفت بإصدار نسخة جديدة من حزمة أوفيس لسنة 2019. وأتت تلك الحزمة بالعديد من التحديثات لجميع برامج الحزمة بالإضافة الي تحديثات خاصة بكل برنامج علي حدي. وبالتأكيد نال برنامج مايكروسوفت إكسيل الشهير والمخصص لإدارة الأعمال الحسابية العديد من التحديثات الأمنية وأيضا بعد الإضافات الخاصة بالخرائط وواجهة المستخدم. ولكن الجزء الأهم كان إضافة مجموعة دوال أو معادلات جديدة وهي ما سنقوم بإستعراضها اليوم في هذا المقال. جدير بالذكر أنه حتي كتابة هذا المقال هذه الدوال متاحة فقط في الإصدار المدفوع Office 365.
IFS
بالتأكيد يعرف أي مستخدم لبرنامج إكسيل الدالة الشرطية IF والتي بإختصار تقوم بتنفيذ أمر معين في حالة توافر شرط يقوم المستخدم بتحديده. ولكن إذا توافر لديك أكثر من إحتمال ولكل إحتمال يوجد أمر معين يتم تنفيذه ستضطر إلي إنشاء معادلة شرطية متداخلة أو Nested IF و بجانب صعوبة إنشاء تلك المعادلة نظرا لكثر الشروط قد يؤدي ذلك إلي العديد من الأخطاء في كتابة و تنفيذ الدالة نفسها. ولكن في إصدار 2019 تم إضافة دالة IFS وهي ببساطة أن المستخدم سيقوم بتحديد كل شرط إلي جانب الأمر المطلوب تنفيذه في حالة تحقق الشرط بشكل متتالي وعند تنفيذ الدالة سيقوم الحاسب بتنفيذ الأمر التابع لأول شرط تم تحقيقه دون الحاجة إلي إنشاء دالة متداخلة وكتابة العديد من الأقواس.
=IFS(A1=1, "Summer", A1=2, "spring", A1=3, "Winter", A1=4, "Autumn")
ستقوم دالة IFS في هذه الحالة بفحص الخانة A1 في حالة كانت القيمة 1 ستكون القيمة المقابلة Summer وفي حال كانت القيم 2 ستكون القيمة المقابلة spring وهكذا.
ستقوم دالة IFS في هذه الحالة بفحص الخانة A1 في حالة كانت القيمة 1 ستكون القيمة المقابلة Summer وفي حال كانت القيم 2 ستكون القيمة المقابلة spring وهكذا.
Switch
إضافة جديدة في المعادلات الشرطية, و في هذا الحالة الدالة يقوم المستخدم بتحديد الخلية التي سيتم فحص الإحتمالات لها ثم وبشكل متتالي يقوم بإدخال الإحتمالات والأمر الذي سيتم تنفيذه مع كل إحتمال.
=SWITCH( A1, 1, "Summer", 2, "spring", 3, "Winter", 4, "Autumn" )
ستقوم دالة SWITCH في هذه الحالة بفحص الخانة A1 في حالة كانت القيمة 1 ستكون القيمة المقابلة Summer وفي حال كانت القيم 2 ستكون القيمة المقابلة spring وهكذا.
إضافة جديدة في المعادلات الشرطية, و في هذا الحالة الدالة يقوم المستخدم بتحديد الخلية التي سيتم فحص الإحتمالات لها ثم وبشكل متتالي يقوم بإدخال الإحتمالات والأمر الذي سيتم تنفيذه مع كل إحتمال.
=SWITCH( A1, 1, "Summer", 2, "spring", 3, "Winter", 4, "Autumn" )
ستقوم دالة SWITCH في هذه الحالة بفحص الخانة A1 في حالة كانت القيمة 1 ستكون القيمة المقابلة Summer وفي حال كانت القيم 2 ستكون القيمة المقابلة spring وهكذا.
CONCAT
إذا كنت تستخدم الدوال الخاصة بالنصوص فبالتأكيد تعرف دالة Concatenate وهي بإختصار تقوم بتجميع عدة قيم نصية وتكوين نص واحد منهم. و في إصدار 2019 تم إضافة دالة جديدة تحمل إسم CONCAT ولكنها تقوم بإضافة قيم نصية من عدة خلايا متصلة أو Range وللتوضيح أكثر نستعرض المثال القادم.
=CONCATENATE(B5,C5,D5,E5)
=CONCAT(B5:D5)
تقوم الدالة الأولي بإضافة المحتويات النصية في خانات B5,C5,D5,E5 ولكن بإستخدام CONCAT تم إختصار تلك الخانات إلي مدي أو Range من B5:D5.
إذا كنت تستخدم الدوال الخاصة بالنصوص فبالتأكيد تعرف دالة Concatenate وهي بإختصار تقوم بتجميع عدة قيم نصية وتكوين نص واحد منهم. و في إصدار 2019 تم إضافة دالة جديدة تحمل إسم CONCAT ولكنها تقوم بإضافة قيم نصية من عدة خلايا متصلة أو Range وللتوضيح أكثر نستعرض المثال القادم.
=CONCATENATE(B5,C5,D5,E5)
=CONCAT(B5:D5)
تقوم الدالة الأولي بإضافة المحتويات النصية في خانات B5,C5,D5,E5 ولكن بإستخدام CONCAT تم إختصار تلك الخانات إلي مدي أو Range من B5:D5.
TEXTJOIN
دالة جديدة أيضاً للعمليات الخاصة بالنصوص, حيث تقوم تلك الدالة بتجميع عدة قيم نصية وتكوين نص واحد تماما كما هو الحال في CONCAT مع إضافة بسيطة وهي أنه يمكنك إضافة قيمة ثابتة كفاصل بين تلك النصوص.
=TEXTJOIN( "*", TRUE, A2:D2 )
ستقوم تلك الدالة بإضافة جميع القيم النصية في الخانات A2, B2, C2, D2 مع إضافة علامة * بين كل نص والآخر وإضافة كلمة True تعني أن يتم تجاهل أي خانات بدون قيمة.
دالة جديدة أيضاً للعمليات الخاصة بالنصوص, حيث تقوم تلك الدالة بتجميع عدة قيم نصية وتكوين نص واحد تماما كما هو الحال في CONCAT مع إضافة بسيطة وهي أنه يمكنك إضافة قيمة ثابتة كفاصل بين تلك النصوص.
=TEXTJOIN( "*", TRUE, A2:D2 )
ستقوم تلك الدالة بإضافة جميع القيم النصية في الخانات A2, B2, C2, D2 مع إضافة علامة * بين كل نص والآخر وإضافة كلمة True تعني أن يتم تجاهل أي خانات بدون قيمة.
MAXIFS و MINIFS
دالتان متشابهتان إلي حد كبير, حيث تقوم كل دالة منهما بتحديد أكبر قيمة (MAXIFS) أو أصغر قيمة (MINIFS) في مدي معين من الخلايا التي تتطايق مع شرط معين.
=MINIFS( C2:C10, B2:B10, "Accountant" )
في الدالة السابقة سيتم تحديد الراتب الأقل في الخانات C2 إلي C10 بين كل الصفوف التي تحتوي وظيفة Accountant في الخانات B2 إلي B10 فقط و سيكون الناتج هو 3200.
=MAXIFS( C2:C10, B2:B10, "Accountant" )
وبنفس الطريقة تعمل معادلة MAXIFS, حيث سيتم تحديد الراتب الأعلي بين كل الصفوف التي تحتوي وظيفة Accountant في الخانات B2 إلي B10 و سيكون الناتج هو 4000.
دالتان متشابهتان إلي حد كبير, حيث تقوم كل دالة منهما بتحديد أكبر قيمة (MAXIFS) أو أصغر قيمة (MINIFS) في مدي معين من الخلايا التي تتطايق مع شرط معين.
=MINIFS( C2:C10, B2:B10, "Accountant" )
في الدالة السابقة سيتم تحديد الراتب الأقل في الخانات C2 إلي C10 بين كل الصفوف التي تحتوي وظيفة Accountant في الخانات B2 إلي B10 فقط و سيكون الناتج هو 3200.
=MAXIFS( C2:C10, B2:B10, "Accountant" )