إكسل: كيفية استخدام صيغة TEXTJOIN مع IF

دليل أكاديمي شامل يشرح كيفية استخدام صيغة TEXTJOIN مع الدالة الشرطية IF في إكسل لدمج النصوص وفق معايير محددة مع أمثلة عملية ومعالجة متقدمة للمصفوفات.

Mohammed looti أكاديمي وباحث متخصص في علم النفس
تاريخ النشر
تمت المراجعة العلمية · د. مروة عبد العظيم · 24 أكتوبر، 2026
مراجعة وتدقيق علمي معتمد تاريخ التدقيق: 24 أكتوبر، 2026
د. مروة عبد العظيم دكتوراه في علم النفس
عضو هيئة التدريس • جامعة كربلاء
معايير التدقيق والاعتماد السريري

يخضع هذا المحتوى لمعايير ضبط الجودة والتدقيق العلمي والأكاديمي الصارمة في شبكة علم النفس العربي، لضمان صحة المعلومات ودقتها السريرية ومطابقتها لأحدث الأدلة والبراهين الصادرة عن الجمعيات النفسية والطبية المعتمدة (APA / WHO).

شهدت بيئات معالجة البيانات وتحليلها في برمجية مايكروسوفت إكسل (Microsoft Excel) تحولات جذرية على مدار العقدين الأخيرين، حيث انتقلت من حيز المعالجة الحسابية البسيطة القائمة على الخلايا المنفردة إلى أفق النمذجة المصفوفية الشاملة والمعالجة المتزامنة للبيانات المعقدة. وفي قلب هذا التحول البنيوي، احتلت الدوال النصية مكانة محورية بوصفها أدوات لا غنى عنها لترتيب وتنظيم ودمج وتلخيص التدفقات البيانية الوصفية التي تشكل جزءاً جوهرياً من التقارير التنفيذية، ونماذج المحاكاة المالية، وسجلات الأبحاث السلوكية والكمية. إن التحدي التاريخي الذي طالما واجه محللي البيانات لم يكن مقتصراً على مجرد تجميع النصوص في حيز مكاني واحد، بل تمحور حول القدرة على تطبيق منطق شرطي صارم يفرز هذه النصوص وينتقيها ديناميكياً قبل تمريرها إلى حيز العرض النهائي دون تدخل يدوي متكرر.

تعتبر صيغة الدمج الشرطي المتشكلة من اقتران دالة الربط النصي المتقدمة TEXTJOIN مع الدالة الشرطية IF واحدة من أقوى التراكيب الحسابية التي أفرزتها بيئة إكسل الحديثة؛ إذ تمثل حلاً خوارزمياً متكاملاً يتجاوز كافة العوائق الهيكلية التي فرضتها الأدوات الكلاسيكية لعقود من الزمن. تتيح هذه التركيبة للمحلل تجميع سلاسل نصية مشروطة بوجود معايير محددة مسبقاً، وتطبيق فواصل مرنة وموحدة، والتخلص التلقائي والرياضي من الفراغات والسجلات غير المطابقة، وكل ذلك ضمن تعبير مصفوفي مكثف يستهلك خلية إخراج واحدة. وتتجلى أهمية هذا الاقتران في قدرته الفائقة على أتمتة التقارير الإدارية، وتوليد لوحات تحكم تفاعلية تستجيب آنياً للمتغيرات، والاستغناء الكامل عن كتابة الأكواد المعقدة عبر لغة فيجوال بيسك للتطبيقات (VBA)، مما يعزز موثوقية النماذج التحليلية ويسرع وتيرة اتخاذ القرارات القائمة على الأدلة البيانية الدقيقة.

يهدف هذا الدليل الأكاديمي الشامل إلى تقديم تفكيك نظري وتطبيقي عميق لكيفية بناء، وتطوير، وتوسيع، واستكشاف أخطاء صيغة TEXTJOIN مع IF في بيئة إكسل. سنستعرض عبر محاوره العشرة الأساس البنيوي لهذه الدوال، والتطور التاريخي لمحركات الحساب الحسابية التي مكنت من تقييم المصفوفات النصية ديناميكياً، والتشريح الدقيق لكل وسيط حسابي ودوره في إدارة الذاكرة وتدفق البيانات. كما سنتناول من خلال دراسة حالة واقعية ومعادلات متقدمة كيفية صياغة الشروط المنطقية المزدوجة والمتعددة بنظامي الواو (AND) والأو (OR)، وصولاً إلى إجراء مقارنات تقنية صارمة للأداء بين هذه الصيغة الكلاسيكية والبدائل الأحدث مثل دالة FILTER، مع تسليط الضوء على أفضل الممارسات المتبعة في حوكمة النماذج وتفادي الانهيارات الحسابية في قواعد البيانات الضخمة.

1. مقدمة تأصيلية لدالة TEXTJOIN وتطور معالجة النصوص في إكسل

1.1 نشأة دالة TEXTJOIN والتحول من الأدوات التقليدية

لعدة عقود، اعتمد مستخدمو إكسل في دمج السلاسل النصية على دالة CONCATENATE الكلاسيكية، أو على استخدام معامل الربط اليدوي العطف (&). وبالرغم من كفاءة هذه الأدوات في السيناريوهات الابتدائية المحدودة، إلا أنها كانت تعاني من عجز بنيوي صارخ عند التعامل مع النطاقات المستمرة للبيانات؛ إذ تتطلب دالة CONCATENATE إدخال كل خلية أو مرجع على حدة بصورة يدوية، ولا تقبل تمرير نطاق متصل مثل (A1:A100) لمعالجته دفعة واحدة. هذا القصور تطلب جهداً يدوياً مضنياً وصياغة نصوص برمجية طويلة للغاية ومعرضة للأخطاء البشرية القاتلة عند التعامل مع جداول تتضمن مئات أو آلاف الصفوف، مما شكل عقبة رئيسية أمام تطوير تقارير آلية تتسم بالمرونة والموثوقية.

وعلاوة على ذلك، واجهت عمليات الدمج التقليدية معضلة التعامل مع الفواصل المنطقية والخلايا الفارغة؛ فعند محاولة ربط سلسلة من الخلايا باستخدام معامل الربط النصي (&) مع إضافة فواصل نصية، كانت الخلايا غير المكتملة أو الفارغة في النطاق تتسبب في تراكم غير مرغوب فيه للفواصل المتتالية مثل (عنصر1, , عنصر2, , , عنصر3)، مما كان يقتضي تضمين دوال تصحيحية معقدة ومتشعبة مثل SUBSTITUTE أو شروط IF متداخلة بصورة تصعب صيانتها لضبط المخرجات. وفي مواجهة هذا العجز التشغيلي، قامت شركة مايكروسوفت ضمن تحديثات شهر يناير 2016 لمشتركي Microsoft 365 بطرح دالة TEXTJOIN، لتشكل قفزة نوعية في معالجة البيانات النصية. جاءت الدالة لتقدم حلاً برمجياً أصيلاً يستوعب النطاقات الكاملة، ويوحد الفواصل الفاصلة بين الكلمات، ويتجاهل الخلايا الفارغة تلقائياً وبكفاءة حسابية متقدمة عبر وسائط مدمجة صريحة.

تزامن هذا التحول مع التغيير الجوهري في محركات الحساب التابعة لإكسل؛ إذ لم يعد التعامل مع النصوص مجرد عملية تجميع خطية للقيم الأبجدية، بل بات جزءاً لا يتجزأ من مصفوفات المعالجة الرياضية التي تتيح التدفق الديناميكي للبيانات في الذاكرة الحسابية. وقد وفرت دالة TEXTJOIN بنية تحتية مرنة سمحت للمحللين بتوليد تقارير تركيبية معقدة ومصفوفية داخل خلية إخراج واحدة، مما مهد الطريق لدمجها مع دوال الاختبار المنطقي لإنتاج ما يعرف اليوم بصيغ الدمج الشرطي المتطورة.

1.2 الأهمية الحسابية والتحليلية لدمج النصوص الشرطي

في بيئات الأعمال الحديثة والتحليلات الأكاديمية المعاصرة، لا تقتصر البيانات على الأرقام الصرفة أو المؤشرات الكمية، بل تمثل البيانات النوعية والوصفية جزءاً جوهرياً من قرارات المؤسسات. تبرز الأهمية الحسابية لدمج النصوص الشرطي في تلبية متطلبات تلخيص البيانات النوعية داخل التقارير المالية والإدارية؛ فعلى سبيل المثال، يحتاج المدير التنفيذي أو المحلل المالي في كثير من الأحيان إلى عرض أسماء كافة العملاء المتعثرين في منطقة جغرافية محددة، أو سرد أسماء المشاريع المتأخرة عن الجدول الزمني، مجمعة في خلية ملخص واحدة بجانب كل قسم أو فرع، وهو ما تعجز دوال التجميع الكمي مثل SUMIFS أو COUNTIFS عن تحقيقه لكونها مخصصة للحسابات العددية فقط.

تاريخياً، كان السبيل الوحيد لإنجاز هذه المهمة التلخيصية يتمثل في بناء وحدات ماكرو مخصصة بلغة Visual Basic for Applications (VBA) أو كتابة وظائف معرفة من قبل المستخدم (UDFs). وعلى الرغم من مرونة لغة VBA، إلا أنها تحمل مخاطر جمة؛ مثل تعطل تشغيل الماكرو بسبب سياسات الأمان والحماية في بيئات العمل المؤسسية، وزيادة احتمالات تلف الملفات، فضلاً عن بطء الأداء الحسابي عند معالجة التكرارات الضخمة، وصعوبة قيام المستخدم العادي بتعديل الأكواد البرمجية وصيانتها. وقد ساهم دمج دالة TEXTJOIN مع الدالة المنطقية IF في القضاء على هذا الاعتماد البرمجي، موفراً بديلاً أصيلاً (Native Formula) يُحسب مباشرة وبسرعة فائقة داخل محرك إكسل الأساسي دون الحاجة إلى تمكين وحدات الماكرو أو تعديل صيغة امتداد الملف إلى .xlsm.

تتجلى هذه الأهمية أيضاً في تعزيز ديناميكية لوحات التحكم التفاعلية (Dashboards)؛ إذ يسمح الربط النصي الشرطي باستجابة فورية لأي تعديل أو تصفية للبيانات؛ فبمجرد تغيير المعيار المرجعي، يعاد حساب السلسلة النصية آلياً لتعكس الوضع الراهن بدقة متناهية. ينعكس ذلك مباشرة على رفع جودة استخراج المؤشرات الوصفية المقترنة بمعايير كمية ونوعية، مما يسهم في بناء نماذج بيانات مرنة وقوية تلتزم بأعلى معايير الحوكمة والتحليل المؤسسي.

1.3 متطلبات البيئة البرمجية وتوافق الإصدارات

تتطلب الاستفادة الكاملة من دالة TEXTJOIN وصيغها المركبة فهماً دقيقاً للمتطلبات البرمجية وبيئة التشغيل التابعة لمايكروسوفت إكسل. طُرحت الدالة في البداية لمشتركي خدمة Office 365 (التي باتت تُعرف لاحقاً باسم Microsoft 365) في أوائل عام 2016، ثم أُدرجت رسمياً في النسخ الدائمة المستقلة بدءاً من إصدار Microsoft Excel 2019 لكلا نظامي التشغيل Windows وmacOS، وهي متاحة بصورة كاملة ومحسنة في إصدارات Excel 2021 والإصدار المكتبي الأحدث Excel 2024، إضافة إلى تطبيق Excel for the Web السحابي.

ومع ذلك، ينبغي على محللي البيانات ومطوري النماذج التمييز الجوهري بين محرك الحساب القديم (Legacy Calculation Engine) ومحرك المصفوفات الديناميكية (Dynamic Array Engine) الذي أطلقته مايكروسوفت تدريجياً بين عامي 2018 و2020. في محرك الحساب القديم—كما هو الحال في النسخ الدائمة من Excel 2019—يُعامل اقتران TEXTJOIN مع IF كمعادلة مصفوفية كلاسيكية صارمة، مما يفرض على المستخدم تأكيد إدخال الصيغة عبر الضغط المتزامن على مفاتيح لوحة المفاتيح Ctrl + Shift + Enter (المعروفة تقنياً بصيغ CSE)، والتي تظهر فيها الصيغة الرياضية محاطة بأقواس مجعدة {...}. في المقابل، يمتلك المحرك الديناميكي الحديث القدرة الذاتية على تقييم مصفوفة IF وتمريرها في الذاكرة دون الحاجة لاختصارات المفاتيح الخاصة، حيث تُدخل الصيغة بالضغط الاعتيادي على مفتاح Enter فقط.

تفرض هذه الفروق البنيوية تحديات جسيمة عند مشاركة ملفات العمل عبر الشبكات المؤسسية المتعددة؛ ففي حال تم فتح مصنف عمل يحتوي على صيغة TEXTJOIN مركبّة تم إعدادها في بيئة حديثة بواسطة مستخدم يعمل على إصدار قديم مثل Excel 2016 الدائم أو Excel 2013، ستظهر في مكان الصيغة قيمة الخطأ الشهير #NAME? نتيجة عدم تعرف الإصدار القديم على الدالة، مما يؤدي إلى انهيار التقارير المعتمدة على هذه السلاسل. لذا، يتوجب على مديري النماذج التحقق المسبق من تجانس الإصدارات البرمجية المستخدمة في المنشأة لضمان استمرارية عمل الصيغ المصفوفية المركبة دون انقطاع.

2. البنية النحوية والمحددات المنطقية لدالة TEXTJOIN

2.1 تشريح الوسيط الأول: الفاصل النصي (Delimiter)

تمثل الصياغة البنيوية القياسية لدالة TEXTJOIN قالباً دقيقاً يعتمد على تسلسل محدد من الوسائط الإلزامية والاختيارية، ويمكن تمثيل هيكلها العام كالتالي: TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...). يُعد الوسيط الأول، وهو الفاصل النصي (Delimiter)، وسيطاً إلزامياً يُحدد ماهية الرمز أو السلسلة النصية التي ستفصل بين كل عنصرين مدمجين ضمن السلسلة الإجمالية الناتجة. يمتلك هذا الوسيط مرونة عالية في استيعاب الرموز التقليدية والمسافات وعلامات الترقيم المختلفة، شريطة أن يتم تضمينها بين علامتي اقتباس مزدوجتين (على سبيل المثال: ", " لوضع فاصلة متبوعة بمسافة، أو " - " لوضع شرطة تفصل العناصر).

تتجاوز قدرات الفاصل النصي حدود المحارف المرئية، إذ يمكن استخدامه لتنظيم النصوص هيكلياً داخل الخلية عبر تمرير فواصل غير مرئية كأوامر كسر الأسطر. يتم ذلك عن طريق استدعاء الدالة البرمجية CHAR(10) في بيئة نظام تشغيل Windows، أو CHAR(13) في بيئات نظام macOS، كفاصل نصي داخل الدالة، كأن نكتب: TEXTJOIN(CHAR(10), TRUE, ...). وعند تفعيل خاصية “التفاف النص” (Wrap Text) في الخلية الهدف، تتحول المخرجات المدمجة إلى قائمة رأسية منظمة ومقروءة بصرياً ضمن حدود الخلية الواحدة، وهو ما يُعد تطبيقاً نموذجياً لإعداد تقارير لوحات القيادة والملخصات التنفيذية التي تتطلب عرضاً تفصيلياً مكثفاً ومضغوطاً.

وعلاوة على الفواصل المفردة، يتيح المحرك الحسابي لدالة TEXTJOIN تمرير مصفوفة ثابتة من الفواصل المتعددة (Array of Delimiters) محاطة بأقواس معقوفة، مثل: {", ", " & "}. في هذا النمط المتقدم، تستخدم الدالة الفاصل الأول بين العنصر الأول والثاني، والفاصل الثاني بين العنصر الثاني والثالث، ثم تعود لتكرار النمط بصورة دورية، مما يمنح المطورين قدرة استثنائية على صياغة جمل لغوية صحيحة نحوياً وسياقياً، كدمج قائمة أسماء مفصولة بفواصل وتنتهي بـ واو العطف دون تدخل يدوي.

2.2 تشريح الوسيط الثاني: تجاهل الفراغات (ignore_empty)

يمثل الوسيط الثاني، وهو تجاهل الفراغات (ignore_empty)، حجر الزاوية الخوارزمي الذي يمنح دالة TEXTJOIN تفوقها الوظيفي المطلق على دمج النصوص الكلاسيكي. يتطلب هذا الوسيط قيمة منطقية إلزامية تأخذ إما TRUE أو FALSE (أو ما يعادلهما رقمياً: 1 أو 0). فعند ضبط الوسيط على القيمة TRUE، تقوم الدالة بعملية فحص قبلي لكافة عناصر السلسلة النصية المستهدفة، وإذا صادفت خلية فارغة تماماً أو سلسلة نصية بطول صفري ناتجة عن تقييمات مصفوفية، فإنها تُسقطها كلياً من المعالجة وتتجاوز إدراج الفاصل النصي الخاص بها، مما ينتج عنه نص نهائي نظيف ومتصل يخلو تماماً من الفواصل المتكررة أو التشويهات التنسيقية.

في المقابل، عند تعيين الوسيط على القيمة FALSE، يُلزم المحرك الحسابي بعدم إسقاط أي عنصر مهما بلغت درجة فراغه، بل يُعامل الخلية الفارغة كعنصر حقيقي موجود بقيمة نصية فارغة. يؤدي هذا السلوك الرياضي إلى إبقاء الفواصل في مواضعها النسبية داخل السلسلة المجمعة، مما يخلق فواصل متتابعة مثل: "أحمد, , محمد" عند غياب النص في الخلية الوسطى. وتُستخدم هذه الآلية المحددة عمداً في سيناريوهات بناء ملفات التصدير بصيغة القيم المفصولة بفواصل (CSV)، حيث يكون الحفاظ على عدد الأعمدة وتطابق مواقع الحقول أمراً حيوياً للأنظمة البرمجية الخارجية حتى وإن كانت البيانات الداخلية فارغة.

يبرز التفاعل الأكثر أهمية لهذا الوسيط عند معالجة السلاسل النصية بطول صفري (Zero-length strings: "") الناتجة عن دوال أخرى مثل الدالة المنطقية IF. هنا تكمن قوة الخوارزمية؛ إذ تعامل الدالة TEXTJOIN النص الفارغ الناتج عن عدم تحقق الشرط المنطقي في دالة IF كعنصر فارغ، وبالتالي فعند اقترانه بالقيمة TRUE، يُستبعد العنصر تماماً من الناتج النهائي، وهو المبدأ الرياضي الجوهري الذي يستند إليه الدمج النصي الشرطي برمته.

2.3 تشريح الوسائط اللاحقة: النطاقات والمصفوفات النصية (text1, text2, …)

تُعنى الوسائط اللاحقة، بدءاً من text1 وحتى text252 كحد أقصى، بتمثيل العناصر الفعلية المراد دمجها داخل الخلية. ويُعد هذا الجزء من التركيب النحوي مسرحاً لتجلي مرونة الدالة، إذ يمكن أن يكون الوسيط نصاً مفرداً ثابتاً بين علامتي اقتباس، أو مرجعاً لخلية مفردة، أو نطاقاً جغرافياً مستمراً واسعاً من الخلايا مثل (A2:A100)، أو حتى عدة نطاقات متقطعة ومتباعدة تُمرر كوسائط متسلسلة مثل (A2:A10, C2:C10, F2:F10)، لتقوم الدالة بتجميعها وقراءتها تسلسلياً من اليمين إلى اليسار (أو العكس بحسب اتجاه ورقة العمل) ومن الأعلى إلى الأسفل.

إلى جانب المراجع المباشرة للخلايا، تستوعب دالة TEXTJOIN المخرجات المتولدة عن تعبيرات ومصفوفات معقدة تم توليدها آنياً في الذاكرة الحسابية؛ حيث يمكن تمرير نتائج دوال نصية أخرى، أو دوال بحث ومصفوفات ديناميكية مثل الدالة المنطقية IF أو دالة التصفية FILTER. لا يتم كتابة هذه المصفوفات الوسيطة في خلايا الورقة، بل تتم معالجتها لحظياً وتغذيتها مباشرة إلى وسيط النصوص الخاص بـ TEXTJOIN لتقوم بتنفيذ خوارزمية التجميع النهائي عليها.

تخضع هذه الوسائط لحدود برمجية محددة يجب على مهندسي النماذج إدراكها بدقة لتجنب الأخطاء التشغيلية غير المتوقعة؛ فالحد الأقصى لعدد الوسائط المستقلة التي يمكن تمريرها في الدالة هو 252 وسيطاً نصياً. ومع ذلك، نادراً ما يتم الوصول إلى هذا الحاجز لأن نطاقاً واحداً مستمراً مثل (A1:Z1000) يُعد وسيطاً واحداً فقط في البنية النحوية، ولكنه يحوي بداخله آلاف السجلات. إن المعيار الحاكم الحقيقي هنا هو استهلاك ذاكرة الوصول العشوائي للعملية الحسابية والحد الأقصى لإجمالي الحروف المسموح باستيعابها داخل الخلية الواحدة وفق محددات إكسل الصارمة، وهو ما سنتناوله بالتفصيل في المباحث اللاحقة.

3. الأسس الرياضية للدمج التركيبي بين TEXTJOIN ودالة IF

3.1 مفهوم المعالجة المصفوفية داخل الدوال النصية

لفهم الآلية التي يعمل بها اقتران TEXTJOIN مع IF، لا بد من تأصيل مفهوم المعالجة المصفوفية (Array Processing) ضمن بيئة إكسل الحسابية. في الاستخدام التقليدي المنفرد، تعمل الدالة المنطقية IF على تقييم خلية واحدة عبر صياغة تعبير منطقي ينتج إما صح (TRUE) أو خطأ (FALSE)، وتعيد قيمة واحدة مطابقة. غير أنه عند تمرير نطاق متعدد الخلايا كوسيط للاختبار المنطقي، مثل: IF(B2:B10="Western", ...)، فإن محرك الحساب يُنشئ في الذاكرة مصفوفة منطقية أحادية أو ثنائية الأبعاد، تتطابق أبعادها تماماً مع أبعاد النطاق المختبر.

يقوم هذا المحرك الداخلي بإجراء مقارنة متزامنة ومستقلة لكل خلية داخل النطاق مقابل المعيار المحدد؛ فإذا كان النطاق يحتوي على 10 عناصر، تتولد مصفوفة تقييم تتألف من 10 قيم منطقية تتوزع بين TRUE وFALSE بناءً على مطابقة كل سجل. بعد ذلك، تقوم دالة IF بتحويل كل عنصر يحمل القيمة المنطقية TRUE إلى القيمة النصية المقابلة المحددة في وسيط التحقق، في حين تحول العناصر التي تحمل القيمة FALSE إلى القيمة البديلة المحددة، والتي يتم ضبطها عادة في صيغ التجميع على هيئة سلسلة فارغة "". تتشكل بذلك مصفوفة نصية وسيطة محملة بالبيانات المطلوبة في المواقع المطابقة ومحشوة بالسلاسل الصفرية في المواقع غير المطابقة.

تنتقل هذه المصفوفة النصية المؤقتة مباشرة إلى دالة TEXTJOIN، والتي تبدأ بقراءة عناصر المصفوفة بصورة تسلسلية متتالية. وهنا يبرز الدور التكاملي المتقن؛ فبدلاً من أن تقوم دالة الربط بقراءة خلايا الورقة، فإنها تقرأ المصفوفة المقيمة في الذاكرة الحسابية، فتعزل العناصر الممتلئة، وتتخطى السلاسل الفارغة بفضل تفعيل وسيط تجاهل الفراغات، ثم تدمج النصوص المطابقة بدقة متناهية تفصل بينها الفواصل المحددة.

3.2 التشريح الهيكلي لصيغة TEXTJOIN IF النموذجية

تتخذ صيغة التجميع الشرطي الكلاسيكية الأكثر موثوقية في إكسل شكلاً هيكلياً موحداً يجب اتباعه بعناية فائقة، ويُكتب هذا التركيب على النحو التالي:

=TEXTJOIN(delimiter, ignore_empty, IF(criteria_range=condition, text_range, ""))

يتألف هذا البناء الرياضي من ثلاث طبقات رئيسية تتضافر فيما بينها لإنتاج المخرجات المستهدفة. الطبقة الأولى تمثلها دالة TEXTJOIN التي تحدد المعالم الجمالية والتنظيمية للناتج النهائي من خلال تحديد الفاصل النصي مثل ", " وتفعيل خاصية إسقاط الفراغات بوضع الوسيط TRUE. وتعتبر الطبقة الثانية هي الدالة الشرطية IF التي تؤدي دور “البوابة المنطقية” التصفوية، حيث يقارن التعبير criteria_range=condition عناصر النطاق بالشرط المرجعي المُراد استخلاصه.

أما الطبقة الثالثة والحرجة فتتمثل في القيمة المعادة في حالة عدم تحقق الشرط (Value-if-false). يُعد تحديد السلسلة النصية الفارغة ذات الطول الصفري "" في هذا الموضع تحديداً ركيزة لا غنى عنها؛ ذلك أن إغفال هذا الوسيط سيجعل دالة IF تعيد القيمة المنطقية الافتراضية FALSE عند عدم تحقق الشرط. وبما أن دالة TEXTJOIN لا تعتبر القيمة المنطقية FALSE خلية فارغة، فإنها ستقوم بتحويل الكلمة “FALSE” إلى نص ودمجها صراحة داخل السلسلة النهائية لتظهر النتيجة مشوهة كالتالي: "فريق1, FALSE, FALSE, فريق4". وبالمثل، إذا تُرك الوسيط خالياً دون علامتي اقتباس، قد تعيد الدالة أصفاراً رقمية تظهر داخل النص. لذا، فإن التناغم الرياضي بين إنتاج النص الفارغ "" من قِبل دالة IF وتجاهله الصريح بواسطة وسيط ignore_empty = TRUE في TEXTJOIN هو المحرك الحقيقي لنجاح هذا التركيب الحسابي.

3.3 التقييم المتزامن للمصفوفات في إكسل الحديث

أحدثت ترقية محرك الحساب في برمجية إكسل ثورة مفاهيمية عميقة أثرت بشكل مباشر على كيفية تفسير وتنفيذ صيغ الدمج النصي المركبة. في الإصدارات السابقة، كانت العمليات الحسابية التي تتضمن مصفوفات تُعد حالات استثنائية تتطلب معالجة خاصة عبر ذاكرة مؤقتة مقيدة تستدعى فقط عبر إدخال CSE، وكان أي ضغط غير مقصود لمفتاح Enter منفرداً يعيد خطأ في القيمة أو يقتصر على إرجاع العنصر الأول من النطاق فقط نتيجة لظاهرة التقاطع الضمني (Implicit Intersection).

في بيئة إكسل الحديثة الداعمة لـ المصفوفات الديناميكية، أصبح التقييم المتزامن هو السلوك الافتراضي المتبع؛ إذ يقوم المحرك باحتساب مصفوفة دالة IF بالكامل داخل نطاق المعالجة المتوازي في الذاكرة دون الحاجة لأي تدخل من المستخدم. ونظراً لأن دالة TEXTJOIN صُممت لتكون دالة “تجميعية” أو اختزالية (Aggregation Function)—على غرار دوال SUM وAVERAGE—فإنها تستقبل المصفوفة المتعددة الأبعاد المتولدة عن دالة IF وتقوم “بضغطها” واختزالها في قيمة نصية أحادية دون أن تمتد المخرجات لتشغل خلايا مجاورة (Spill)، وهو ما يمنحها ميزة الاحتواء الكامل داخل خلية واحدة مع الحفاظ على القوة الحاسوبية للمصفوفات المتشعبة.

هذا التكامل المعاصر أتاح للمحللين إمكانية كتابة الصيغة بسلاسة، ومراجعتها عبر شريط الصيغ بسهولة ويسر، مع القدرة على تتبع وتقييم الأجزاء الداخلية للمعادلة بالضغط على مفتاح F9 لمعاينة مصفوفة الاستجابة المتولدة عن دالة IF مباشرة أثناء مرحلة بناء النماذج وتدقيقها المحاسبي.

4. دراسة حالة تطبيقية: دمج أسماء الفرق الرياضية حسب المعيار الإقليمي

4.1 تأطير مسألة العمل وتوصيف البيانات الأساسية

لترسيخ المفاهيم النظرية المتقدمة وصهرها في قالب عملي تطبيقي، نفترض وجود قاعدة بيانات رياضية وإحصائية لمؤسسة تدير دوري كرة سلة محترف. تم تسجيل بيانات الأندية في جدول بيانات يمتد من الصف 2 إلى الصف 11 في ورقة العمل. يحتوي العمود A، الممتد في النطاق (A2:A11)، على الأسماء الرسمية للأندية والفرق الرياضية، بينما يتضمن العمود B، الممتد في النطاق (B2:B11)، المؤتمر أو الإقليم الجغرافي الذي ينتمي إليه كل فريق، والذي ينقسم حصرياً إلى مؤتمرين: المؤتمر الغربي (Western) والمؤتمر الشرقي (Eastern).

يتلخص المطلب الإداري والتحليلي الموجه إلى فريق التحليل في استخراج وتجميع كافة أسماء الفرق التابعة للمؤتمر الغربي (Western) فقط، وتضمينها مجتمعة داخل خلية تلخيصية منفردة هي الخلية D2، على أن تفصل بين أسماء الفرق فاصلة قياسية متبوعة بمسافة واحدة (", ")، لتقديمها في التقرير التنفيذي المرفوع للإدارة العليا. يتطلب هذا الإجراء فرزاً منطقياً عالي الدقة يستبعد تماماً فرق المؤتمر الشرقي دون ترك أي فراغات نصية مشوهة أو فواصل مضاعفة تؤثر سلباً على المقروئية والمظهر الاحترافي لورقة العمل.

Excel TEXTJOIN IF
Excel TEXTJOIN IF

4.2 التطبيق الإجرائي خطوة بخطوة داخل ورقة العمل

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

=TEXTJOIN(", ", TRUE, IF(B2:B11="Western", A2:A11, ""))

لتتبع المسار الإجرائي الذي يسلكه محرك إكسل في تنفيذ هذه المعادلة، يمكن تفكيك العملية الحسابية إلى الخطوات المنطقية المتتابعة التالية:

  • أولاً: تقييم نطاق الاختبار المنطقي: يبدأ المحرك بفحص كل خلية داخل النطاق B2:B11 ومقارنتها بالقيمة النصية “Western”. فإذا كان الصف الثاني يمثل فريقاً غربياً، فإن المقارنة تعيد TRUE، وإذا كان الصف الثالث يمثل فريقاً شرقياً، فإنها تعيد FALSE. تتولد عن هذه الخطوة مصفوفة منطقية مؤقتة في الذاكرة تتخذ شكلاً مشابهاً للتالي: {TRUE; FALSE; TRUE; TRUE; FALSE; ...}.
  • ثانياً: بناء مصفوفة الإرجاع النصي عبر IF: تقوم الدالة الشرطية بإحلال أسماء الفرق من النطاق المقابل A2:A11 مكان كل قيمة TRUE، بينما تضع نصاً بطول صفري "" مكان كل قيمة FALSE. وبذلك تصبح المصفوفة الناتجة في الذاكرة عبارة عن: {"Lakers"; ""; "Warriors"; "Rockets"; ""; ...}.
  • ثالثاً: المعالجة الاختزالية عبر TEXTJOIN: تتسلم الدالة TEXTJOIN هذه المصفوفة، وتقوم بقراءة محدداتها؛ وحيث إن الوسيط الثاني مضبوط على TRUE (تجاهل الفراغات)، تعمد الدالة إلى التخلص التام من كافة عناصر النصوص الصفرية "" المقابلة للفرق الشرقية.
  • رابعاً: التجميع والترابط النهائي: تُربط الأسماء المتبقية التابعة للمؤتمر الغربي حصراً باستخدام الفاصل النصي المحدد ", "، ليتم إخراج نص موحد ومتماسك في الخلية D2 يبدأ باسم الفريق الغربي الأول وينتهي بالفريق الأخير دون وجود أي فواصل غير مبررة في البداية أو الوسط أو النهاية.

4.3 التدقيق الرياضي واختبار المتانة المنطقية للنتائج

يقتضي الامتثال لمعايير التدقيق البياني والمحاسبي إخضاع النتيجة المتولدة في الخلية D2 لعمليات فحص ومطابقة صارمة لضمان المتانة الحسابية للنموذج. تبدأ مرحلة التدقيق بمقارنة العناصر النصية المدمجة في الخلية مع السجلات الخام الواردة في الجدول المرجعي؛ ويجب أن يتطابق عدد الأسماء المدرجة في السلسلة النصية مع عدد الصفوف التي تحقق المعيار “Western” المحسوب يدوياً أو بواسطة دالة العد الإحصائي =COUNTIF(B2:B11, "Western").

تتضمن الخطوة التالية اختبار الحساسية التفاعلية للصيغة (Reactivity Testing)؛ حيث يعمد المحلل إلى تعديل انتماء أحد الفرق الشرقية في النطاق B2:B11 وتحويله إلى “Western”، وملاحظة سلوك الخلية D2. في ظل النمذجة السليمة، يتوجب على الصيغة الحسابية إعادة تقييم المصفوفة وتحديث محتواها النصي بصورة لحظية بإدراج الفريق الجديد في الموضع النسبي الصحيح وتطبيق الفاصل النصي بدقة متناهية. وبالمثل، عند حذف أو إفراغ خانة المؤتمر لأحد الفرق، تتجاهل الصيغة هذا السجل تلقائياً دون إنتاج خطأ في القيمة أو خلل في مظهر السلسلة، وهو ما يؤكد متانة التصميم الهيكلي واستقلاليته عن التدخلات التحريرية اليدوية اللاحقة.

5. التوسع المتقدم: صياغة الشروط المتعددة والمعقدة (AND / OR Logic)

5.1 بناء المعايير المتزامنة بنظام الواو المنطقية (AND Logic)

في كثير من السيناريوهات العملية المعقدة، لا يقتصر التلخيص النصي على معيار مرجعي مفرد، بل يمتد ليشمل شروطاً متعددة يجب أن تتحقق مجتمعة في آن واحد ليتم إدراج النص ضمن السلسلة المجمعة. وهنا تبرز قاعدة رياضية حاسمة في معالجة مصفوفات إكسل: لا يمكن استخدام الدالة المنطقية الصريحة AND لتمثيل الشروط المتزامنة داخل مصفوفة دالة IF؛ والسبب يكمن في أن دالة AND تقوم باختزال كافة المصفوفات المدخلة إليها في قيمة منطقية واحدة مفردة (إما TRUE واحدة أو FALSE واحدة)، مما يؤدي إلى انهيار المعالجة العنصرية المتسلسلة وفشل الصيغة تماماً في تصفية البيانات.

للتغلب على هذا القيد البنيوي وتطبيق منطق الواو (AND)، يتم اللجوء إلى الضرب المصفوفي المنطقي (Boolean Multiplication) باستخدام معامل الضرب الرياضي (*). يقوم هذا المفهوم على حقيقة جبرية مفادها أن القيم المنطقية تُعامل في العمليات الحسابية كأرقام، حيث يمثل TRUE الرقم 1 ويمثل FALSE الرقم 0. وعند ضرب مصفوفتين منطقيتين لهما نفس الأبعاد، فإن الناتج لن يكون 1 (أي TRUE) إلا إذا كان العنصر في المصفوفة الأولى 1 وفي المصفوفة الثانية 1 في نفس الموقع تماماً (1 × 1 = 1)، بينما إذا اختل أحد الشروط أو كلاهما، يؤول الناتج إلى صفر (1 × 0 = 0 أو 0 × 0 = 0).

تتجلى هذه الصياغة الهيكلية المتقدمة في المعادلة التالية، والتي تفترض رغبتنا في دمج أسماء الفرق الرياضية التي تنتمي للمؤتمر الغربي (“Western”) وحققت في الوقت ذاته أكثر من 50 فوزاً في الموسم وفق بيانات العمود C الممتد في النطاق (C2:C11):

=TEXTJOIN(", ", TRUE, IF((B2:B11="Western") * (C2:C11>50), A2:A11, ""))

يتم هنا إحاطة كل شرط منطقي بين قوسين مستقلين لضمان أسبقية العمليات الحسابية، ثم يضرب التعبيران ببعضهما لتتولد مصفوفة رقمية مكونة من آحاد وأصفار. تستقبل دالة IF هذه المصفوفة وتقوم بتحويل الآحاد إلى أسماء الفرق المقابلة، والأصفار إلى سلاسل فارغة، لتتولى TEXTJOIN دمج العناصر المطابقة للمعايير المزدوجة فقط بكفاءة جبرية مطلقة.

5.2 بناء المعايير البديلة بنظام أو المنطقية (OR Logic)

على النقيض من المعايير المتزامنة، تتطلب بعض التحليلات استخراج النصوص التي تحقق أياً من الشروط المطروحة، بحيث يكفي تحقق شرط واحد على الأقل لإدراج السجل في مصفوفة الدمج النهائي. وكما هو الحال مع دالة AND، فإن دالة OR الصريحة لا تصلح للاستخدام داخل المصفوفات للأسباب الهيكلية ذاتها، حيث تختزل النطاق كاملاً إلى قيمة منطقية واحدة مسببة تشوه النتائج. والبديل الرياضي المعتمد لتمثيل منطق “أو” في المعالجة المصفوفية هو الجمع المنطقي (Boolean Addition) باستخدام معامل الجمع (+).

وفقاً لقواعد الجبر المنطقي في إكسل، عند جمع مصفوفتين منطقيتين، فإن أي موقع يحتوي على قيمة TRUE في أي من المصفوفتين سينتج عنه رقم موجب أكبر من الصفر (1 + 0 = 1، أو 1 + 1 = 2). وتعتبر الدالة الشرطية IF في إكسل أي قيمة عددية تختلف عن الصفر بمثابة تحقق منطقي إيجابي (TRUE)، بينما تعتبر الصفر المطلق فقط بمثابة خطأ (FALSE). وبناءً عليه، يتم دمج الشروط البديلة بجمع المصفوفات معاً.

لتطبيق ذلك عملياً، نفترض رغبتنا في تجميع أسماء الأندية التي تنتمي للمؤتمر الغربي (“Western”) أو التي تنتمي لقسم الشمال الغربي (“Northwest”) المسجل في العمود E ضمن النطاق (E2:E11)، وتُكتب الصيغة الرياضية على النحو التالي:

=TEXTJOIN(", ", TRUE, IF((B2:B11="Western") + (E2:E11="Northwest"), A2:A11, ""))

تضمن هذه الآلية الرياضية عدم إسقاط أي فريق ينتمي لأي من التصنيفين، مع معالجة التراكب المنطقي ببراعة ودون إنتاج أي تكرار لنفس السجل في حال تحقق الشرطين معاً، إذ يُعامل المجموع الحسابي (2) كقيمة إيجابية تفضي إلى استرجاع اسم الفريق مرة واحدة وتمريره للمصفوفة الوسيطة ليتم دمجه بدقة متناهية.

5.3 المزج بين الشروط المنطقية والشروط الحسابية (أكبر من / أصغر من)

تصل قوة الصيغة المركبة ذروتها التحليلية عند المزج بين الشروط المنطقية الصرفة (المطابقة النصية) والمعاملات الحسابية المقارنة المتقدمة مثل: أكبر من أو يساوي (>=)، أصغر من أو يساوي (<=)، ولا يساوي (<>)، والتي تتيح تصفية النصوص استناداً إلى عتبات عددية وتواريخ زمنية متداخلة. وتبرز هذه الحاجة في التقارير الإدارية والمالية التي تقتضي مراقبة الأداء وتتبع المهل الزمنية؛ كحصر أسماء الموظفين الذين تجاوزت مكافآتهم حداً معيناً مع بقائهم في درجة وظيفية محددة، أو حصر أسماء الموردين الذين تأخرت مدفوعاتهم عن فترة استحقاق معينة.

يوضح النموذج التالي صياغة متقدمة تجمع بين التحقق النصي، ومقارنة عددية للمبيعات، ومقارنة زمنية للتواريخ؛ حيث نستهدف دمج أسماء مندوبي المبيعات في النطاق (A2:A50) التابعين للمنطقة الوسطى في النطاق (B2:B50)، والذين تجاوزت مبيعاتهم المسجلة في النطاق (C2:C50) مبلغ 100,000 ريال، وحدثت صفقاتهم بعد تاريخ 1 يناير 2024 المسجل في النطاق (D2:D50):

=TEXTJOIN("; ", TRUE, IF((B2:B50="الوسطى") * (C2:C50>=100000) * (D2:D50>DATE(2024,1,1)), A2:A50, ""))

ولضمان جودة الأكواد الرياضية في هذه التراكيب المعقدة وتسهيل عمليات التدقيق الأكاديمي والمهني، يُوصى باتباع أفضل الممارسات في كتابة المعادلات؛ ومنها استخدام مفاتيح Alt + Enter داخل شريط الصيغ لتقسيم التعبيرات المنطقية على أسطر متعددة ومنفصلة بصرياً، والاعتماد الصارم على دالة DATE(year, month, day) عند بناء الشروط الزمنية بدلاً من كتابة التواريخ كنصوص مجردة لتفادي أخطاء التفسير الإقليمي للتقاويم بين النظم التشغيلية المختلفة.

6. معالجة القيم الشاذة، الخلايا الفارغة، وتفادي الأخطاء البرمجية

6.1 التعامل مع النصوص بطول صفري مقابل الخلايا الفارغة فعلياً

من أهم المنعطفات التقنية التي يجب على ممارسي تحليل البيانات استيعابها هو التمييز الدقيق بين نوعين من “الفراغ” داخل بيئة مايكروسوفت إكسل: الخلية الفارغة تماماً (Blank Cell) والسلسلة النصية بطول صفري (Zero-length String: ""). الخلية الفارغة فيزيائياً هي خلية لم تتلق أي مدخلات قط، وتُرجع الدالة ISBLANK() عند فحصها القيمة TRUE. أما السلسلة النصية الصفرية، فهي كائن نصي حقيقي تم توليده نتيجة صيغة حسابية أو اقتران برمجي (مثل وسيط الفشل في دالة IF)، وعند اختبارها بواسطة دالة ISBLANK() تُرجع الدالة FALSE على الرغم من أن الخلية تبدو خالية تماماً للعين المجردة.

تتجلى عبقرية دالة TEXTJOIN في أن خوارزمية الوسيط ignore_empty = TRUE صُممت برمجياً لتتعامل مع كلا الصنفين بذات الكفاءة والصرامة الحسابية؛ فهي تُسقط الخلايا الشاغرة طبيعياً، كما تُسقط النصوص الصفرية "" دون تمييز، وهو ما يتيح لتركيبة TEXTJOIN + IF العمل بتناغم مطلق. ومع ذلك، يكمن الخطر الداهم في حال قيام المحلل بتعيين هذا الوسيط على FALSE عن طريق الخطأ أو الجهل بأثره الحسابي؛ ففي هذه الحالة، ستعتبر الدالة كلاً من الخلايا الشاغرة والنصوص الصفرية بمثابة عناصر قائمة بذاتها، مما يؤدي إلى توليد سلاسل مدمجة مشوهة تكتظ بالفواصل المتكررة والمتراكمة التي تدمر المظهر التقريري للبيانات.

ولتفادي هذا التشوه، يُنصح دائماً بضبط وسيط الفراغات على القيمة TRUE كمعيار افتراضي ثابت، إلا إذا استدعت متطلبات حوكمة البيانات خلاف ذلك عمداً لأغراض الحفاظ على المحاذاة الهيكلية في قواعد البيانات المجدولة.

6.2 استكشاف وتشخيص الأخطاء الرياضية الشائعة

عند بناء الصيغ المصفوفية المركبة، يواجه المطورون حزمة من الأخطاء الحسابية الشائعة التي تستلزم تشخيصاً دقيقاً لتحديد مسبباتها الجذرية وإصلاحها منهجياً. يأتي في مقدمة هذه الأخطاء خطأ القيمة الشهير #VALUE!، والذي ينشأ في الغالبية الساحقة من الحالات عن عدم تطابق أبعاد المصفوفات المتقاطعة داخل دالة IF. فعلى سبيل المثال، إذا كان نطاق الشرط يمتد عبر عشرة صفوف (B2:B11)، بينما يمتد نطاق الإرجاع النصي عبر تسعة صفوف فقط (A2:A10)، يعجز المحرك الحسابي عن إجراء التقييم المتقابل للعنصر الأخير، مما يؤدي إلى انهيار العملية برمتها وإنتاج الخطأ.

أما الخطأ الثاني فهو خطأ الامتداد #SPILL!، والذي يظهر بشكل متكرر عند استخدام دوال مساعدة أو عند محاولة تفكيك أجزاء من المعادلة في خلايا مجاورة دون وجود مساحة فيزيائية كافية تمكن المصفوفة من التمدد، كأن تعترض مسار الامتداد خلية أخرى ممتلئة بالبيانات أو خلايا مدمجة (Merged Cells). ومع أن دالة TEXTJOIN تختزل مخرجاتها في خلية واحدة ولا تمتد بطبيعتها، إلا أن هذا الخطأ يطرأ عند الخطأ في تركيب الدوال الداخلية أو تمرير مصفوفات غير محسومة الأبعاد إلى وسائط الفواصل النصية.

ويبرز أيضاً خطأ الحساب #CALC!، لا سيما في الإصدارات الحديثة من إكسل، للإشارة إلى وجود مشكلة حسابية بنيوية في التعامل مع المصفوفات، مثل محاولة استخراج مصفوفة فارغة بالكامل لا تحتوي على أي عنصر صالح للمعالجة في بعض الدوال المساعدة، أو عند تجاوز القيود المنطقية التي يفرضها محرك المصفوفات الديناميكية. ويتطلب حل هذه الأخطاء فحصاً شاملاً لأبعاد النطاقات والتأكد التام من تطابق بداياتها ونهاياتها بصورة متناظرة وصارمة.

6.3 استراتيجيات الحماية باستخدام الدالة IFERROR ودوال التحقق

لضمان استدامة النماذج التحليلية وموثوقيتها في بيئات العمل المؤسسية التشاركية، يجب تحصين صيغة TEXTJOIN المركبة بحزمة من الاستراتيجيات الوقائية التي تمنع ظهور رسائل الأخطاء المشوهة للمستخدم النهائي. وتتمثل خطة الدفاع الأولى في تطويق الصيغة التجميعية بالكامل داخل دالة معالجة الأخطاء IFERROR، مما يتيح تحديد مخرجات بديلة ذات دلالة إرشادية واضحة في حال طرأ أي خطأ حسابي أثناء التقييم، كما يظهر في التركيب التالي:

=IFERROR(TEXTJOIN(", ", TRUE, IF(B2:B11="Western", A2:A11, "")), "خطأ: تعذر استخراج البيانات")

تكتمل هذه الاستراتيجية الوقائية بالتحقق الاستباقي من سلامة نطاق البيانات الأصلي قبل الشروع في دمج النصوص؛ حيث يمكن توظيف دالة ISBLANK أو اقتران دوال العد للتأكد من أن النطاق المرجعي ليس فارغاً كلياً، مما يمنع إهدار الموارد الحاسوبية في تقييم مصفوفات عقيمة. كما يُنصح بصياغة رسائل استجابة مخصصة وموجهة في حال عدم عثور الصيغة على أي سجل يطابق المعايير المنطقية المطروحة؛ كأن تُرجع الصيغة نصاً صريحاً يوضح للمدقق: "لا توجد عناصر مطابقة للمعايير المحددة" بدلاً من ترك الخلية فارغة تماماً بطريقة قد توحي بوجود عطل في كفاءة النموذج التحليلي.

7. المقارنات التقنية: دمج TEXTJOIN مع IF مقابل دمجها مع FILTER

7.1 البنية التركيبية البديلة باستخدام TEXTJOIN مع FILTER

مع إطلاق محرك الحساب الديناميكي في نسختي Microsoft 365 وExcel 2021 وما تلاهما، قدمت مايكروسوفت دالة تصفية مصفوفية متخصصة ومستقلة هي دالة FILTER، مما أتاح لمحللي البيانات بناء نمط تركيبي بديل ومباشر يستغني كلياً عن الدالة المنطقية IF في مهام الاستخلاص النصي. وتتخذ الصيغة الهيكلية لهذا التركيب البديل النمط التالي:

=TEXTJOIN(", ", TRUE, FILTER(text_range, criteria_range=condition, [if_empty]))

يرتكز الاختلاف الجوهري بين الأسلوبين على الميكانيكية التي يتم بها إعداد البيانات قبل دمجها؛ فبينما تقوم دالة IF بإنشاء مصفوفة افتراضية بنفس الحجم الفيزيائي الكامل لنطاق البيانات الأصلي وتستبدل القيم غير المطابقة بنصوص فارغة ""، تعمل دالة FILTER على إجراء تصفية واستبعاد فيزيائي مسبق للسجلات غير المطابقة من الذاكرة قبل تمرير النتائج، مما يعني أن المصفوفة المغذية لدالة TEXTJOIN لا تحتوي إلا على العناصر الإيجابية المقبولة فقط وتكون ذات أبعاد مقتطعة ومصغرة.

إضافة إلى ذلك، توفر دالة FILTER ميزة مدمجة أصيلة تتمثل في وسيطها الاختياري الثالث [if_empty]؛ إذ يسمح هذا الوسيط بتحديد قيمة نصية افتراضية تُعرض تلقائياً في حال لم يتم العثور على أي تطابق للمعيار، مثل: FILTER(A2:A11, B2:B11="North", "لا توجد نتائج")، دون الحاجة لتركيب دوال شرطية خارجية للتحقق من فراغ المخرجات، مما يكسب هذا النمط أناقة تعبيرية ومرونة تشغيلية ملحوظة في البيئات الحديثة.

7.2 مقارنة الأداء وسرعة المعالجة الحاسوبية (Benchmarking)

تخضع المفاضلة بين أسلوب TEXTJOIN + IF وأسلوب TEXTJOIN + FILTER لمعايير هندسية دقيقة تتعلق باستهلاك الذاكرة المؤقتة وزمن المعالجة المركزية، وتتضح هذه الفروق بشكل جلي عند الانتقال من الجداول التجريبية المحدودة إلى بيئات البيانات الضخمة التي تضم عشرات أو مئات الآلاف من الصفوف. في نموذج IF التقليدي، يضطر المحرك الحسابي إلى تخصيص مساحة في الذاكرة لمصفوفة استجابة كاملة تطابق حجم النطاق الأصلي وتعبئتها بسلاسل نصية فارغة ""، ثم يفرض على دالة TEXTJOIN مسح وفحص كل عنصر من هذه العناصر الصفرية للتحقق من شرط التجاهل، مما يستهلك دورات معالجة إضافية (CPU Cycles) ويزيد من زمن إعادة الحساب التلقائي (Calculation Latency).

في المقابل، يُظهر أسلوب FILTER كفاءة حاسوبية أعلى في إدارة الموارد؛ حيث تُسقط خوارزميتها المؤشرات غير المطابقة مبكراً على مستوى النواة الحسابية، فتعيد مصفوفة مصغرة ومكثفة لا تتطلب من TEXTJOIN جهداً إضافياً في فحص الفراغات وتجاهلها. ومع ذلك، تشير اختبارات الأداء المعيارية (Benchmarking) إلى أن دالة IF تتفوق في سيناريوهات المعالجة المنطقية المعقدة ذات التفرعات المتشعبة والشروط المتدرجة (Nested Conditions) التي يصعب صياغتها داخل تعبير include الخاص بدالة FILTER، مما يجعل نموذج IF أكثر مرونة وتكيفاً في النماذج الاكتوارية والمالية شديدة التعقيد.

7.3 معايير الاختيار المنهجي بين الأسلوبين في المشاريع المؤسسية

يتطلب اتخاذ قرار منهجي ومؤسسي بشأن اعتماد أحد الأسلوبين مراعاة مجموعة من المعايير التقنية والتنظيمية الحاكمة التي تضمن استدامة وتوافق مصنفات العمل داخل المنشأة، ويمكن إيجاز هذه المعايير في المحاور الاستراتيجية التالية:

  • معيار توافق الإصدارات (Compatibility Constraints): إذا كان مصنف العمل سيُشارك مع فروع أو أطراف خارجية أو أجهزة عملاء تعتمد على إصدارات دائمة قديمة من البرنامج مثل Excel 2019، فإن صيغة TEXTJOIN + IF (المدخلة عبر CSE) تمثل الخيار الحصري القابل للتنفيذ؛ نظراً لأن دالة FILTER غير معرفة على الإطلاق في هذه الإصدارات وستؤدي حتماً إلى تعطل النموذج وظهور الخطأ #NAME?.
  • معيار البساطة وسهولة الصيانة (Code Readability): في المنشآت التي تعتمد كلياً على بيئة Microsoft 365 السحابية الحديثة، يُفضل اعتماد صيغة TEXTJOIN + FILTER؛ لما تتسم به من بساطة نحوية، ووضوح في تدفق البيانات، وتضمين سهل لوسيط معالجة الفراغ، مما يسهل على مدققي الحسابات ومحللي البيانات الجدد فهم المنطق الرياضي للنموذج وصيانته.
  • معيار مرونة الشروط المنطقية (Logical Adaptability): في الحالات التي تتطلب معالجة تفاضلية متقدمة للمدخلات بناءً على معايير شرطية متغيرة ومترابطة تعتمد على بنية التحقق (Switching Logic)، يوفر نموذج TEXTJOIN + IF آفاقاً أوسع للمحلل للتحكم في بنية المصفوفة وتشكيل مخرجات مخصصة في حالتي التحقق وعدمه قبل الوصول إلى مرحلة الدمج النصي النهائي.

8. التكامل مع الدوال المتقدمة: UNIQUE و SORT و TEXT

8.1 إزالة العناصر المكررة بواسطة دالة UNIQUE

في العديد من قواعد البيانات غير المهيكلة أو سجلات المعاملات اليومية، تتكرر أسماء العناصر والجهات بصورة مكثفة نتيجة لتكرار العمليات. وعند تطبيق صيغة الدمج الشرطي، فإن استدعاء الأسماء كما هي يؤدي إلى إنتاج سلسلة نصية مشبعة بالتكرار غير المجدي، مثل ظهور اسم العميل نفسه عشرات المرات لمجرد أنه نفذ عدة عمليات تطابق الشرط. ولحل هذه المشكلة وإنتاج ملخص نوعي نقي، يتم إدراج دالة إزالة التكرارات UNIQUE مباشرة بين دالة TEXTJOIN ومصفوفة الاستخلاص الشرطي.

يتشكل هذا البناء الثلاثي المتقدم وفق الصيغة الرياضية التالية:

=TEXTJOIN(", ", TRUE, UNIQUE(IF(B2:B100="مكتمل", A2:A100, "")))

يقوم مسار المعالجة الحسابية هنا بتوليد المصفوفة المصفاة أولاً عبر دالة IF، ثم تتولى دالة UNIQUE فحص المصفوفة واستبعاد كافة العناصر النصية المتطابقة، والإبقاء على نسخة فريدة واحدة فقط من كل قيمة. وتجدر الإشارة إلى أن السلاسل النصية الفارغة "" الناتجة عن عدم تحقق الشرط ستُعامل كعنصر مكرر، وبالتالي ستختزلها دالة UNIQUE في قيمة فارغة واحدة فقط، لتتولى بعدها دالة TEXTJOIN إسقاط هذا الفراغ المتبقي بفضل وسيط TRUE، لينتج عن ذلك تجميع نصي احترافي يحصر كافة الكيانات المطابقة دون أي تكرار.

8.2 الترتيب الأبجدي والرقمي للمخرجات باستخدام دالة SORT

تمثل القابلية للقراءة والتنظيم البصري عنصراً حاسماً في إعداد التقارير التنفيذية؛ إذ إن إخراج النصوص المدمجة بترتيب عشوائي يتطابق مع تسلسل إدخالها الأصلي في قاعدة البيانات قد يربك متخذ القرار ويعيق سرعة الوصول للمعلومة. ولإضفاء طابع منهجي منسق، يمكن دمج دالة الترتيب الديناميكي SORT ضمن سلسلة المعالجة المصفوفية لفرز النصوص المستخلصة أبجدياً أو رقمياً قبل دمجها النهائي داخل الخلية.

تُصاغ المعادلة التركيبية الشاملة التي تدمج التصفية، والتنقية من التكرار، والترتيب الأبجدي على النحو التالي:

=TEXTJOIN(", ", TRUE, SORT(UNIQUE(IF(B2:B50="معتمد", A2:A50, ""))))

في هذا النسق المتسلسل، تتدفق البيانات عبر خط معالجة متكامل: تُصفي دالة IF البيانات، وتُنقيها دالة UNIQUE من التكرارات، ثم تتولى دالة SORT ترتيب الكلمات المتبقية تصاعدياً من الألف إلى الياء (أو تنازلياً عبر ضبط وسائطها الإضافية). وأخيراً، تقوم دالة TEXTJOIN بربط هذه الأسماء المرتبة بدقة متناهية، مما يمنح التقارير النهائية مظهراً احترافياً يعكس انضباط النمذجة المتبعة وكفاءة بنيتها البرمجية.

8.3 تنسيق القيم الرقمية والتواريخ المدمجة باستخدام دالة TEXT

من الإشكاليات التقنية المعقدة في بيئة إكسل أن دمج القيم الرقمية والتواريخ الزمنية داخل دوال النصوص يتسبب حتماً في فقدان التنسيق المرئي التلقائي لهذه القيم؛ فالأرقام المنسقة كعملات أو نسب مئوية والتواريخ المنسقة وفق التقاويم المعتمدة تعود بمجرد ربطها إلى أصلها المخزن في الذاكرة كأرقام تسلسلية مجردة (Serial Numbers)، فيظهر التاريخ مثلاً كرقم عشوائي مثل 45292 بدلاً من 2024-01-01، وتتحول النسبة المئوية 15% إلى كسر عشري مجرد 0.15.

للتغلب على هذا القصور وتثبيت التنسيق المطلوب ضمن السلسلة المدمجة، يتم إدراج دالة التنسيق النصي TEXT داخل وسيط التحقق في دالة IF لإجبار المحرك على تحويل الأرقام إلى نصوص منسقة وفق الأكواد المعيارية قبل تمريرها للدمج. يوضح المثال التالي صيغة متقدمة لدمج أسماء المشاريع المتأخرة مقرونة بتاريخ استحقاقها الزمني المنسق بصورة مقروءة:

=TEXTJOIN("; ", TRUE, IF(C2:C20="متأخر", A2:A20 & " (" & TEXT(D2:D20, "yyyy-mm-dd") & ")", ""))

تضمن هذه الصياغة المركبة ظهور كل مشروع متأخر متبوعاً بتاريخه المحدد داخل قوسين وبتنسيق زمني موحد وثابت، مما يتيح للإدارة الاطلاع على ملخص وصفي وزمني عالي الدقة دون التضحية بالتنسيقات المعيارية المعتمدة في المؤسسة.

9. تحسين كفاءة النماذج والاعتبارات الحسابية للبيانات الضخمة

9.1 توظيف الجداول الديناميكية والمراجع المهيكلة (Structured References)

تقتضي النمذجة المالية والإدارية المتقدمة الابتعاد عن استخدام النطاقات المكانية الثابتة ذات العناوين المادية مثل (A2:A100)، واستبدالها بنظام جداول إكسل الرسمية (Excel Tables) التي تعتمد على المراجع المهيكلة الذاتية. يوفر هذا التحول فوائد جوهرية تنعكس على استقرار النماذج وقابليتها للصيانة والتوسع؛ فعند إضافة أو حذف سجلات من الجدول، يتمدد النطاق تلقائياً أو ينكمش، مما يضمن استيعاب كافة البيانات الجديدة لحظياً داخل صيغة الدمج النصي دون أي تدخل يدوي لتعديل أبعاد الصيغة.

وعلاوة على التحديث التلقائي، ترفع المراجع المهيكلة من مقروئية الصيغة البرمجية وتحد من احتمالات الخطأ البشري؛ إذ تتحول الصيغة من مراجع إحداثية مبهمة إلى تعبير منطقي واضح الدلالة، كما يظهر في النموذج التالي حيث تم استبدال العناوين المجردة بأسماء أعمدة جدول المبيعات:

=TEXTJOIN(", ", TRUE, IF(SalesTable[Region]="Western", SalesTable[TeamName], ""))

يسهم هذا الأسلوب المؤسسي في تسهيل عمليات المراجعة والتدقيق والامتثال؛ إذ يتيح لأي محلل خارجي قراءة الصيغة وفهم مقاصدها المنطقية مباشرة دون الحاجة لتتبع مواقع الخلايا ونطاقاتها الفيزيائية في صفحات المصنف.

9.2 تأثير الصيغ المصفوفية المركبة على سرعة المصنف (Workbook Performance)

على الرغم من القوة التعبيرية الهائلة لصيغة TEXTJOIN المقترنة بـ IF، إلا أن الإفراط في استخدامها أو كتابتها بأساليب غير منضبطة قد يفرض عبئاً حسابياً ثقيلاً يؤدي إلى بطء استجابة المصنف واستهلاك مفرط للذاكرة المؤقتة، لا سيما في النماذج التي تحتوي على عشرات الآلاف من الصفوف. ومن أخطر الممارسات الحسابية في هذا الصدد اللجوء إلى الإشارة إلى الأعمدة الكاملة مثل كتابة (A:A) أو (B:B)؛ حيث يُلزم هذا التعبير محرك إكسل بمسح وتقييم أكثر من مليون وأربعة وثمانين ألف خلية لكل عمود في الذاكرة، مما يتسبب في تجميد البرنامج وتأخر زمن إعادة الحساب التلقائي بشكل ملحوظ.

لتحسين كفاءة النماذج والارتقاء بالأداء الحاسوبي، يُوصى بحصر النطاقات بدقة على حدود البيانات الفعلية عبر استخدام الجداول المهيكلة أو توظيف النطاقات الديناميكية المسماة (Dynamic Named Ranges). وفي النماذج العملاقة التي تعاني من ضغط حسابي متكرر، يُفضل استبدال الصيغ الكلاسيكية المتكررة في خلايا متعددة بتطبيق معادلة واحدة مركزية تستغل دالة LET لتعريف المتغيرات والنطاقات المشتركة لمرة واحدة في الذاكرة، مما يحد من تكرار دورات المعالجة ويضمن سلاسة تشغيل مصنف العمل وسرعة استجابته لمدخلات المستخدمين.

9.3 التوثيق المنهجي والامتثال لمعايير التدقيق المالي والإداري

تخضع النماذج المالية والتحليلية في المؤسسات الكبرى لسياسات حوكمة صارمة تهدف إلى ضمان خلو المصنفات من الأخطاء المنطقية وتسهيل عمليات التدقيق والمراجعة المحاسبية من قبل جهات مستقلة. ويتطلب الامتثال لهذه المعايير توثيقاً دقيقاً لكافة الصيغ المصفوفية المتقدمة التي تتضمن شروطاً مدمجة مثل TEXTJOIN مع IF؛ نظراً لأن عدم الإلمام بطبيعة المعالجة المصفوفية قد يدفع المدققين غير المتخصصين إلى إساءة تفسير المعادلات أو التشكيك في صحة النتائج المستخلصة.

يتحقق هذا التوثيق المنهجي عبر إضافة تعليقات شارحة وملاحظات تفصيلية داخل الخلية أو في لوحة توثيق مخصصة ترفق بمصنف العمل، توضح الأهداف التحليلية لكل صيغة، وطبيعة الشروط المطبقة، والافتراضات المعتمدة في معالجة القيم الصفرية والفراغات. كما يمثل استخدام دالة LET المعاصرة وسيلة توثيق برمجية أصيلة ذاتية الشرح؛ إذ تسمح بتسمية خطوات المعادلة ومتغيراتها المنطقية بأسماء مفهومة ومقروءة داخل شريط الصيغة نفسه، مما يضمن ديمومة واستدامة مصنف العمل وسهولة تسليمه وتطويره عبر فرق العمل المتعاقبة دون الإخلال بمتانة هيكله الرياضي.

10. دليل استكشاف الأخطاء المتقدمة وحلول المشكلات العملية

10.1 مشكلة تجاوز الحد الأقصى لطول السلسلة النصية في الخلية

تفرض البنية الهندسية لبرمجية مايكروسوفت إكسل قيوداً صارمة على الطاقة الاستيعابية للخلايا النصية، حيث يبلغ الحد الأقصى لطول السلسلة النصية المسموح باحتوائها وعرضها داخل الخلية الواحدة 32,767 محرفاً (Character). وعند تطبيق دالة TEXTJOIN على قواعد بيانات ضخمة تتضمن آلاف الصفوف والسجلات المطابقة للشروط، يواجه المحللون خطر الاصطدام بهذا الحاجز الفيزيائي، مما يؤدي إلى ظهور أخطاء حسابية أو توقف الدالة عن استيعاب النصوص الفائضة وقص السلسلة بشكل مفاجئ دون تنبيه صريح.

ولمعالجة هذه المعضلة التشغيلية وضمان سلامة التدفق البياني، يمكن اتباع حلين رئيسيين:

  • الحل الأول: تضييق المعايير وفرز النتائج: إعادة صياغة الشروط المنطقية داخل دالة IF لجعلها أكثر تخصصاً وتحديداً؛ مثل التصفية بناءً على فترات زمنية أقصر (أشهر بدلاً من سنوات) أو قطاعات جغرافية أصغر، مما يقلل عدد العناصر المؤهلة للدمج ويحفظ السلسلة دون حاجز السعة القصوى.
  • الحل الثاني: التجزئة الأفقية أو الرأسية للمخرجات: استخدام دوال تقطيع النطاقات وتوزيع المخرجات المدمجة على عدة خلايا مستقلة ومتجاورة؛ كأن تخصص خلية لدمج الأسماء التي تبدأ من الحرف (أ) إلى (ض)، وأخرى للحروف المتبقية، لضمان استيعاب كافة البيانات دون أي بتر ناتج عن القيود البرمجية لإكسل.

10.2 معالجة الحساسية لحالة الأحرف والمسافات الزائدة في النصوص

من الأسباب الخفية التي تؤدي إلى فشل الصيغ الشرطية في العثور على التطابقات المطلوبة وجود مسافات بادئة أو لاحقة أو مسافات مزدوجة زائدة بين الكلمات في نطاقات البيانات الأصلية؛ فمن الناحية البرمجية، لا تتطابق القيمة "Western " (المتبوعة بمسافة غير مرئية) مطلقاً مع معيار البحث "Western"، مما يتسبب في استبعاد هذا السجل وإسقاطه ظلماً من مصفوفة الدمج النهائي دون أن يدرك المحلل سبب هذا الإسقاط العشوائي.

لتحصين الصيغة ضد تباينات الإدخال هذه، يجب تطهير النطاقات النصية برمجياً عبر تضمين دالة إزالة المسافات TRIM حول نطاق الاختبار المنطقي مباشرة داخل دالة IF، كأن نكتب: IF(TRIM(B2:B11)="Western", ...)، لتقوم الدالة بحذف كافة المسافات الطفيلية المحيطة بالنصوص قبل إجراء المطابقة.

وعلاوة على المسافات، تجدر الإشارة إلى أن عامل المساواة التقليدي (=) في إكسل غير حساس لحالة الأحرف اللاتينية (Case-insensitive)؛ فالمعيار "west" سيتطابق تلقائياً مع "WEST" و"West". وفي الحالات الخاصة التي تتطلب تمييزاً دقيقاً وصارماً لحالة الأحرف (مثل الأكواد التعريفية المشفرة)، يجب استبدال المقارنة المباشرة بدالة التطابق الحرفي EXACT داخل شرط IF، وفق التركيب: IF(EXACT(B2:B11, "Western"), A2:A11, "")، لضمان التقاط السجلات المطابقة حرفياً وبصورة قطعية لا لبس فيها.

10.3 قائمة التحقق النهائية لاختبار متانة صيغة TEXTJOIN IF

قبل اعتماد ونشر أي مصنف عمل يعتمد على صيغة TEXTJOIN المركبة في بيئات العمل الاحترافية والتقارير التنفيذية، يُوصى بإنفاذ تدقيق منهجي شامل بالاستناد إلى قائمة الفحص المعيارية التالية لضمان خلو النموذج من العيوب الهيكلية والمفاهيمية:

  • تناظر أبعاد المصفوفات: التأكد المطلق من أن نطاق الاختبار المنطقي ونطاق الإرجاع النصي يمتلكان نفس عدد الصفوف ونفس نقطة البداية والنهاية (مثل B2:B100 مع A2:A100) لتجنب الوقوع في خطأ #VALUE!.
  • تثبيت وسيط تجاهل الفراغات: التحقق من تعيين الوسيط الثاني في دالة TEXTJOIN على القيمة المنطقية الصريحة TRUE لضمان استبعاد السلاسل الصفرية "" الناتجة عن عدم تحقق الشرط.
  • ضبط وسيط الفشل في IF: التأكد التام من تحديد وسيط القيمة البديلة عند عدم تحقق الشرط على هيئة نص فارغ "" وتجنب تركه خالياً لمنع إدراج الكلمات المنطقية FALSE أو الأصفار داخل النص.
  • ملاءمة الفاصل النصي للسياق: اختيار فاصل نصي يتناسب مع طبيعة البيانات المعروضة، كاستخدام الفواصل التقليدية للقوائم المحدودة، أو الاستعانة بفاصل الأسطر CHAR(10) مع تفعيل التفاف النص في التقارير التفصيلية المكتظة.
  • اختبار حالات العدم (Zero-match Scenario): محاكاة سيناريو لا يتحقق فيه الشرط المنطقي لأي سجل في الجدول؛ والتأكد من استجابة الصيغة بمرونة وإرجاع نص إرشادي منسق أو ترك الخلية شاغرة بنظافة دون توليد أخطاء حسابية مزعجة.

خاتمة

شكل اقتران دالة الربط المتقدمة TEXTJOIN بالدالة المنطقية IF علامة فارقة في هندسة وتحليل البيانات داخل برمجية مايكروسوفت إكسل، حيث نقل معالجة السلاسل النصية من حيز الخطوات التجميعية اليدوية والبدائية المقيدة إلى أفق النمذجة المصفوفية الذكية القادرة على الاستجابة اللحظية للمعايير والشروط المعقدة. وقد أثبت هذا التركيب الخوارزمي جدارته كأداة لا غنى عنها في أتمتة التقارير الإدارية، وتوليد المؤشرات الوصفية للوحات القيادة التفاعلية، وتحسين حوكمة البيانات عبر القضاء على الاعتماد الهش على أكواد الماكرو ولغة VBA القديمة في مهام التلخيص النصي الأساسية.

وعلى الرغم من ظهور بدائل ديناميكية حديثة في الإصدارات المعاصرة مثل دالة FILTER، إلا أن تركيبة TEXTJOIN + IF تظل خياراً أصيلاً وموثوقاً يجمع بين التوافقية الواسعة مع مختلف أجيال البرنامج من جهة، والقدرة الفائقة على استيعاب المنطق الرياضي المعقد متعدد الفروع من جهة أخرى. إن الاستخدام الأمثل لهذه الصيغة يتطلب من محللي البيانات فهماً عميقاً لسلوك الذاكرة الحسابية، والتمييز الدقيق بين أنواع الفراغات، والالتزام الصارم بقواعد الجبر المنطقي عند بناء الشروط المتعددة بنظامي الواو والأو، وصولاً إلى تحصين النماذج عبر استراتيجيات منع الأخطاء ومعايير التدقيق المؤسسي. ومن خلال هذا الفهم الهندسي المتكامل، يمكن للمحللين تحويل البيانات النصية الخام إلى مخرجات تلخيصية نوعية فائقة الدقة والقيمة تدعم كفاءة وموثوقية اتخاذ القرارات في مختلف قطاعات الأعمال.

المراجع

★

تقييم هذا المحتوى

5.0 / 5 • 7 تقييمات

اقتباس هذا المقال

looti, M. (2026, أكتوبر 24). إكسل: كيفية استخدام صيغة TEXTJOIN مع IF. عرب سايكلوجي. https://arabpsychology.com/statistics/excel-textjoin-if-formula/
looti, Mohammed. “إكسل: كيفية استخدام صيغة TEXTJOIN مع IF.” عرب سايكلوجي, 24 أكتوبر 2026, https://arabpsychology.com/statistics/excel-textjoin-if-formula/.
looti, Mohammed. “إكسل: كيفية استخدام صيغة TEXTJOIN مع IF.” عرب سايكلوجي. أكتوبر 24, 2026. https://arabpsychology.com/statistics/excel-textjoin-if-formula/.