Power Query: عبارة if – عبارات if المتداخلة والشروط المتعددة
في Power Query ببرنامج Excel، تُعد عبارة IF واحدة من أكثر الدوال شيوعًا للتحقق من شرط وإرجاع قيمة معيّنة بناءً على ما إذا كانت النتيجة TRUE أو FALSE. ومع أن هذه العبارة تشبه دالة IF في Excel، إلا أن هناك بعض الاختلافات بينهما. في هذا البرنامج التعليمي، سأشرح لك صيغة عبارة IF في Power Query مع أمثلة بسيطة وأخرى أكثر تعقيدًا.
صيغة عبارة if الأساسية في Power Query
عبارة if في Power Query باستخدام عمود شرطي
عبارة if في Power Query عن طريق كتابة رمز M
صيغة عبارة if الأساسية في Power Query
في Power Query، تكون الصيغة كالتالي:
- الاختبار المنطقي (logical_test): الشرط الذي ترغب في اختباره.
- القيمة إذا كانت النتيجة صحيحة (value_if_true): القيمة التي يتم إرجاعها عندما تكون النتيجةTRUE.
- القيمة إذا كانت النتيجة خاطئة (value_if_false): القيمة التي يتم إرجاعها عندما تكون النتيجةFALSE.
في Power Query ببرنامج Excel، هناك طريقتان لإنشاء هذا النوع من المنطق الشرطي:
- استخدام ميزة العمود الشرطي لبعض السيناريوهات الأساسية؛
- اكتب رمز M للسيناريوهات الأكثر تقدمًا.
في القسم التالي، سأتحدث عن بعض الأمثلة لاستخدام عبارة if هذه.
عبارة if في Power Query باستخدام عمود شرطي
مثال 1: عبارة if أساسية
هنا، سأوضح لك كيفية استخدام عبارة if هذه في Power Query. على سبيل المثال، لدي تقرير منتجات كما يلي: إذا كانت حالة المنتج «Old»، فسيتم عرض خصم 50%؛ وإذا كانت الحالة «New»، فسيتم عرض خصم 20%، كما هو موضح في لقطات الشاشة أدناه.

1. حدد جدول البيانات من ورقة العمل، ثم في Excel 2019 وExcel 365، انقر علىبيانات (Data) > من جدول/نطاق (From Table/Range). انظر لقطة الشاشة:

ملاحظة: في Excel 2016 وExcel 2021، انقر علىبيانات (Data)>من جدول (From Table)، انظر لقطة الشاشة:

2. بعد ذلك، في نافذةمحرر Power Query (Power Query Editor)المفتوحة، انقر علىإضافة عمود (Add Column) > عمود شرطي (Conditional Column)، كما في لقطة الشاشة التالية:

3. في مربع الحوار المنبثقإضافة عمود شرطي (Add Conditional Column)، يُرجى تنفيذ الخطوات التالية:
- اسم العمود الجديد: أدخل اسمًا للعمود الجديد؛
- بعد ذلك، حدّد المعايير التي تحتاجها. على سبيل المثال، سأحددأنه إذا كانت الحالة (Status) تساوي «Old»، فسيكون الناتج 50%، وإلا فسيكون 20%؛
- اسم العمود: العمود الذي سيتم تقييم شرط الـ if بناءً عليه. هنا، اخترت الحالة (Status).
- المُعامل: المنطق الشرطي الذي سيتم استخدامه. تختلف الخيارات حسب نوع البيانات في اسم العمود المحدد.
- نص: يبدأ بـ، لا يبدأ بـ، يساوي، يحتوي على، إلخ.
- أرقام: يساوي، لا يساوي، أكبر من أو يساوي، وغير ذلك.
- التاريخ: قبل، بعد، يساوي، لا يساوي، إلخ.
- القيمة: القيمة المحددة التي سيتم مقارنتها بالتقييم. وتُشكّل مع اسم العمود والمعامل معًا شرطًا.
- الإخراج: القيمة التي تُرجعها الدالة إذا تحقّق الشرط.
- غير ذلك (Else): قيمةٌ أخرى تُرجع عندما يكون الشرط غير صحيح.

4. بعد ذلك، انقر على زرموافق (OK)للعودة إلى نافذةمحرر Power Query (Power Query Editor). الآن، تم إضافة عمود جديد باسمالخصم (Discount)، انظر لقطة الشاشة:

5. إذا كنت ترغب في تنسيق الأرقام كنسبة مئوية، فما عليك سوى النقر على أيقونةABC123 من رأس عمودالخصم (Discount)واختيارنسبة مئوية (Percentage)حسب حاجتك. انظر لقطة الشاشة:

6. أخيرًا، يُرجى النقر علىالصفحة الرئيسية (Home) > إغلاق وتحميل (Close & Load) > إغلاق وتحميل (Close & Load)لتحميل هذه البيانات إلى ورقة عمل جديدة.

مثال 2: عبارة if معقدة
باستخدام خيار العمود الشرطي هذا، يمكنك أيضًا إدخال شرطين أو أكثر في مربع حوارإضافة عمود شرطي (Add Conditional Column)، يُرجى اتباع الخطوات التالية:
1. حدد جدول البيانات، ثم انتقل إلى نافذةمحرر Power Query (Power Query Editor)بالنقر علىبيانات (Data) > من جدول/نطاق (From Table/Range). في النافذة الجديدة، انقر علىإضافة عمود (Add Column) > عمود شرطي (Conditional Column).
2. في مربع الحوار المنبثقإضافة عمود شرطي (Add Conditional Column)، يُرجى تنفيذ الخطوات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- حدّد المعيار الأول في حقل «المعايير الأول»، ثم انقر على زرإضافة بند (Add Clause)لإضافة حقول معايير أخرى حسب الحاجة.

3. بعد الانتهاء من إعداد معاييرك، انقر علىموافقللعودة إلى نافذةمحرر Power Query. الآن، ستحصل على عمود جديد يحتوي على النتيجة المطلوبة. راجع لقطة الشاشة:

4. في النهاية، يُرجى النقر علىالصفحة الرئيسية > إغلاق وتحميل > إغلاق وتحميللتحميل هذه البيانات إلى ورقة عمل جديدة.
عبارة if في Power Query عن طريق كتابة رمز M
عادةً ما يكون العمود الشرطي مفيدًا في بعض السيناريوهات الأساسية. أحيانًا، قد تحتاج إلى استخدام شروط متعددة باستخدام منطق AND أو OR. في هذه الحالة، يجب عليك كتابة كود M داخل عمود مخصص للسيناريوهات الأكثر تعقيدًا.
مثال 1: عبارة if أساسية
خُذ البيانات الأولى كمثال: إذا كان حالة المنتج «قديم»، فاعرض خصمًا بنسبة 50%؛ وإذا كانت الحالة «جديد»، فاعرض خصمًا بنسبة 20%. لكتابة كود M، يُرجى اتباع الخطوات التالية:
1. حدد الجدول، ثم انقر علىبيانات > من جدول/نطاقللانتقال إلى نافذةمحرر Power Query.
2. في النافذة المفتوحة، انقر علىإضافة عمود > عمود مخصص. راجع لقطة الشاشة:

3. في مربع الحوار المنبثقعمود مخصص، يُرجى تنفيذ الخطوات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- بعد ذلك، أدخل هذه الصيغة: if [Status] = «Old » then "50% " else "20% " في مربَّعالعمود المخصص (Custom column) الصيغة.

4. بعد ذلك، انقر علىموافقلإغلاق مربع الحوار هذا. الآن، ستحصل على النتيجة التالية التي تحتاجها:

5. في النهاية، انقر علىالصفحة الرئيسية > إغلاق وتحميل > إغلاق وتحميللتحميل هذه البيانات إلى ورقة عمل جديدة.
مثال 2: عبارة if معقدة
عادةً، لاختبار الشروط الفرعية، يمكنك تداخل عبارات if متعددة. على سبيل المثال، لدي جدول البيانات أدناه. إذا كان المنتج «فستانًا»، فامنح خصمًا بنسبة 50% على السعر الأصلي؛ وإذا كان المنتج «سترة» أو «هودي»، فامنح خصمًا بنسبة 20% على السعر الأصلي؛ أما باقي المنتجات فابقِ على السعر الأصلي.

1. حدد جدول البيانات، ثم انقر علىبيانات > من جدول/نطاقللانتقال إلى نافذةمحرر Power Query.
2. في النافذة المفتوحة، انقر علىإضافة عمود > عمود مخصص. بعد فتح مربع الحوارعمود مخصص، يُرجى تنفيذ العمليات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- بعد ذلك، أدخل الصيغة أدناه في مربعالصيغةضمنالعمود المخصص (Custom column).
- = if [Product] = «Dress» then [Price] * 0.5 else
if [Product] = «Sweater» then [Price] * 0.8 else
if [Product] = «Hoodie» then [Price] * 0.8
else [Price]

3. بعد ذلك، انقر على زرموافقللعودة إلى نافذةمحرر Power Query، وستحصل على عمود جديد يحتوي على البيانات التي تحتاجها. راجع لقطة الشاشة:

4. في النهاية، انقر علىالصفحة الرئيسية > إغلاق وتحميل > إغلاق وتحميللتحميل هذه البيانات إلى ورقة عمل جديدة.
يُجري منطق OR اختبارات منطقية متعددة، ويتم إرجاع النتيجة الصحيحة إذا كانت أيٌّ من الاختبارات المنطقية صحيحة. الصيغة هي:
لنفترض أن لدي الجدول أدناه، وأريد عمودًا جديدًا يعرض: إذا كان المنتج «فستانًا» أو «تيشيرت»، فإن العلامة التجارية هي «AAA»، أما باقي المنتجات فعلامتها التجارية «BBB».

1. حدد جدول البيانات، ثم انقر علىبيانات > من جدول/نطاقللانتقال إلى نافذةمحرر Power Query.
2. في النافذة المفتوحة، انقر علىإضافة عمود > عمود مخصص. في مربع الحوار المفتوحعمود مخصص، يُرجى تنفيذ العمليات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- بعد ذلك، أدخل الصيغة أدناه في مربعصيغة العمود المخصص (Custom column formula).
- = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
else «BBB»

3. بعد ذلك، انقر على زرموافقللعودة إلى نافذةمحرر Power Query، وستحصل على عمود جديد يحتوي على البيانات التي تحتاجها. راجع لقطة الشاشة:

4. أخيرًا، انقر علىالصفحة الرئيسية > إغلاق وتحميل > إغلاق وتحميللتحميل هذه البيانات إلى ورقة عمل جديدة.
يُجري منطق AND عدة اختبارات منطقية داخل عبارة IF واحدة، حيث يجب أن تكون **جميع** الاختبارات صحيحة لإرجاع النتيجة الصحيحة. وإذا كان **أيٌّ** من هذه الاختبارات خاطئًا، فسيتم إرجاع النتيجة الخاطئة. والصيغة هي:
خُذ البيانات السابقة كمثال. أريد عمودًا جديدًا يعرض ما يلي: إذا كان المنتج «فستانًا» وكان الطلب أكبر من 300، فطُبَّق خصم 50% على السعر الأصلي؛ وإلا، فاحتفظ بالسعر الأصلي.
1. حدد جدول البيانات، ثم انقر علىبيانات>من جدول/نطاقللانتقال إلىمحرر Power Queryالنافذة.
2. في النافذة المفتوحة، انقر علىإضافة عمود > عمود مخصص. ثم في مربع حوارعمود مخصص، يُرجى تنفيذ الخطوات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- بعد ذلك، أدخل الصيغة أدناه في مربعصيغة العمود المخصص (Custom column formula).
- = if [Product] =«Dress» and [Order] > 300 then [Price]*0.5
else [Price]

3. بعد ذلك، انقر على زرموافقللعودة إلى نافذةمحرر Power Query، وستحصل على عمود جديد يحتوي على البيانات التي تحتاجها، راجع لقطة الشاشة:

4. أخيرًا، لتحميل هذه البيانات إلى ورقة عمل جديدة، انقر علىالصفحة الرئيسية > إغلاق وتحميل > إغلاق وتحميل.
عبارة if باستخدام منطقَي OR وAND معًا
حسنًا، الأمثلة السابقة سهلة الفهم. الآن، دعنا نرفع مستوى التحدي! يمكنك الجمع بين AND وOR لبناء أي شرط تتخيله، مع استخدام الأقواس داخل الصيغة لتحديد قواعد معقدة بدقة.
خُذ البيانات السابقة كمثال أيضًا، ولنفترض أنك ترغب في عمود جديد يعرض «A+» إذا كان المنتج «فستانًا» وطلبه يزيد عن 300، أو كان المنتج «بنطالًا» وطلبه يزيد عن 300؛ وإلا فيعرض «أخرى».
1. حدد جدول البيانات، ثم انقر علىبيانات>من جدول/نطاقللانتقال إلىمحرر Power Queryالنافذة.
2. في النافذة المفتوحة، انقر علىإضافة عمود>عمود مخصص. فيعمود مخصصمربع الحوار، يُرجى تنفيذ العمليات التالية:
- أدخل اسمًا للعمود الجديد في مربع نصاسم العمود الجديد؛
- بعد ذلك، أدخل الصيغة أدناه في مربعصيغة العمود المخصص (Custom column formula).
- =if ([Product] = «Dress» and [Order] > 300 ) أو
([Product] = «Trousers» and [Order] > 300 )
ثم «A+»
غير ذلك «Other»

3. بعد ذلك، انقر علىموافقزر للعودة إلىمحرر Power Queryالنافذة، وستحصل على عمود جديد يحتوي على البيانات التي تحتاجها، راجع لقطة الشاشة:

4. أخيرًا، يجب عليك تحميل هذه البيانات إلى ورقة عمل جديدة بالنقر علىالصفحة الرئيسية>إغلاق وتحميل>إغلاق وتحميل.
في مربع صيغة العمود المخصص، يمكنك استخدام العوامل المنطقية التالية:
- = : يساوي
- : لا يساوي
- > : أكبر من
- >= : أكبر من أو يساوي
- < : أقل من
- <= : أقل من أو يساوي
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل