تعد معالجة السلاسل النصية وهندسة البيانات داخل جداول البيانات الإلكترونية إحدى الركائز التقنية الأساسية التي يعتمد عليها المحللون والباحثون في شتى الميادين الأكاديمية والتطبيقية. ففي كثير من الأحيان، لا تأتي البيانات المجمعة من الاستبيانات الرقمية، أو قواعد البيانات المركزية، أو منصات التتبع السلوكي في هيئة مهيكلة وجاهزة للتحليل الفوري، بل ترد في صورة نصوص مركبة تحتوي على عدة متغيرات مدمجة داخل خلية واحدة ومفصولة بمحددات نصية كالفاصلة أو المسافة البيضاء. وتعد مسألة عزل جزء محدد من النص، وتحديداً اقتطاع الكلمة أو الرمز الواقع بدقة بين المسافة الثانية والمسافة الثالثة، من التحديات الشائعة في هندسة البيانات؛ إذ يتطلب حلها فهماً عميقاً للبنية التركيبية للنصوص وخوارزميات محرك الحسابات في برنامج مايكروسوفت إكسل.
شهد برنامج إكسل عبر تاريخه الممتد تطورات جذرية في كيفية التعامل مع المتغيرات النصية؛ حيث انتقل من استخدام المعادلات التوافقية المعقدة المعتمدة على مصفوفات الدوال الكلاسيكية إلى توفير دوال ديناميكية حديثة بالغة القوة والاختصار. إن اقتطاع النص المحصور بين المسافة الثانية والثالثة يمثل نموذجاً إجرائياً مثالياً لدراسة هذا التحول، حيث يتيح للباحث والمحلل مقارنة كفاءة الخوارزميات القديمة بتلك الحديثة، وفهم إدارة الذاكرة واستهلاك الموارد الحوسبية داخل بيئة العمل. كما يسهم في تعزيز الموثوقية العلمية للنتائج عبر القضاء على أخطاء التجزيء اليدوي وتوحيد المعايير التحليلية للبيانات المعقدة.
يتناول هذا الدليل الشامل تفكيكاً دقيقاً لأفضل الاستراتيجيات المنهجية المتبعة في إكسل لتحقيق هذا الهدف التقني. وسنستعرض فيه دمج الدوال الحديثة المتاحة في بيئة Microsoft 365 وإصدارات Excel 2024 مثل دالتي TEXTAFTER وTEXTBEFORE، إلى جانب تفكيك الحيل الكلاسيكية الرصينة التي اعتمدت لعقود على دمج دالات MID وFIND وSUBSTITUTE وTRIM. كما يقدم الدليل إطاراً وقائياً لمعالجة الاستثناءات والمسافات غير المنتظمة، وتطبيقات عملية في بحوث القياس النفسي والعلوم السلوكية، وصولاً إلى أتمتة هذه المعالجات عبر تقنيات Power Query ودوال LAMBDA المتقدمة، بما يضمن دقة التحليل ونزاهة النتائج العلمية.

1. مقدمة منهجية لمعالجة النصوص وسلاسل البيانات في إكسل
1.1 أهمية تنظيف البيانات النصية وتجزئتها في الأبحاث والتحليلات الأكاديمية
تمثل جودة البيانات الأولية حجر الزاوية في بناء أي نموذج تحليلي أو استدلالي رصين؛ إذ إن الخلل في معالجة المدخلات يمتد أثره بصورة طردية ليصيب المؤشرات الإحصائية ومخرجات النمذجة الرياضية بالتشويه، وهو ما يشار إليه في أدبيات علوم الحوسبة بمبدأ “المدخلات الرديئة تقود إلى مخرجات رديئة”. وفي الأبحاث التجريبية المعاصرة، تتدفق مقاييس الملاحظة وسجلات الاستجابة في صيغ نصية متباينة تجمع بين تصنيف الحالة، ورقم المشارك، وتوقيت الإجراء داخل حقل بيانات واحد، مما يجعل عملية الفرز والجدولة مستحيلة دون معالجة مسبقة تعيد هيكلة المتغيرات بأسلوب منظم ومنضبط منهجياً.
تواجه المؤسسات البحثية والمحللون تحديات جمة عند التعامل مع البيانات غير المهيكلة؛ فالسلاسل النصية الطويلة تستهلك قدرات برمجية إضافية عند التصفية والفرز المباشر، وتعيق عمليات المطابقة والدمج بين الجداول المتعددة عبر المفاتيح الموحدة. من هنا تبرز ضرورة عزل المتغيرات وتفكيكها إلى وحدات ذرية بسيطة تحتل كل منها عموداً مستقلاً. هذا العزل الإجرائي لا يقتصر على تحسين التنظيم البصري للمستندات، بل يعد متطلباً مسبقاً قبل استيراد مجموعات البيانات إلى البرمجيات الإحصائية المتخصصة، حيث يتم تقييم الفروق وتحديد التفاعلات بين المتغيرات بدقة وثبات ومصداقية قياسية عالية.
علاوة على ذلك، تعد عمليات تنظيف البيانات النصية مرحلة تأسيسية لا غنى عنها قبل إخضاع السجلات لاختبارات التحقق التجريبية؛ فالتشوهات الطفيفة في المحارف أو الترتيب المكاني للألفاظ تؤدي إلى انحرافات معيارية في تقييم النتائج. ومن خلال بناء خوارزميات محكمة داخل إكسل لاقتطاع الرموز والمفردات المستهدفة بصورة آلية وموحدة، يستبعد الباحث التحيزات الإدراكية وأخطاء النقل البشري، مما يرسي قاعدة بيانات صلبة تضمن قابلية تكرار التجربة من قبل باحثين آخرين، وهو المعيار الأهم في إثبات الموثوقية العلمية للمشاريع المعرفية الحديثة.
1.2 البنية التركيبية للنصوص المحددة بفواصل ومسافات
ترتكز السلاسل النصية المركبة داخل جداول البيانات على مفهوم “المحددات النصية” (Delimiters)، وهي محارف قياسية متفق عليها وظيفتها الفصل الفزيائي والمنطقي بين القيم المستقلة داخل التدفق النصي المستمر. وتعد المسافة البيضاء القياسية، التي يتم توليدها عادة عبر الرمز الثنائي للأسكي برقم 32، المحدد الأكثر شيوعاً في صياغة الجمل الإنسانية وتفريغ المخرجات البرمجية البسيطة. ومن منظور بنيوي، يمكن النظر إلى الخلية النصية بوصفها مصفوفة أحادية البعد من المحارف المتتالية التي تكتسب معانيها من موقعها النسبي وترتيب المحددات الفاصلة بينها.
إن التشريح الطوبولوجي لسلسلة نصية تفصل بين كلماتها مسافات يقتضي النظر إليها كسلسلة من العقد والحواجز؛ فكل كلمة تشكل كتلة دلالية مغلقة، في حين تمثل كل مسافة بوابة انتقال تحدد بداية الكيان اللغوي التالي ونهاية سابقه. وعندما تتضمن الخلية سلسلة مثل “Study Group Alpha Results”، فإن استخراج النص المحصور بين المسافة الثانية والثالثة يعني حصر الملاحظة الحسابية بين الحاجز الثاني والحاجز الثالث لعزل الكلمة الثالثة وحدها، وتجريدها من أي ملحقات سابقة أو لاحقة قد تشوش على عملية المعالجة الإحصائية المستقلة.
ومع ذلك، تفرض الطبيعة التركيبية للمسافات تحديات خفية؛ فالمحرك الحسابي لبرنامج إكسل يقرأ المسافات البيضاء باعتبارها محارف قائمة بذاتها ذات وزن حوسبي مكافئ للأحرف الأبجدية والأرقام. وبالتالي، فإن أي مسافة زائدة ناتجة عن خلل في الطباعة أو مسافة متبوعة بمسافة أخرى تؤدي إلى إزاحة المواقع المفترضة للمحددات النصية، مما يربك الدوال التقليدية المبنية على إحداثيات ثابتة. إن الاستيعاب الدقيق لكيفية مسح إكسل للنص من البداية إلى النهاية هو المفتاح لتشييد صيغ معالجة دفاعية ومحكمة تستطيع التمييز بين المسافة كفاصل دلالي وبينها كخلل تنسيقي غير مرغوب فيه.
1.3 نظرة عامة على المعادلة المحورية: دمج TEXTBEFORE وTEXTAFTER
يمثل الدمج المتداخل بين الدوال النصية الحديثة قفزة نوعية في هندسة الصيغ الحسابية داخل إكسل؛ حيث تتخلى البيئة التطويرية عن التعقيد الهيكلي لصالح فلسفة التجريد المباشر عالي الكفاءة. وتعد المعادلة القياسية المعتمدة لعزل النص بين المسافة الثانية والثالثة والمتمثلة في الصيغة الحسابية =TEXTBEFORE(TEXTAFTER(A2, " ", 2), " ") نموذجاً ساطعاً لهذه الفلسفة الوظيفية؛ إذ تنجز ما كان يتطلب سابقاً معادلات تلتف عبر أسطر متعددة وتعتمد على محارف بديلة وحسابات إزاحة شديدة الحساسية والتعقيد.
تقوم هذه المعادلة المركبة على تقسيم المهمة إلى مرحلتين منطقيتين متكاملتين: المرحلة الأولى تتولاها دالة TEXTAFTER، حيث تكلف بمسح النص الموجود في الخلية المصدرية وتجاوز المسافة الأولى ثم الثانية بالكامل، لتقتطع وتمرر كل ما يلي المسافة الثانية إلى الذاكرة اللحظية للصيغة. وفي المرحلة الثانية، تتلقى دالة TEXTBEFORE هذا المخرج المقصوص وتبحث فيه عن أول مسافة تعترض طريقها (والتي كانت تمثل في الأصل المسافة الثالثة من النص الكلي) وتقتطع النص الواقع قبلها مباشرة، لتعزل بدقة فائقة الكلمة المستهدفة بمفردها.
يمثل هذا النمط الجديد تحولاً جذرياً عن ممارسات الحوسبة الكلاسيكية في إكسل، حيث يقلل الاعتماد على الدوال الفرعية لحساب أطوال النصوص ومواضع البداية والنهاية. وتتطلب هذه المنظومة الحديثة بيئة تشغيلية تدعم مصفوفات الدوال الديناميكية التي طرحتها شركة مايكروسوفت في اشتراكات Microsoft 365 وإصدار Excel 2024. ومن خلال الاعتماد على هذا البناء المنطقي البسيط، يصبح الكود البرمجي أكثر قابلية للقراءة والصيانة، وتنخفض معدلات الخطأ في النماذج التحليلية بنسب ملحوظة.
2. التشريح الوظيفي لدالة TEXTAFTER واستخدامها المتقدم
2.1 المفهوم الإجرائي لدالة TEXTAFTER ووسائطها الأساسية
تم تصميم دالة TEXTAFTER لتكون حلاً مباشراً ومتخصصاً في استخراج النصوص الفرعية الواقعة بعد محرف أو سلسلة نصية محددة. وتتألف البنية التركيبية القياسية لهذه الدالة من وسائط رئيسية ملزمة وأخرى اختيارية تمنح المستخدم تحكماً فائقاً في تدفق البيانات. فالوسيط الأول، المعروف باسم text، يمثل السلسلة النصية المصدرية المراد مسحها، وغالباً ما يكون مرجعاً لخلية محددة مثل A2، أو ناتجاً مصفوفياً مشتقاً من دالة أخرى. أما الوسيط الثاني، المسمى delimiter، فيحدد المحرف الفاصل الواجب رصده، والذي يتمثل في حالتنا هذه بالمسافة البيضاء المضمنة بين علامتي تنصيص (” “).
أما الوسيط الثالث البالغ الأهمية فهو instance_num، وهو وسيط عددي يحدد التكرار المستهدف للمحدد النصي. ومن خلال هذا المعامل، يتجاوز إكسل التقييد التقليدي بالاقتصار على المحدد الأول، مما يتيح التوجه مباشرة نحو الظهور الثاني أو الثالث دون الحاجة لتقنيات الاستبدال المعقدة. وبالإضافة إلى هذه الوسائط، توفر الدالة وسيط match_mode لتحديد حساسية حالة الأحرف عند استخدام محددات أبجدية، ووسيط match_end لمعاملة نهاية النص كمحدد افتراضي، فضلاً عن وسيط if_not_found لتفادي رسائل الأخطاء النظامية في حال عدم العثور على التكرار المطلوب.
2.2 تحديد موقع الظهور المستهدف لعزل المسافة الثانية
في سياق استخراج النص المحصور بين المسافة الثانية والثالثة، يبرز التوظيف الدقيق لوسيط التكرار instance_num بتمرير القيمة الرقمية الموجبة (2). فعندما تتلقى الدالة هذه القيمة، فإنها تبدأ مسح السلسلة النصية من أقصى اليسار إلى اليمين (أو العكس بحسب اتجاه القراءة ونوع المحارف)، متجاهلة الكلمة الأولى والمسافة التي تليها، ثم الكلمة الثانية والمسافة التي تتبعها. وبمجرد رصد موقع المسافة الثانية بدقة، تقوم الدالة باقتطاع السلسلة النصية بدءاً من المحرف الأول التالي للمسافة مباشرة، محتفظة بكافة المكونات المتبقية حتى نهاية السلسلة.
إن تتبع سلوك هذا المعامل يكشف عن كفاءة استثنائية في تقليص فضاء البحث الحسابي؛ فالناتج الذي تعيده دالة TEXTAFTER(A2, " ", 2) لم يعد النص الكامل الذي يحتوي على تعقيدات البداية، بل سلسلة مصغرة تبدأ بالضرورة بالكلمة الثالثة المطلوبة. والجدير بالذكر أن هذا الوسيط يتيح أيضاً إمكانية العد العكسي عبر تزويده بقيم سالبة (مثل -1 أو -2)، وهو سلوك متقدم يلجأ إليه الباحث عند معالجة السجلات النصية التي ترتكز محدداتها الثابتة على النهاية بدلاً من البداية، مما يمنح مرونة خوارزمية شاملة تلائم شتى سيناريوهات التدفق البياني.
2.3 الاستجابة الحسابية للدالة مع الأنماط النصية المتنوعة
تتميز دالة TEXTAFTER بقدرة تكيفية عالية عند التعامل مع السلاسل النصية ذات الأنماط الهيكلية المتباينة. فعندما تواجه نصوصاً متعددة الكلمات ومتباينة الأطوال بشكل عشوائي، تحتفظ الدالة باستقرارها الرياضي دون أن تتأثر بطول الكلمات السابقة أو اللاحقة، حيث يقتصر تركيز محرك البحث على تعداد المحارف الفاصلة المستهدفة فقط. حتى في الحالات التي تتضمن فيها النصوص أحرفاً خاصة، أو علامات ترقيم، أو أرقاماً مدمجة مع الحروف (كأن تحتوي الكلمة الأولى على أرقام أو فواصل فرعية)، تظل الدالة تعامل المسافة المحددة بصفتها نقطة الارتكاز الوحيدة للفصل.
ومع ذلك، ينبغي التمييز الدقيق بين النصوص النقية والنصوص الملوثة بمسافات خفية أو محارف بيضاء شاذة؛ فإذا احتوت السلسلة على مسافة مزدوجة غير مقصودة بين الكلمة الأولى والثانية، فإن الدالة ستعد تلك المسافة الزائدة بمثابة الظهور الثاني للمحدد النصي، مما يدفعها لاقتطاع الكلمة الثانية نفسها بدلاً من الكلمة الثالثة. إن فهم هذه الاستجابة الحسابية يؤكد أن دقة عمل الدوال النصية الحديثة مشروطة بنظافة المدخلات، مما يفرض ضرورة التثبت المسبق من اتساق المسافات قبل الاعتماد الأعمى على النتائج المستخلصة.
3. التشريح الوظيفي لدالة TEXTBEFORE وتكاملها المنطقي
3.1 الدور الوظيفي لدالة TEXTBEFORE في اقتطاع السلاسل
تعمل دالة TEXTBEFORE كمعادل عكسي مباشر لدالة TEXTAFTER؛ إذ يرتكز دورها الوظيفي على اقتناص واقتطاع كافة المحارف التي تقع قبل محدد نصي معين داخل السلسلة المدخلة. وتتشابه وسائطها الهيكلية بشكل متطابق مع شقيقتها، حيث تستقبل النص الأصلي أو المشتق في الوسيط text، متبوعاً بالمحدد المرصود في الوسيط delimiter، مع إمكانية تحديد رقم الظهور وحساسية المطابقة عبر الوسائط الاختيارية الأخرى.
في الاستخدامات الفردية، تُستخدم TEXTBEFORE لاقتطاع المقاطع الأولى من النصوص، كالاسم الأول أو البادئات الرمزية في المعرفات. ولكن قيمتها التحليلية تتضاعف بصورة هائلة عندما تُستخدم كأداة تشذيب نهائية تستقبل مخرجات الدوال الوسيطة الأخرى. وبالاعتماد على سلوكها الافتراضي، فإنها تلتقط النص الواقع قبل التكرار الأول للمحدد المطلوب، وهو ما يشكل الأساس المنطقي لاحتجاز الكلمة الواحدة المعزولة ومنع أي بيانات تالية من التسرب إلى حقل المخرجات النهائي.
3.2 آلية عمل الدالة عند تطبيقها على ناتج دالة TEXTAFTER
عند دمج الدالتين في صيغة واحدة متداخلة، يحدث تكامل منطقي شديد الإحكام بين العمليتين الحسابيتين. فالصيغة تبدأ بتنفيذ النواة الداخلية TEXTAFTER(A2, " ", 2)، والتي تسفر عن نص مجتزأ يبدأ بالحرف الأول من الكلمة الثالثة الأصلية، ويليه باقي الجملة بما في ذلك المسافة الثالثة وما بعدها. هذا النص المجتزأ يدخل مباشرة ودون الحاجة لتخزينه في خلية مساعدة كوسيط أولي للدالة الخارجية TEXTBEFORE.
هنا تبدأ دالة TEXTBEFORE دورها التقييدي؛ حيث تطلب منها الصيغة البحث عن المسافة الأولى في هذا النص المجتزأ عبر الوسيط " ". وبما أن المسافة الأولى في السلسلة الجديدة هي نفسها المسافة الثالثة في السلسلة الكلية الأصلية، فإن TEXTBEFORE تقوم باقتطاع النص الواقع قبل هذه المسافة مباشرة وتستبعد كل ما يقع بعدها. المحصلة الحسابية المباشرة لهذه العملية هي عزل الكلمة المحصورة تماماً بين المسافة الثانية والمسافة الثالثة بنقاء كامل وخلو مطلق من أي شوائب نصية محيطة.

3.3 إدارة المعاملات الاختيارية لدقة عزل النصوص
تتجلى مرونة دالة TEXTBEFORE عند مواجهة السلاسل النصية التي تفتقر إلى الاكتمال الهيكلي، مثل السجلات التي تحتوي على مسافتين فقط وتنتهي السلسلة بنهاية الكلمة الثالثة دون وجود مسافة ثالثة تليها. في مثل هذه الحالات الافتراضية، ستفشل الدالة في العثور على المسافة المحددة وتُرجع خطأ في المعالجة. ومن خلال الضبط المتقدم للمعامل الاختياري match_end وتعيينه على القيمة 1، تكتسب الدالة سلوكاً دفاعياً يجعلها تعامل نهاية النص نفسه كما لو كانت مسافة فاصلة، مما يمكنها من استخراج الكلمة الثالثة بنجاح حتى لو كانت تمثل الكلمة الأخيرة في السلسلة.
علاوة على ذلك، يتيح استخدام وسيط if_not_found تزويد الدالة بقيمة بديلة افتراضية (مثل قيمة فارغة "" أو تنبيه نصي مخصص) يتم إرجاعها عند تعذر استيفاء شروط الاقتطاع. هذا الضبط الدقيق للمعاملات يعزز مناعة الصيغة الحسابية تجاه التباينات النصية، ويمنع انهيار النماذج التحليلية عند معالجة آلاف السجلات دفعة واحدة، مما يوفر بيئة استخراج نصوص آمنة ومتسقة إحصائياً.
4. الدليل التطبيقي خطوة بخطوة لاستخراج النص
4.1 إعداد جدول البيانات والبيئة الحسابية
تبدأ الممارسة التحليلية السليمة بتهيئة بيئة العمل وجدولة البيانات الأولية بأسلوب يخضع لمعايير الضبط المنهجي. يجب وضع البيانات النصية الخام في عمود مخصص، وليكن العمود A، مع التأكد من أن كل صف يمثل سجلاً تحليلياً مستقلاً يبدأ من الخلية A2 فما دون، مع حجز الصف الأول لعناوين الأعمدة الواضحة مثل “السلسلة النصية الخام”. وتقتضي الحيطة المنهجية تخصيص العمود المجاور مباشرة (العمود B) لاستقبال المخرجات المعزولة، وتسميته باسم وصفي دقيق مثل “المتغير المستخرج” أو “الرمز الثالث”.
من الضروري في هذه المرحلة فحص التنسيق العام للخلايا وضبطه بصيغة “نص” (Text) أو “عام” (General) لتفادي أي تحويلات تلقائية غير مرغوب فيها، ولا سيما إذا كانت الكلمات المستهدفة تتألف من أرقام مجردة أو رموز مسبوقة بأصفار. كما يتعين على المحلل في المقام الأول التحقق من توافق نسخة إكسل المشغلة مع البيئة الديناميكية؛ فالدوال المستخدمة تشترط توفر إصدار Microsoft 365 أو Excel 2024، حيث يمكن التثبت من ذلك عبر مراجعة قائمة “الحساب” داخل واجهة إكسل للتأكد من دعم البرنامج لتلك الدوال المتطورة.
4.2 كتابة الصيغة المركبة واختبارها على خلية مفردة
عقب إتمام التهيئة البيئية، يتم الانتقال إلى الخلية B2 لبناء الصيغة واختبار كفاءتها الإجرائية بصورة منفردة. يقوم المستخدم بكتابة الصيغة المركبة بالدقة الآتية: =TEXTBEFORE(TEXTAFTER(A2, " ", 2), " "). يجب الانتباه هنا إلى نوع الفواصل المستخدمة بين وسائط الدوال؛ فبناءً على الإعدادات الإقليمية لنظام التشغيل، قد يتطلب الأمر استخدام الفاصلة المنقوطة (;) بدلاً من الفاصلة العادية (,) للفصل بين الوسائط البرمجية، وهو خطأ تركيبي شائع يتسبب في ظهور تنبيهات الخطأ في بناء الجملة.
بمجرد الضغط على مفتاح الإدخال، ينبغي إجراء فحص بصري دقيق لمطابقة القيمة المرتجعة في الخلية B2 مع محتوى الخلية A2؛ للتأكد من أن النص المستخرج يمثل بالضبط الكلمة الثالثة المحصورة بين المسافتين المذكورتين. ولتعميق الفهم التشغيلي، يستحسن استخدام أداة “تقييم الصيغة” (Evaluate Formula) المتاحة في علامة التبويب “صيغ” (Formulas)؛ إذ تتيح هذه الأداة للمحلل مراقبة خطوات التنفيذ في الذاكرة الحسابية خطوة بخطوة، ورؤية ناتج TEXTAFTER الداخلي لحظياً قبل اختزاله بالدالة الخارجية، مما يمنح تأكيداً قاطعاً على سلامة المنطق الرياضي المستخدم.
4.3 تعميم الصيغة عبر السجلات واستخدام المصفوفات الديناميكية
بعد نجاح التجربة على الخلية الفردية، تتسع العملية لتشمل كافة السجلات المتبقية في قاعدة البيانات. في بيئة العمل التقليدية، يمكن تحقيق ذلك عبر النقر المزدوج على مقبض التعبئة التلقائية (AutoFill) في الزاوية السفلية للخلية B2 لسحب الصيغة على امتداد النطاق. إلا أن النهج الأكثر حداثة واحترافية يتمثل في استغلال سلوك “الانسكاب الديناميكي” (Dynamic Spill)؛ حيث يمكن كتابة الصيغة بتمرير نطاق كامل في وسيط النص مثل: =TEXTBEFORE(TEXTAFTER(A2:A1000, " ", 2), " ")، مما يؤدي إلى توليد النتائج لجميع الصفوف دفعة واحدة من خلال معادلة واحدة تقبع في الخلية الأولى فقط.
علاوة على ذلك، يمثل تحويل النطاق النصي إلى “جدول إكسل مهيكل” (Excel Table) عبر الاختصار (Ctrl + T) ممارسة فضلى بالغة الفعالية؛ إذ يتيح استخدام “المراجع المهيكلة” (Structured References) بدلاً من مراجع الخلايا الجامدة. فتصبح المعادلة بالهيئة التعبيرية: =TEXTBEFORE(TEXTAFTER([@RawText], " ", 2), " "). وتتميز هذه الطريقة بالتوسع التلقائي للصيغة الحسابية كلما تم إدراج صفوف جديدة في قاعدة البيانات، مع رفع مقروئية الكود للباحثين والمدققين المستقلين بدرجة ملحوظة.
5. التحليل النظري لمراحل تنفيذ الصيغة المركبة في الذاكرة
5.1 المرحلة الأولى: تقليص السلسلة بواسطة TEXTAFTER
لفهم الآلية التي يدير بها معالج إكسل هذه العملية، يجب تفكيك المسار التنفيذي داخل الذاكرة العشوائية للحاسوب. تبدأ المرحلة الأولى عندما يستدعي المحرك الحسابي الدالة الداخلية TEXTAFTER؛ حيث يقوم بتحميل السلسلة النصية المخزنة في الخلية A2 في مساحة عمل مؤقتة. يبدأ خوارزم المسح بقراءة بايتات المحارف بالتتابع لحساب عدد مرات ظهور محرف المسافة المحدد. يتم تجاهل المحارف التي تشكل الكلمة الأولى بالكامل، ثم يتم تسجيل المرور الأول للمسافة، وتكرر العملية مع الكلمة الثانية حتى الوصول الدقيق إلى المسافة المستهدفة رقم (2).
عند هذه النقطة الحرجة، يتخذ المعالج قرار الاقتطاع؛ حيث يتم تحرير المؤشر المرجعي للذاكرة من كافة المحارف السابقة، بما في ذلك الكلمتان الأولى والثانية والمسافتان الفاصلتان، وإسقاطها من الحسابات اللحظية. ثم يقوم الخوارزم بنسخ الجزء المتبقي من السلسلة—الذي يبدأ من أول حرف في الكلمة الثالثة ويمتد إلى نهاية السلسلة الأصلية—ليشكل كائناً نصياً فرعياً مستقلاً يتم تسليمه مباشرة للدالة الأب التي تنتظر استلام المدخلات في مكدس العمليات الحسابية.
5.2 المرحلة الثانية: التقاط المقطع النهائي بواسطة TEXTBEFORE
تستلم دالة TEXTBEFORE الكائن النصي المشتق من المرحلة الأولى دون أن يكون لديها أي إدراك لما كان يحتويه النص الأصلي قبل المسافة الثانية. بالنسبة لهذه الدالة، فإن السلسلة النصية تبدأ بالكلمة المطلوبة مباشرة. تبدأ الدالة على الفور خوارزمية المسح الخاصة بها بحثاً عن المعامل المحدد وهو المسافة البيضاء " ". ونظراً لعدم تحديد رقم الظهور في هذه الدالة، فإنها تضبط مؤشرها تلقائياً على الظهور الأول (Instance 1).
يمر المؤشر على حروف الكلمة المستهدفة واحداً تلو الآخر حتى يصطدم بأول مسافة تعترضه. في تلك اللحظة بالذات، يوقف المعالج عملية المسح ويقوم بنسخ كافة المحارف الواقعة على يسار (أو يمين بحسب اللغة) المؤشر من موقع البداية حتى حدود المسافة المرصودة. يتم التخلص الفوري من باقي السلسلة التي تلي تلك المسافة، ويتم إرجاع النص المتبقي—وهو الكلمة المستهدفة الصافية—وتفريغه كقيمة نصية مستقلة في الخلية المطلوبة، لتكتمل الدورة الحسابية في أجزاء ضئيلة جداً من الميلي ثانية.
5.3 تقييم الكفاءة الحسابية واستهلاك الموارد
من منظور هندسة البرمجيات وأداء الحوسبة، تمثل الصيغة =TEXTBEFORE(TEXTAFTER(...)) تحسيناً جوهرياً مقارنة بالحلول الرياضية القديمة. فالدوال النصية الحديثة كُتبت في النواة البرمجية لبرنامج إكسل بلغة C++ عالية التحسين، وتم تزويدها بخوارزميات مسح سريعة تتجنب تكرار قراءة النصوص في الذاكرة. وبخلاف الدوال الكلاسيكية التي كانت تفرض حساب أطوال النصوص ومواضعها النسبية عبر استدعاءات متعددة لنفس الخلية، فإن هذا الدمج يقلل من الدورات المعالجة المطلوبة لإتمام الاقتطاع.
ينعكس هذا التحسين الإجرائي بصورة حاسمة عند التعامل مع قواعد البيانات الضخمة التي تحتوي على مئات الآلاف من الصفوف السلوكية أو المعاملات المالية. إن تقليص البصمة الحسابية يحافظ على استقرار البرنامج، ويحول دون تجمد واجهة المستخدم أثناء عمليات إعادة الحساب التلقائي (Calculation Recalculation). كما يساهم في تقليل البصمة الكربونية لاستهلاك الطاقة في الخوادم السحابية والمحطات البحثية، مما يجعلها الخيار الهندسي الأمثل لمعالجة البيانات الضخمة داخل بيئة الجداول الحسابية المعاصرة.
6. البدائل الكلاسيكية في الإصدارات القديمة من إكسل
6.1 استخدام مصفوفة الدوال: MID و FIND و SUBSTITUTE
قبل إطلاق الدوال النصية الحديثة في عام 2022، كان مستخدمو الإصدارات الكلاسيكية من إكسل يواجهون تحدياً حسابياً بالغ التعقيد لعزل نص محصور بين مسافتين. اعتمد الحل الأكاديمي القياسي حينها على توليفة متداخلة من دوال MID وFIND وSUBSTITUTE. تكمن الفلسفة الميكانيكية لهذا النهج في توظيف دالة SUBSTITUTE لاستبدال المسافة الثانية برمز فريد غير قابل للطباعة ونادر الاستخدام مثل CHAR(1)، ثم استخدامها مرة أخرى في تعبير منفصل لاستبدال المسافة الثالثة برمز مماثل، لتوفير معالم يمكن رصدها حسابياً.
تتم بعد ذلك الاستعانة بدالة FIND لتحديد الموقع الرقمي الدقيق لمحرف المسافة الثانية، وتحديد موقع المسافة الثالثة بنفس الطريقة. وأخيراً، يتم إقحام هذه الإحداثيات داخل دالة MID، التي تتطلب تحديد موضع البداية (موقع المسافة الثانية + 1) وتحديد عدد المحارف المراد اقتطاعها (الفرق بين موقع المسافة الثالثة وموقع المسافة الثانية – 1). الصيغة الناتجة تتخذ هيئة معقدة تصعب قراءتها وصيانتها وتفتح الباب واسعاً أمام الأخطاء الطباعية وفقدان المحارف:
=MID(A1, FIND(CHAR(1), SUBSTITUTE(A1, " ", CHAR(1), 2)) + 1, FIND(CHAR(1), SUBSTITUTE(A1, " ", CHAR(1), 3)) - FIND(CHAR(1), SUBSTITUTE(A1, " ", CHAR(1), 2)) - 1)
6.2 تقنية الحشو بالمسافات واستخدام دالتي REPT و TRIM
للالتفاف على التعقيد الرياضي البالغ لمعادلة MID وFIND المركبة، ابتكر خبراء إكسل تقنية هندسية ذكية عُرفت تاريخياً باسم “تقنية التضخيم والحشو بالمسافات” (Space-Padding Technique). ترتكز هذه الحيلة على استبدال كل مسافة مفردة في النص المصدر بعدد ضخم من المسافات يعادل الطول الكلي للسلسلة النصية الأصلية باستخدام المعادلة SUBSTITUTE(A1, " ", REPT(" ", LEN(A1))). هذا الإجراء يؤدي إلى تباعد الكلمات بمساحات شاسعة جداً تفصل بين كل كلمة وأخرى بمئات الفراغات البيضاء.
عقب هذه الخطوة التوسيعية، يتم استخدام دالة MID للانقضاض مباشرة على الموضع التقريبي للكلمة الثالثة؛ حيث يتم تحديد نقطة البداية عبر ضرب طول السلسلة في الترتيب المستهدف، واقتطاع شريحة بيانات ضخمة تضمن حتماً احتواء الكلمة الثالثة بكامل حروفها ولكنها محاطة بآلاف المسافات الزائدة من الطرفين. وفي المرحلة الختامية، تتدخل دالة TRIM لتقوم بكنس واختزال كافة المسافات البيضاء الفائضة، لتعيد الكلمة المستهدفة نقية ومجردة:
=TRIM(MID(SUBSTITUTE(A1, " ", REPT(" ", LEN(A1))), 2 * LEN(A1) + 1, LEN(A1)))
وعلى الرغم من عبقرية هذه الحيلة، إلا أنها تظل عرضة للفشل إذا كانت السلسلة النصية الأصلية طويلة جداً بما يتجاوز حدود التخزين في الذاكرة المخصصة للدالة، مما قد يؤدي إلى تشويه المحارف واقتطاع أجزاء من الكلمات المستهدفة دون تنبيه صريح.
6.3 مقارنة منهجية بين الدوال الحديثة والحلول الكلاسيكية
تبرز المقارنة الهندسية والتحليلية تفوقاً كاسحاً للمنظومة الحديثة على البدائل التراثية من حيث سهولة القراءة، وسرعة الصيانة، والأداء الحسابي الكلي. إن اعتماد الصيغ الكلاسيكية يفرض عبئاً إدراكياً ثقيلاً على المحلل، ويجعل من تصحيح الأخطاء مهمة بالغة الهدر للوقت. ويوضح الجدول المنهجي التالي أبرز الفروق الجوهرية بين الأساليب المختلفة لمعالجة هذه المسألة داخل مصنفات إكسل:
| معيار المقارنة | الصيغة الحديثة (TEXTBEFORE / TEXTAFTER) | حيلة الحشو (TRIM / MID / REPT) | الإحداثيات الحرفية (MID / FIND / SUBSTITUTE) |
|---|---|---|---|
| سهولة القراءة والفهم | عالية جداً؛ تعتمد منطقاً لغوياً واضحاً ومباشراً | متوسطة؛ تعتمد منطقاً تحويلياً غير مألوف | شديدة التعقيد؛ صعوبة بالغة في فك شفرة الصيغة |
| الأداء وسرعة الحساب | فائقة؛ محسنة بلغة برمجية منخفضة المستوى في النواة | متوسطة؛ تولد سلاسل ضخمة تهدر الذاكرة المؤقتة | منخفضة؛ استدعاءات متكررة لحساب الأطوال ومسح النص |
| التوافقية التاريخية | تتطلب Microsoft 365 أو Excel 2024 | متوافقة مع كافة إصدارات إكسل القديمة (2003 فما فوق) | متوافقة مع كافة الإصدارات التاريخية |
| احتمالية الأخطاء غير المرئية | شبه معدومة؛ ترجع أخطاء واضحة عند فقدان الشرط | محتملة عند تجاوز النصوص لأطوال معينة | عالية عند ارتكاب خطأ في جمع إحداثيات الإزاحة (+1/-1) |
بناءً على هذه المعطيات، توصي المعايير البرمجية الحديثة للمؤسسات بالانتقال التدريجي لترقية بيئات العمل إلى النسخ الداعمة لمصفوفات الدوال الديناميكية، مع قصر استخدام الحلول الكلاسيكية على ملفات الأرشيف ومصنفات التوافق الخارجي التي تفرضها أجهزة طرفية غير قابلة للتحديث السريع.
7. معالجة الأخطاء وحالات الشذوذ في البيانات النصية
7.1 التعامل مع النصوص التي تحتوي على أقل من ثلاث مسافات
من المخاطر المنهجية الجسيمة في معالجة البيانات النصية الافتراض المسبق بأن كافة السجلات المجمعة تتوافق مع المعايير الهيكلية المثالية. فعند تطبيق الصيغة القياسية =TEXTBEFORE(TEXTAFTER(A2, " ", 2), " ") على خلية تحتوي على كلمتين فقط أو كلمة واحدة (أي تتضمن مسافة واحدة أو تخلو من المسافات كلياً)، يفشل الخوارزم الحسابي في تلبية شرط البحث عن المسافة الثانية. وتكون النتيجة الحتمية انهيار الصيغة وإرجاع رمز الخطأ الشهير #N/A أو #VALUE! بحسب البيئة التشغيلية وسياق المعالجة.
لتجنب هذا العطل البرمجي الذي يشوه مظهر التقارير التحليلية، توفر الدوال الحديثة حلاً مدمجاً فائق النقاء دون الحاجة إلى دوال إضافية، وذلك عبر توظيف وسيط if_not_found المتاح داخل دالتي TEXTAFTER وTEXTBEFORE. فعلى سبيل المثال، يمكن تعديل الشق الداخلي للصيغة ليصبح: TEXTAFTER(A2, " ", 2, , , ""). هذا التعديل يوجه المعالج إلى إعادة سلسلة نصية فارغة عوضاً عن تفجير رسالة الخطأ إذا عجز عن رصد المسافة الثانية، مما يضمن تدفقاً سلساً وتعاملاً مرناً مع السجلات الشاذة وغير المكتملة.
7.2 تحصين الصيغة باستخدام دالتي IFERROR و IFNA
على الرغم من فاعلية الوسائط المدمجة، إلا أن الممارسات الاحترافية في بناء لوحات البيانات والتقارير العلمية تفضل التحصين الشامل والمحيط بالصيغة عبر دمجها داخل دالتي التحقق المنطقي IFERROR أو IFNA. تتميز دالة IFNA بقدرتها على اصطياد أخطاء الفقدان المحددة الناتجة عن عدم العثور على المحدد النصي مع تمرير الأخطاء البرمجية الأخرى الناتجة عن التسميات الخاطئة، مما يساعد المحلل على التشخيص الدقيق لطبيعة المشكلة دون تعتيم غير مقصود على أعطال النظام.
يمكن بناء الصيغة المحصنة بالهيئة التالية: =IFNA(TEXTBEFORE(TEXTAFTER(A2, " ", 2), " "), "سجل غير مستوفٍ"). إن توفير رسالة نصية تفسيرية مثل “سجل غير مستوفٍ” أو “بيانات ناقصة” بدلاً من ترك الخلية فارغة تماماً يمثل خطوة أساسية في ضبط الجودة الإحصائية؛ إذ يسمح هذا التمييز للمدققين بعزل السجلات المعيبة لاحقاً بنقرة زر واحدة عبر ميزة التصفية، والتثبت مما إذا كان النقص ناتجاً عن خلل في إدخال بيانات المشارك، أم أنه يعكس انقطاعاً حقيقياً في تدفق القياس يستوجب المعالجة الإجرائية الخاصة.
7.3 معالجة المسافات المتعددة المتتالية والمسافات البادئة
تشكل المسافات غير المنتظمة أحد أكثر الملوثات الخفية خطورة في قواعد البيانات النصية. ففي كثير من الأحيان، يقوم المدخل البشري بالضغط على مفتاح المسافة مرتين متتاليتين بالخطأ بين الكلمات، أو قد تحتوي السلسلة على مسافات بادئة في بداية السطر أو مسافات لاحقة في نهايته. تؤدي هذه الفراغات المزدوجة إلى اختلال كارثي في ترقيم المسافات؛ حيث تصبح المسافة الزائدة هي “المسافة الثانية”، مما يقود الدالة لاقتطاع الكلمة الثانية نفسها بدلاً من الكلمة الثالثة، مسبباً تلوثاً صامتاً في البيانات المستخرجة يصعب رصده بالعين المجردة.
لتشييد صيغة دفاعية متكاملة تصمد أمام هذه التشوهات، يجب دمج دالة TRIM في صميم المعالجة قبل تمرير السلسلة إلى دوال الاقتطاع. تقوم دالة TRIM بمسح كافة المسافات البادئة واللاحقة، واختزال أي مسافات مزدوجة أو متعددة بين الكلمات إلى مسافة قياسية مفردة واحدة. وبالتالي تصبح الصيغة الدفاعية المحكمة: =TEXTBEFORE(TEXTAFTER(TRIM(A2), " ", 2), " ").
وعلاوة على ذلك، عند استيراد البيانات من متصفحات الويب أو قواعد البيانات السحابية، تظهر مشكلة “المسافة غير القابلة للكسر” المعروفة برمز الأسكي 160 أو في نصوص HTML. هذه المسافة لا تستطيع دالة TRIM العادية تنظيفها لأنها تعاملها كمحرف غير المسافة 32 القياسية. في مثل هذه البيئات المعقدة، يتم إلحاق دالة SUBSTITUTE لاستبدال المحرف 160 بمسافة عادية أولاً عبر الصيغة SUBSTITUTE(A2, CHAR(160), " ") قبل إمرارها لدالة TRIM، لبناء سد منيع ضد أي اختراق تشويهي محتمل للبيانات.
8. تطبيقات متقدمة في أبحاث العلوم الإنسانية والنفسية
8.1 استخراج معرفات المشاركين ورموز المتغيرات التجريبية
في تصاميم البحوث النفسية والاجتماعية المتقدمة، تلجأ مختبرات القياس إلى استخدام سلاسل ترميز موحدة ومضغوطة لتعريف ملفات السجلات الخام الصادرة عن منصات القياس المحوسبة. فغالباً ما يتكون اسم الملف أو السجل النصي المستورد من تركيبة نمطية مفصولة بمسافات تعبر عن محاور التجربة، مثل: "Exp2 CohortB Subj104 PostTest". في هذا النمط، يحمل المقطع الثالث المشفر بالرمز “Subj104” الرقم التعريفي الأهم للمشارك، والذي يقع بدقة متناهية بين المسافة الثانية والثالثة من السلسلة الإجمالية.
إن تطبيق الصيغة المعيارية =TEXTBEFORE(TEXTAFTER(A2, " ", 2), " ") يسمح للمشرفين على الأبحاث بعزل هذه المعرفات آلياً وبأقصى سرعة ممكنة عبر آلاف العينات دون الحاجة إلى تفكيك البيانات يدوياً، مما يلغي خطأ النسخ واللصق البشري الذي قد يخلط بين بيانات عينة وأخرى. كما يسهل هذا العزل الفوري للمعرفات عمليات الدمج والربط اللاحقة مع ملفات التحليل المتقاطع في برمجيات التحليل الإحصائي، ويدعم الامتثال لمعايير السرية وأخلاقيات البحث العلمي عبر فصل معرّف المشارك عن نتائجه التفصيلية بأسلوب مشفر ومنضبط إجرائياً.
8.2 تفكيك سلاسل استجابات الاختبارات النفسية والقياس السلوكي
تنتج مهام القياس النفسي العصبي المحوسبة—مثل اختبارات قياس زمن الرجع، ومهمات الانتباه المستمر، والوظائف التنفيذية كاختبارات ستروب (Stroop Task)—ملفات نصية مدمجة تفرغ استجابات كل محاولة في سطر واحد مفصول بمسافات. قد يحتوي السجل النموذجي للمحاولة على عناصر مرتبة مثل: “رقم المحاولة، نوع المثير، زمن الاستجابة بالميلي ثانية، وصحة الاستجابة”. فعلى سبيل المثال، سلسلة مثل: "Trial12 Incongruent 458 Correct" تتطلب عزل زمن الرجع (458) حصرياً لمعالجة سرعة الاستجابة الإدراكية.
باستخدام آلية الاستخراج المتموضعة بين المسافة الثانية والثالثة، يقتنص الباحث هذا المتغير الرقمي الحاسم بدقة بالغة. ومن خلال إدراج الدالة الحسابية داخل دالة VALUE أو إسباقها بمعامل رياضي أولي (مثل إضافة الصفر أو استخدام السالب المزدوج --)، يتم تحويل النص المستخرج فورياً إلى قيمة عددية قابلة للقياس الإحصائي، مما يسرع عملية احتساب المتوسطات الحسابية والانحرافات المعيارية لمحاولات كل مفحوص بدقة وموثوقية بالغة الكفاءة.
8.3 تحليل المحتوى وفرز الكلمات المفتاحية في الاستجابات المفتوحة
في الدراسات النفسية الكيفية والمختلطة التي تستند إلى تفريغ نصوص المقابلات العيادية أو بروتوكولات التفكير بصوت عالٍ، يواجه الباحث تحدي معالجة العبارات النمطية المفرغة آلياً من مسجلات الصوت. وفي بعض بروتوكولات الفحص، تتم جدولة الملاحظات بنمط مقنن يبدأ بتحديد نوع المقابلة، وحالة المريض، ثم المفهوم المحوري المستهدف في التشخيص، يليه سياق الملاحظة السريرية.
يساعد العزل الآلي للكلمة الثالثة الباحثين في فرز وتصنيف المفردات المحورية ومطابقتها مع قواميس تحليل المحتوى، كخطوة تحضيرية أولية لتقنيات التعدين النصي واستخراج السمات الوجدانية (Sentiment Analysis). هذا الفرز النصي المنضبط يتيح تتبع تكرارات الكلمات الدلالية عبر الحالات المختلفة، ويوفر أرضية تجريبية صلبة للانتقال من الوصف اللغوي المفتوح إلى القياس الكمي الممنهج لظواهر السلوك البشري.
9. أتمتة العملية وتوسيع نطاقها باستخدام الأدوات التكميلية
9.1 استخدام Power Query كبديل غير قائم على المعادلات
عندما تتجاوز متطلبات المعالجة حدود المستندات اليومية البسيطة لتتحول إلى عمليات تدفق بياني ضخمة ومتكررة، تبرز أداة Power Query بوصفها الخيار المؤسسي الأكثر متانة وكفاءة. تتيح هذه الأداة المدمجة في إكسل استيراد البيانات وتحويلها عبر واجهة مرئية تسجل كافة خطوات التحويل البرمجي بلغة M دون الحاجة لكتابة معادلات معقدة داخل خلايا الجدول، مما يحرر واجهة المصنف من أثقال الحسابات الحية المتكررة.
لتطبيق استخراج النص بين المسافة الثانية والثالثة عبر Power Query، يقوم المستخدم بتحديد عمود البيانات الخام واختيار أمر “تقسيم العمود” (Split Column) باستخدام خيار “حسب المحدد” (By Delimiter). يتم اختيار المسافة كمحدد رئيسي، ثم الانتقال إلى الخيارات المتقدمة لتحديد عدد مرات التقسيم بدقة. والأكثر احترافية هو استخدام عمود شرطي مخصص أو سطر كود بسيط بلغة M يعتمد على الدالة Text.Split، لاستخراج العنصر الثالث من القائمة المصفوفية المفككة. وتتميز هذه الطريقة بأنها تنشئ مسار تحويل دائم يتحدث تلقائياً بمجرد النقر على “تحديث” (Refresh) كلما أضيفت سجلات جديدة في الملف المصدري.
9.2 برمجة دالة مخصصة باستخدام VBA لحالات المعالجة المعقدة
في البيئات المؤسسية القديمة التي تفتقر إلى دعم Microsoft 365 وتحظر في الوقت ذاته استخدام مصفوفات الدوال الكلاسيكية المعقدة بسبب صعوبة مراجعتها، يمثل استخدام لغة البرمجة المدمجة VBA (Visual Basic for Applications) حلاً برمجياً كلاسيكياً عالي الفاعلية. يتيح محرر الأكواد إنشاء “دالة معرفة من قبل المستخدم” (User Defined Function – UDF) تستقبل السلسلة النصية وتقتطع الكلمة المطلوبة في ثنايا الذاكرة باستخدام أدوات اللغة التجريدية المتقدمة.
يمكن للمطور كتابة كود مقتضب يعتمد على دالة Split النصية المدمجة في VBA، والتي تقوم بتفكيك السلسلة النصية إلى مصفوفة صفرية الفهرس اعتماداً على محرف المسافة، ليعيد الكود العنصر ذا الفهرس رقم (2) الذي يمثل منطقياً الكلمة الثالثة. يتضح هذا الإجراء من خلال الكود التوضيحي التالي:
Function ExtractBetweenSecondAndThirdSpace(TargetCell As Range) As String
Dim Words() As String
If TargetCell.Value = "" Then Exit Function
' تنظيف السلسلة واختزال المسافات الزائدة
Words = Split(Application.WorksheetFunction.Trim(TargetCell.Value), " ")
' التحقق من احتواء النص على ثلاث كلمات على الأقل
If UBound(Words) >= 2 Then
ExtractBetweenSecondAndThirdSpace = Words(2)
Else
ExtractBetweenSecondAndThirdSpace = ""
End If
End Function
يتطلب استخدام هذا النهج حفظ المصنف البرمجي بصيغة تدعم وحدات الماكرو ذات الامتداد .xlsm، مع مراعاة إرشادات الأمان المعتمدة لتشغيل الأكواد، مما يمنح حلاً أنيقاً يعيد اختزال تعقيد العملية إلى مجرد استدعاء دالة بسيطة بالاسم: =ExtractBetweenSecondAndThirdSpace(A2) داخل أي خلية في المصنف.
9.3 بناء دوال مخصصة قابلة لإعادة الاستخدام عبر LAMBDA
يمثل ظهور دالة LAMBDA في البيئات الحديثة لبرنامج إكسل ذروة التطور البرمجي في صياغة المعادلات؛ حيث تسمح للمستخدمين ببناء دوال مخصصة وحصرية بالاعتماد الكامل على محرك الصيغ القياسي ودون الحاجة للدخول إلى بيئة VBA أو تعريض المصنف لتحذيرات الأمان الخاصة بملفات الماكرو. تتيح هذه التقنية تغليف معادلة TEXTBEFORE وTEXTAFTER المركبة داخل كيان دالي يحمل اسماً سهلاً وقابلاً لإعادة الاستخدام عبر كامل صفحات المصنف.
لبناء هذه الدالة، يتم التوجه إلى “مدير الأسماء” (Name Manager) تحت تبويب صيغ، وإنشاء اسم جديد وليكن EXTRACT_THIRD_WORD، ثم كتابة الصيغة التالية في خانة المرجع:
=LAMBDA(input_text, TEXTBEFORE(TEXTAFTER(TRIM(input_text), " ", 2), " "))
عقب حفظ هذه التسمية، يتحول هذا التركيب إلى دالة قياسية يتعرف عليها إكسل تلقائياً مع ميزة الإكمال التلقائي، فيكفي المحلل في أي خلية كتابة: =EXTRACT_THIRD_WORD(A2) لتحقيق النتيجة ذاتها. يساهم هذا الأسلوب المعياري في توحيد السياسات البرمجية داخل فرق العمل البحثية، ويقضي نهائياً على أخطاء النقل والطباعة، ويجعل المستندات غاية في الأناقة والقابلية للمراجعة والتدقيق الخارجي.
10. أفضل الممارسات المنهجية وضمان سلامة البيانات
10.1 إجراءات التحقق من صحة البيانات (Data Validation) والتطابق
تستدعي النزاهة المنهجية في إدارة المستندات الحسابية إرساء بروتوكولات رقابية صارمة للتحقق من سلامة المخرجات المعزولة والتأكد من مطابقتها التامة للواقع التحليلي. من أولى هذه الإجراءات بناء أعمدة تدقيق متوازية لاختبار الفروض النصية؛ حيث يمكن استحداث عمود لفحص التعداد الإجمالي للمسافات داخل كل خلية باستخدام معادلة قياس الفارق في الطول: =LEN(A2) - LEN(SUBSTITUTE(A2, " ", "")). فإذا كان الناتج أقل من الرقم 2، يعلم النظام تلقائياً بأن السجل لا يحتوي على الحد الأدنى من المحددات اللازمة لإنجاح الاقتطاع.
إضافة إلى ذلك، ينبغي الاستعانة بدالة الفحص المنطقي المزدوج EXACT للتحقق من تطابق السلاسل النصية المستخرجة وتأكيد خلوها من أي محارف تحكم غير مرئية أو مسافات طرفية قد تسللت خلسة عبر عمليات الاستيراد. يتم أيضاً تطبيق قواعد “التحقق من صحة البيانات” (Data Validation) لمنع إدخال سلاسل غير مطابقة للمعايير الهيكلية المعيارية مسبقاً في حقول الإدخال، مما يغلق دائرة الأخطاء في مهدها ويرسخ موثوقية التحليلات التجريبية القائمة عليها.
10.2 تحويل الصيغ إلى قيم ثابتة لضمان استقرار المستندات
على الرغم من المرونة والرشاقة الفائقة التي توفرها الصيغ الحسابية الحية، إلا أن بقاء الآلاف من المعادلات النشطة داخل مصنف البيانات يمثل خطراً تشغيلياً على المدى الطويل. فأي تعديل غير مقصود في عمود المدخلات الأصلي سينعكس فوراً على عمود النتائج، فضلاً عن أن تشارك الملف مع أطراف خارجية أو باحثين يعملون على إصدارات أقدم من إكسل قد يؤدي إلى تعطيل الصيغ وظهور رموز الأخطاء بدلاً من الألفاظ المستخرجة.
لذلك، تقتضي أفضل الممارسات الأرشفية تجميد الحسابات بمجرد اكتمال تدقيق جودة النتائج. ويتم ذلك عبر تحديد عمود المخرجات كاملاً، ونسخه، ثم استخدام خيار “لصق كقيم” (Paste as Values). يؤدي هذا الإجراء الحاسم إلى استبدال الصيغ الرياضية بنصوصها الصافية المجردة والثابتة نهائياً داخل الخلايا. وتقتضي الأمانة المنهجية الاحتفاظ بنسخة احتياطية خام من الملف الأصلي تتضمن المعادلات التشغيلية لتوثيق المنطق البرمجي، في حين يتم اعتماد النسخة المجمدة في التحليلات الإحصائية والمشاركة التقريرية النهائية لضمان استقرار الوثيقة.
10.3 التوثيق الأكاديمي لمسار معالجة البيانات والشفافية العلمية
تعد الشفافية الإجرائية ركيزة لا غنى عنها في البحث العلمي المعاصر؛ إذ يتعين على الباحثين الإفصاح الكامل عن كافة التدخلات والتحويلات التي طرأت على البيانات الخام منذ لحظة تجميعها وحتى وصولها إلى صورتها التحليلية النهائية. ولا يجوز اعتبار عمليات اقتطاع وتنظيف النصوص داخل إكسل تفاصيل ثانوية مهملة، بل يجب توثيقها بدقة ضمن قسم المنهجية أو في الملاحق الفنية المرفقة بالأطروحات والأوراق البحثية المنشورة.
يشمل هذا التوثيق الأكاديمي تسجيل المنطق الصوري للمعادلات المستخدمة بالتفصيل، وتوضيح كيفية معالجة الاستثناءات والمسافات غير المنتظمة، وتبرير أسباب استبعاد أي سجلات تعذر استيفاؤها للشروط المسبقة. كما يستحسن ترك تعليقات توضيحية داخل مصنف إكسل نفسه تشرح خطوات المعالجة للزملاء والمدققين المستقلين. إن هذا المستوى العالي من الإفصاح والتوثيق يخدم بصورة مباشرة مبدأ “قابلية تكرار البحث” (Replicability)، ويتيح للمجتمع العلمي مراجعة النماذج التحليلية والبناء عليها بأقصى درجات الثقة والاطمئنان المعرفي.
خاتمة
استعرض هذا المقال الشامل أبعاد مسألة تقنية جوهرية في معالجة السلاسل النصية داخل برنامج مايكروسوفت إكسل، والمتمثلة في استخراج النص المحصور بدقة بين المسافة الثانية والمسافة الثالثة. وقد تبين لنا من خلال التشريح الوظيفي والمقارنة المنهجية أن التحول نحو الدوال الديناميكية الحديثة، ولا سيما دمج دالتي TEXTBEFORE وTEXTAFTER، قد أحدث ثورة بنيوية تغلبت على التعقيدات الطويلة للصيغ الكلاسيكية القائمة على دمج دالات MID وFIND وSUBSTITUTE. كما وفرت هذه التقنيات الحديثة مستويات استثنائية من الأمان الحسابي وسرعة التنفيذ وقابلية الصيانة.
وعلاوة على الجوانب الفنية البحتة، تجلت أهمية هذه الإجراءات الهندسية في مجالات العلوم الإنسانية وأبحاث السلوك وعلم النفس، حيث تتيح للباحثين تفكيك المعرفات التجريبية، وقياسات أزمنة الرجع، والمفردات اللغوية في المقابلات العيادية بكفاءة وموثوقية بالغة. وسواء تم إنجاز هذا الاستخراج من خلال الصيغ الحسابية الحية، أو عبر أتمتة مسارات العمل بواسطة Power Query، أو من خلال بناء دوال مخصصة عبر LAMBDA وVBA، يظل الالتزام ببروتوكولات تنظيف المسافات والتوثيق المنهجي الصارم هو الضمانة الحقيقية لنزاهة البيانات ودقة مخرجاتها المعرفية.
المراجع
- Microsoft. (2022). TEXTBEFORE function. Microsoft Support. https://support.microsoft.com/en-us/office/textbefore-function-d099c28a-dba8-448e-ac6c-f086d0fa1b29
- Microsoft. (2022). TEXTAFTER function. Microsoft Support. https://support.microsoft.com/en-us/office/textafter-function-290b30d0-809e-441b-bc58-5e4ba11c7381
- Microsoft. (2022). LAMBDA function. Microsoft Support. https://support.microsoft.com/en-us/office/lambda-function-bd212d27-1cd1-4321-a34a-ccbf254b8b67
- Walkenbach, J. (2015). Excel 2016 Bible. John Wiley & Sons.
- Alexander, M., & Kusleika, R. (2019). Excel 2019 Power Programming with VBA. John Wiley & Sons.