تقارن =SWITCH(B2,"N","North","S","South","E","East","Unknown") الخلية B2 بالقيم "N" و"S" و"E" بالترتيب وتعيد الاسم المقترن بأول تطابق تام. وعندما لا تطابق B2 أيًا منها، تعيد الوسيط الأخير، Unknown.
| A | B | C | |
|---|---|---|---|
| 1 | Store | Code | Region |
| 2 | 101 | N | North |
| 3 | 102 | S | South |
| 4 | 103 | W | Unknown |
| 5 | 104 | E | East |
| 6 | 105 | n | North |
انقر C2 لترى الصيغة. للمتجر 103 الرمز W، وهو غير موجود في القائمة، لذا يحصل على Unknown. وللمتجر 105 الحرف n الصغير ويحصل مع ذلك على North: مطابقة النصوص في SWITCH تتجاهل حالة الأحرف. غيّر B4 إلى S فتتحدث المنطقة.
صيغة دالة SWITCH
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
expressionيُحسب مرة واحدة: خلية، أو صيغة مثلWEEKDAY(A2)أوMONTH(A2).- ثم تأتي أزواج من قيمة والنتيجة التي تُعاد عندما يساوي
expressionتلك القيمة. يمكن أن يصل عدد الأزواج إلى 126. defaultاختياري: وسيط إضافي بعد الزوج الأخير. تعرف SWITCH أنه القيمة الافتراضية لأنه بلا شريك.- المطابقة تامة. لا تستطيع SWITCH وحدها اختبار "أكبر من" (راجع SWITCH(TRUE) أدناه).
تحتاج SWITCH إلى Excel 2019 أو ما بعده، أو Microsoft 365. وفي Excel 2016 الدائم أو ما قبله تعرض الصيغة التي فيها SWITCH الخطأ #NAME?. ويحتوي Google Sheets أيضًا على SWITCH.
القيمة الافتراضية، و#N/A بدونها
بدون قيمة افتراضية، تعطي القيمة التي لا تطابق شيئًا الخطأ #N/A. هنا يتحول رقم يوم الأسبوع من WEEKDAY (1 هو الأحد، و7 هو السبت) إلى تسمية؛ العمود C بلا قيمة افتراضية، والعمود D قيمته الافتراضية "Weekday":
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Day number | No default | With default |
| 2 | 2026-03-14 | 7 | Saturday | Saturday |
| 3 | 2026-03-15 | 1 | Sunday | Sunday |
| 4 | 2026-03-16 | 2 | #N/A | Weekday |
| 5 | 2026-03-17 | 3 | #N/A | Weekday |
| 6 | 2026-03-21 | 7 | Saturday | Saturday |
يوما 14 و21 مارس 2026 يوما سبت و15 مارس يوم أحد، لذا يسميها العمودان كلاهما. أما الاثنين والثلاثاء فلا يطابقان 1 ولا 7: يعرض العمود C الخطأ #N/A، ويعرض العمود D القيمة Weekday. ويوضح العمود D أيضًا أن التعبير يمكن أن يكون صيغة: تُنفَّذ WEEKDAY مرة واحدة وتقارن SWITCH ناتجها بكل قيمة.
SWITCH(TRUE, ...) للنطاقات
تتحقق SWITCH من المساواة فقط، لكن التعبير يمكن أن يكون TRUE. عندها تكون كل قيمة مقارنة، وتعيد SWITCH نتيجة أول مقارنة تساوي TRUE. وهذا يجعلها تعمل مثل IFS، مع قيمة افتراضية في النهاية:
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
تُقرأ المقارنات بالترتيب، لذا يأتي أعلى حد أولًا، وهي القاعدة نفسها في IF المتداخلة وIFS. و"F" الأخيرة بلا شريك، لذا فهي القيمة الافتراضية لكل درجة دون 70. تكتب IFS القاعدة نفسها بالوضوح نفسه؛ والفرق الوحيد هو موضع TRUE: مرة واحدة في البداية في SWITCH، وكاختبار أخير في IFS.
تحويل الأرقام إلى أسماء
من الاستخدامات الشائعة تحويل رقم رمزي إلى كلمة، مثل ترتيب في سباق إلى ميدالية:
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Rank | Medal |
| 2 | Ana | 2 | Silver |
| 3 | Ben | 1 | Gold |
| 4 | Chloe | 4 | |
| 5 | Dan | 3 | Bronze |
| 6 | Eve | 7 |
أنهت Chloe وEve السباق خارج المراكز الثلاثة الأولى، لذا تحصلان على القيمة الافتراضية، أي نص فارغ. وعندما تكون الرموز 1 و2 و3 وهكذا بلا فجوات، تكون CHOOSE أقصر، =CHOOSE(B2,"Gold","Silver","Bronze")، لكنها بلا قيمة افتراضية وتعيد #VALUE! للرقم 4 فما فوق.
تمرين: رموز الحالة
| A | B | C | |
|---|---|---|---|
| 1 | Invoice | Code | Status |
| 2 | INV-01 | P | |
| 3 | INV-02 | U | |
| 4 | INV-03 | X | |
| 5 | INV-04 | P |
دورك: في C2، حوّل الرمز الموجود في B2 إلى كلمة باستخدام SWITCH: P تعني "Paid"، وU تعني "Unpaid"، وأي شيء آخر "Check". تُنسخ الصيغة إلى الأسفل حتى C5.
SWITCH مقابل IFS مقابل IF المتداخلة
الثلاث تعيد واحدة من عدة نتائج؛ وتختلف في ما تختبره.
| SWITCH | IFS | IF المتداخلة | |
|---|---|---|---|
| الاختبارات | تعبير واحد للمساواة | أي شرط لكل زوج | أي شرط لكل مستوى |
| القيمة الافتراضية | الوسيط الأخير، اختياري | زوج TRUE أخير | قيمة الخطأ لآخر IF |
| لا تطابق ولا قيمة افتراضية | #N/A | #N/A | FALSE، إذا لم يكن لآخر IF وسيط value_if_false |
| تكرار الخلية | لا: B2 تُكتب مرة واحدة | نعم: B2="N"، B2="S"... | نعم |
| Excel 2016 وما قبله | #NAME? | #NAME? | تعمل |
استخدم SWITCH عندما تُقارن خلية واحدة أو صيغة واحدة بقائمة من القيم الثابتة (رموز، أرقام أيام الأسبوع، أشهر)؛ فهي الأقصر وتنفذ التعبير مرة واحدة فقط. واستخدم IFS عندما يكون كل اختبار مقارنة مختلفة أو يقرأ خلايا مختلفة. واستخدم IF المتداخلة عندما يجب أن يُفتح الملف في Excel 2016 أو ما قبله. وعندما تكون قائمة الرموز طويلة أو تتغير كثيرًا، ضعها في جدول من عمودين وابحث فيها بالدالة XLOOKUP بدلًا من ذلك، حتى تعني إضافة رمز إضافة صف، لا تحرير كل صيغة.
الأسئلة الشائعة
ماذا تفعل دالة SWITCH في الاكسل؟
تقارن تعبيرًا واحدًا بقائمة من القيم وتعيد النتيجة المقترنة بأول قيمة تطابقه تمامًا. تحوّل =SWITCH(B2,1,"Gold",2,"Silver",3,"Bronze","") الترتيب إلى اسم ميدالية وتعيد نصًا فارغًا لأي ترتيب آخر.
لماذا تعيد SWITCH الخطأ #N/A؟
لأن التعبير لم يطابق أيًا من القيم ولا توجد قيمة افتراضية. أضف وسيطًا آخر بعد الزوج الأخير، مثل "Other"، فتعيده SWITCH بدلًا من #N/A.
هل يمكن أن تختبر SWITCH نطاقات مثل أكبر من؟
ليس مباشرة، لأنها تختبر المساواة فقط. استخدم TRUE كتعبير والمقارنات كقيم: تعيد =SWITCH(TRUE,B2>=90,"A",B2>=80,"B","F") نتيجة أول مقارنة تكون TRUE.
هل توجد دالة SWITCH في Excel 2016؟
فقط في إصدار Microsoft 365 من Excel 2016. توجد SWITCH في Excel 2019 وExcel 2021 وExcel 2024 وMicrosoft 365؛ أما Excel 2016 الدائم أو ما قبله فيعرض #NAME?، لذا استخدم IF المتداخلة أو CHOOSE هناك.