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

1. مقدمة عامة حول دالة SEARCH وإمكانيات التعامل مع المعايير المتعددة في جداول بيانات جوجل
1.1 مفهوم دالة SEARCH وبنيتها التركيبية الأساسية
تُعرّف دالة SEARCH وظيفياً ورياضياً في بيئة جداول بيانات جوجل كأداة لاكتشاف وتحديد الموضع العددي الترتيبي لسلسلة نصية فرعية مستهدفة تقع ضمن سلسلة نصية أم أكبر. لا تقتصر وظيفة الدالة على مجرد الإشارة إلى وجود النص من عدمه، بل تعيد القيمة العددية الصحيحة التي تُمثل رقم المحرف (Character Index) الذي تبدأ عنده السلسلة المطلوبة. تتكون البنية التركيبية للدالة من ثلاثة معاملات رئيسية تُكتب بالصيغة القياسية: المعامل الأول هو النص المبحوث عنه (search_query)، والمعامل الثاني هو النص المراد البحث فيه (text_to_search)، بينما يمثل المعامل الثالث نقطة البداية الاختيارية (starting_at) لتحديد المحرف الذي ينطلق منه الفحص، حيث يُفترض افتراضياً أنه المحرف الأول (القيمة 1) في حال إغفاله.
تتسم طبيعة المخرجات الصادرة عن دالة SEARCH بالثنائية الحسابية والتشغيلية؛ ففي حال نجاح محرك الحوسبة في مطابقة النص المطلوب، تُرجع الدالة عدداً صحيحاً موجباً يبدأ من الرقم 1 فما فوق. وعلى النقيض تماماً، في حال إخفاق الدالة في العثور على أي تطابق، فإنها لا تُرجع القيمة صفر أو قيماً منطقية سالبة مثل FALSE، بل تُطلق خطأ القيمة التشغيلي الشهير #VALUE!، مشيرةً إلى فشل المطابقة النصية. يُشكل هذا السلوك الانقطاعي تحدياً جذرياً في سلاسل الحساب المتتالية، حيث يتسبب أي خطأ غير معالج في توقف كامل تسلسل العمليات الحسابية المرتبطة بالخلية، مما يفرض ضرورة فهم التحويلات المنطقية اللاحقة لتحييد هذا الخطأ واستغلال المخرجات الرقمية بفعالية ضمن معادلات التصفية والاسترجاع.
1.2 تحديات البحث النصي عن قيم متعددة في بيئات البيانات المعقدة
تنبع الصعوبة البالغة في المعالجة النصية عند الاقتصار على النموذج المفرد لدالة SEARCH من طبيعة هياكل البيانات الحديثة؛ ففي معظم الأحيان، تحتوي حقول النصوص الحرة—مثل سجلات خدمة العملاء، والملاحظات الطبية، والتغذية الراجعة لاستطلاعات الرأي—على كميات هائلة من المعلومات غير المهيكلة التي يستحيل تمثيلها عبر كلمة مفتاحية وحيدة. عندما يُجبر المحلل على استخدام الصيغة الفردية، فإنه يضطر إلى تكرار المعادلات يدوياً عبر مئات الأعمدة، أو بناء سلاسل شرطية متداخلة تتسم بالهشاشة وتزيد من احتمالية حدوث أخطاء بشرية وتصعّب عمليات المراجعة والتدقيق الإحصائي.
علاوة على ذلك، فإن الاستعلام النصي المتقدم يتطلب القدرة على التقاط التباينات الدلالية والمصطلحات المتزامنة. فعلى سبيل المثال، لا يكفي في بيئة تحليل البيانات المالية البحث عن مصطلح “إيرادات” فقط، بل يتطلب السياق في كثير من الأحيان التحقق من اقتران المصطلح بكلمات أخرى مثل “ربع سنوي” أو “متأخرات”، أو البحث عن بدائل متعددة مثل “أرباح” أو “عوائد” في آن واحد. إن غياب وسيط افتراضي داخل دالة SEARCH يقبل مصفوفة من الكلمات المفتاحية يضع المطورين والمحللين أمام قيد برمجي يتطلب حلولاً تركيبية تجمع بين الدوال المنطقية والمصفوفية لرفع دقة الفرز واستخلاص النتائج المترابطة سياقياً.
1.3 التكامل الوظيفي بين دوال البحث والتصفية المتقدمة
للتغلب على قيود البحث الأحادي، يتجه مهندسو البيانات نحو بناء تكامل وظيفي متقدم بين دالة SEARCH ودوال الاستعلام الديناميكية، وفي مقدمتها دالة FILTER. يرتكز هذا التكامل على مبدأ تفويض المهام؛ حيث تتولى دالة SEARCH فحص النصوص وتوليد المؤشرات العددية للمطابقة، بينما تتولى دالة FILTER استهلاك تلك المؤشرات كمعايير بوليانية لغربلة وتصفية مصفوفة السجلات الأصلية وتوليد جداول مخرجات جديدة ومحدثة تلقائياً تعكس الواقع الدلالي المشروط.
يمثل هذا النهج التوليفي نقلة نوعية من أساليب المعالجة الثابتة إلى نظم الاسترجاع الشرطي المتشعب. فبدلاً من تطبيق الفلاتر اليدوية الثابتة عبر واجهة المستخدم، والتي تتطلب إعادة تفعيل عند كل إدخال جديد، تضمن المعادلات المركبة تحديثاً لحظياً مستداماً. وتظهر المقارنة التحليلية أن استخدام المعادلات التوليفية يقلل من زمن المعالجة بنسب تتجاوز 70% مقارنة بالحلول اليدوية التقليدية، كما يلغي مخاطر السهو البشري، ويوفر بيئة عمل مؤتمتة تلبي المعايير الأكاديمية الصارمة في معالجة البيانات الضخمة وضمان موثوقيتها.
2. الأسس الرياضية والمنطقية لعمليات البحث المتعدد: منطق الاقتران ومنطق الاختيار
2.1 النمذجة الرياضية لمنطق الاقتران الإلزامي (AND Logic)
يقوم منطق الاقتران الإلزامي، والمعروف في علوم الحاسوب والمنطق الرياضي برابط AND، على فرضية حتمية مفادها أن النتيجة الإجمالية للاستعلام لا تكون صائبة إلا إذا تحققت جميع الشروط الفرعية المكوّنة لها معاً وبصورة متزامنة. في سياق البحث النصي ضمن جداول بيانات جوجل، يعني هذا أن الخلية أو السجل المستهدف يجب أن يحتوي على الكلمة المفتاحية الأولى، والكلمة المفتاحية الثانية، وأي كلمات مفتاحية إضافية محددة في مصفوفة الفحص؛ وإذا سقط شرط واحد فقط، يُعتبر السجل غير مستوفٍ للمعايير ويتم استبعاده فوراً من النتائج المسترجعة.
تتعامل محركات الحساب مع الشروط المتسلسلة من خلال تقييم كل شرط بصورة مستقلة أولاً، ومن ثم إجراء تقاطع رياضي (Intersection) لمجموعات النتائج الجزئية. فإذا كانت لدينا مصفوفة السجلات الكلية S، وكان الشرط الأول يحدد المجموعة الجزئية A التي تحتوي على الكلمة الأولى، وكان الشرط الثاني يحدد المجموعة الجزئية B التي تحتوي على الكلمة الثانية، فإن منطق الاقتران يبحث حصرياً عن العناصر المنتمية إلى حاصل التقاطع (A ∩ B). وتُترجم هذه النمذجة داخل دالة FILTER عبر تمرير كل عملية فحص نصي كمعامل مستقل ضمن وسائط التصفية، حيث تفرض الدالة ضمنياً تطابق جميع الوسائط لتمرير السجل إلى مصفوفة الإخراج النهائية.
2.2 النمذجة الرياضية لمنطق الاختيار التبادلي (OR Logic)
على النقيض من منطق الاقتران، يستند منطق الاختيار التبادلي، أو رابط OR، إلى نظرية الاتحاد الرياضي (Union)، حيث يكفي تحقق شرط واحد على الأقل من بين مجموعة شروط متعددة ليتم اعتبار السجل مطابقاً ومقبولاً ضمن النتائج. في التطبيق العملي، يُراد بهذا النمط استرجاع السجلات التي تحتوي على الكلمة المفتاحية “أ” أو الكلمة المفتاحية “ب” أو كلاهما معاً، مما يجعله الخيار الأمثل للتعامل مع المترادفات اللغوية، والتهجئات البديلة، والبدائل التصنيفية المتكافئة في مجموعات البيانات.
رياضياً، يتم نمذجة منطق الاختيار عبر الجمع الجبري للمصفوفات الثنائية (Binary Matrix Addition). عند تحويل نتائج فحص دالة SEARCH لكل كلمة مفتاحية إلى قيم بوليانية ثنائية (1 للتحقق و0 لعدم التحقق)، يتم جمع هذه المصفوفات عمودياً أو أفقياً لكل صف. فإذا احتوى الصف على الكلمة الأولى دون الثانية، تكون المعادلة (1 + 0 = 1)، وإذا احتوى على الكلمتين معاً، تكون (1 + 1 = 2)، وفي حال غياب الكلمتين، يكون الناتج (0 + 0 = 0). وبما أن محرك جداول بيانات جوجل يفسر أي قيمة عددية أكبر من الصفر كدلالة إيجابية مكافئة للمنطق الصائب (TRUE)، فإن حاصل الجمع الجبري يعكس بدقة متناهية مفهوم الاتحاد المنطقي، متفادياً مخاطر الإقصاء غير المقصود للسجلات المتطابقة جزئياً.
2.3 أثر القيم المنطقية ورموز الخطأ على خوارزميات التصفية
تعتمد خوارزمية التصفية داخل دالة FILTER على قراءة معاملات التحقق كمتجهات منطقية تحتوي حصراً على القيمتين TRUE وFALSE، أو ما يكافؤهما حسابياً من قيم عددية موجبة (حيث يُعامل أي رقم يختلف عن الصفر كقيمة صائبة). عندما تنجح دالة SEARCH، فإنها تُرجع رقماً موجباً يعبر عن موضع النص، وتفسره دالة FILTER مباشرة كقيمة صائبة تبرر إدراج الصف في المخرجات. تكمن المعضلة التقنية في المخرجات السلبية لدالة SEARCH؛ إذ بدلاً من إرجاع القيمة الصفرية أو القيمة FALSE، يتم توليد الخطأ #VALUE!، وهو ما يؤدي فوراً إلى انهيار خوارزمية التصفية بأكملها وظهور الخطأ العام في ورقة العمل.
لضمان استقرار الخوارزمية، يجب إجراء تحويل صريح (Explicit Casting) بين الأنواع البيانية المختلفة لتحييد رموز الخطأ. يتحقق ذلك بتغليف دالة SEARCH بدوال التحقق المنطقي، مثل دالة ISNUMBER. تقوم هذه الدالة بفحص المخرج الناتج عن دالة البحث؛ فإذا كان المخرج رقماً صحيحاً موجباً، حوّلته الدالة إلى القيمة المنطقية الصائبة TRUE (أو الرقم 1)، وإذا كان المخرج هو خطأ القيمة #VALUE!، استبدلته الدالة بالقيمة المنطقية الخاطئة FALSE (أو الرقم 0). يضمن هذا التحويل الصريح توفير بيئة رياضية منضبطة ومستقرة، مما يسمح لدوال التصفية والجمع المصفوفي بإتمام عملياتها دون أي توقف تشغيلي مفاجئ.
3. الدمج بين دالة SEARCH ودالة FILTER لتحقيق منطق الاقتران (AND Logic)
3.1 بناء المعادلة التوليفية باستخدام معايير SEARCH المتعددة
يتطلب بناء المعادلة التوليفية لتحقيق منطق الاقتران فهماً عميقاً للتسلسل الهرمي لتنفيذ الدوال في بيئة الحوسبة السحابية لجداول بيانات جوجل. تعتمد الصيغة القياسية الأكثر استقراراً على استخدام دالة FILTER كنواة مركزية للاسترجاع، مع تمرير نطاق البيانات كمعامل أول، يليه تمرير مصفوفات الفحص النصي كمعاملات شرطية متتابعة. يُصاغ هذا التركيب الرياضي بصورة نموذجية على النحو التالي:
=FILTER(A2:C100, ISNUMBER(SEARCH(“معيار1”, B2:B100)), ISNUMBER(SEARCH(“معيار2”, B2:B100)))
يمر التنفيذ البرمجي لهذه الصيغة بعدة مراحل متسلسلة بدقة متناهية؛ تبدأ المرحلة الأولى بقيام دالتي SEARCH بفحص النطاق المستهدف B2:B100 بصورة متوازية لكل صف على حدة بحثاً عن “معيار1″ و”معيار2”. تُنتج كل عملية فحص مصفوفة عمودية تحتوي على أرقام المواضع النصية وأخطاء #VALUE!. في المرحلة الثانية، تتدخل دالة ISNUMBER لتحويل تلك المصفوفات إلى متجهات بوليانية نقية من القيم المنطقية TRUE وFALSE. وأخيراً، تستقبل دالة FILTER هذين المتجهين وتقوم بإجراء تقاطع منطقي صارم بينهما؛ حيث يُشترط أن يحمل الصف الواحد القيمة TRUE في كلا المعيارين ليتم استخراج بياناته وتضمينها في جدول النتائج، مع الحفاظ الكامل على التطابق الهيكلي بين أبعاد نطاق الاسترجاع ونطاقات الفحص الشرطي لتفادي أخطاء عدم تطابق أبعاد المصفوفات.
3.2 تحليل عملي لمثال تطبيقي: تصفية بيانات السجلات متعددة السمات
لتوضيح التطبيق العملي الميداني، نفترض وجود قاعدة بيانات للموارد البشرية تحتوي على عمود لتوصيف الوظائف ومتطلبات المتقدمين (العمود C)، حيث تُسجل البيانات بصيغة نصوص وصفية مركبة مثل: “مهندس برمجيات ذو خبرة في بايثون ولديه معرفة متقدمة في الحوسبة السحابية وإدارة قواعد البيانات”. المطلوب في هذا السيناريو المؤسسي هو استخراج قائمة المتقدمين المؤهلين حصراً الذين يجمعون بين مهارتين إلزاميتين هما: “بايثون” و”الحوسبة السحابية”، واستبعاد أي متقدم يمتلك مهارة واحدة فقط أو يفتقر إلى كلتيهما.
تتم صياغة معادلة الاستعلام على النحو التالي:
=FILTER(A2:C50, ISNUMBER(SEARCH(“بايثون”, C2:C50)), ISNUMBER(SEARCH(“الحوسبة السحابية”, C2:C50)))
عند مراجعة النتائج المسترجعة بدقة، نلاحظ أن النظام يقوم بتقييم كل صف توصيفي بدقة بالغة؛ فالمرشح الذي يتضمن توصيفه “بايثون فقط” يولد القيمة TRUE في المعيار الأول والقيمة FALSE في المعيار الثاني، مما يؤدي إلى استبعاده فوراً من مصفوفة الإخراج. وبالمثل، يُستبعد المرشح المتخصص في “الحوسبة السحابية” فقط. تقتصر المخرجات النهائية على المرشحين الذين جمعوا بين التوصيفين معاً، بصرف النظر عن موضع الكلمات في النص، أو ما يفصل بينهما من عبارات، أو ترتيب ورودهما، مما يبرز القوة الاستثنائية لهذا النمط في استخلاص السمات الدلالية المتزامنة من السجلات الإدارية المعقدة.
3.3 استراتيجيات تمديد المعادلة لاستيعاب ثلاثة معايير أو أكثر
يمكن تمديد البنية التركيبية لمعادلة الاقتران الرياضي لاستيعاب عدد غير محدود من المعايير والمحددات النصية عبر إضافة معاملات شرطية إضافية داخل دالة FILTER بنفس النسق الهيكلي. فإذا تطلب الاستعلام السابق إضافة معيار ثالث يقضي بضرورة وجود مهارة “إدارة قواعد البيانات”، يتم تحديث المعادلة بإضافة معامل ثالث: ISNUMBER(SEARCH(“إدارة قواعد البيانات”, C2:C50)). ورغم البساطة النظرية لهذا التوسع الأفقي، إلا أنه يفرض تحديات تتعلق بقابلية صيانة الكود وقراءته؛ حيث يؤدي التمدد المفرط للمعادلات الطويلة إلى تعقيد عمليات التدقيق وتتبع الأخطاء البرمجية.
للتغلب على هذا التحدي البرمجي، يُنصح أكاديمياً وتقنياً باستبدال النصوص الثابتة (Hardcoded Strings) بمراجع خلايا نسبية أو مطلقة تُحدد فيها الكلمات المفتاحية خارج المعادلة الأصلية، مثل تخصيص نطاق إدخال جانبي (مثلاً الخلايا E1 وE2 وE3). تصبح المعادلة آنذاك ديناميكية بصيغة: =FILTER(A2:C50, ISNUMBER(SEARCH($E$1, C2:C50)), ISNUMBER(SEARCH($E$2, C2:C50)), ISNUMBER(SEARCH($E$3, C2:C50))). يتيح هذا التصميم لمديري قواعد البيانات والباحثين تغيير معايير التصفية والكلمات المفتاحية بحرية كاملة ودون الحاجة لتعديل البنية الهندسية للمعادلة الأساسية، مما يضمن مرونة الاستعلام واستدامة النظام التحليلي.

4. تطبيق البحث عن قيم متعددة لتصفية مصفوفات ونطاقات بيانات ممتدة
4.1 توسيع نطاق الإرجاع ليشمل أعمدة متعددة متجاورة
لا تتوقف الفعالية التشغيلية لدوال التصفية عند حدود استخراج عمود البيانات الذي خضع للفحص النصي فقط، بل تمتد لتشمل استرجاع مقاطع جدولية كاملة تحتوي على أعمدة متعددة متجاورة تمثل السجل البياني المتكامل. يتحقق ذلك عبر تعديل المعامل الأول في دالة FILTER من نطاق متجهي أحادي (مثل A2:A100) إلى نطاق مصفوفي ثنائي الأبعاد يغطي كافة الأعمدة المستهدفة بالاستخراج (مثل A2:F100)، مع الإبقاء على معايير الفحص النصي المطبقة على عمود الفحص المتخصص (وليكن العمود D2:D100).
تكمن الأهمية التحليلية لهذا الفصل الهيكلي بين عمود الفحص النصي ونطاق الإرجاع الممتد في الحفاظ على السياق الشامل للبيانات المسترجعة؛ فعند تصفية سجلات المبيعات النصية بحثاً عن كلمات محددة في عمود الملاحظات، يحتاج المحلل المالي إلى الاطلاع المتزامن على معرف العميل، وتاريخ المعاملة، والقيمة النقدية، وحالة الدفع. يضمن استخراج النطاق الجدولي المتكامل توفير لوحة معلوماتية متماسكة تسهم في تسريع اتخاذ القرارات الإدارية، وتمنع تشتت البيانات عبر استدعاء السجلات بكامل أبعادها الوصفية والكمية دون الحاجة لبناء معادلات بحث إضافية مثل VLOOKUP أو INDEX/MATCH لاستعادة الحقول المفقودة.
4.2 استخراج الأعمدة غير المتجاورة بناءً على شروط البحث النصي المتعدد
في العديد من البيئات التشغيلية المتقدمة، لا تكون الأعمدة المطلوبة للاستخراج متجاورة في جدول البيانات الأصلي، بل قد تفصل بينها حقول سرية أو معلومات ثانوية لا يرغب الباحث في تضمينها في تقرير المخرجات. لمواجهة هذا المتطلب التقني، يتم دمج معادلة FILTER المعتمدة على معايير SEARCH المتعددة مع دوال إعادة تشكيل المصفوفات الحديثة في جداول بيانات جوجل، وتحديداً دالة CHOOSECOLS، أو عبر استخدام الأقواس المعقوفة {} لبناء مصفوفات أفقية مخصصة.
تتم نمذجة هذا الاستخراج المتقدم بصيغة برمجية بالغة الدقة والأناقة المعمارية:
=CHOOSECOLS(FILTER(A2:Z100, ISNUMBER(SEARCH(“معيار1”, D2:D100)), ISNUMBER(SEARCH(“معيار2”, D2:D100))), 1, 3, 7)
تعمل هذه الصيغة المتكاملة على تنفيذ التصفية النصية الصارمة أولاً على النطاق الشامل A2:Z100، ومن ثم تستلم دالة CHOOSECOLS المصفوفة المصفاة لتنتقي منها حصراً الأعمدة الأول والثالث والسابع بحسب ترتيبها النسبي. يحافظ هذا الأسلوب على العلاقات البنائية بين الحقول المستخرجة، ويحمي البيانات الحساسة من الظهور في التقارير النهائية، ويوفر مخرجات مركزة ومصممة خصيصاً لتلبية متطلبات العرض التحليلي دون أي إهدار للمساحات الرقمية في ورقة العمل.
4.3 إدارة استقرار البيانات والتعامل مع النطاقات الديناميكية المتغيرة
تواجه المشاريع التحليلية التي تشهد تدفقاً مستمراً للبيانات تحدي انزياح النطاقات وقصور المتابعة عند اقتصار المعادلات على نطاقات محددة الأطراف (مثل A2:C100). يستلزم ذلك الاعتماد على النطاقات المفتوحة الطرف (Open-ended Ranges) بصيغة مثل A2:C لضمان استيعاب أي إدخالات مستقبلية بصورة تلقائية وفورية دون تدخل بشري يدوي لإعادة كتابة وتعديل حدود المعادلات.
تفرض النطاقات المفتوحة تحدياً هندسياً يتمثل في معالجة مئات أو آلاف الصفوف الفارغة في أسفل ورقة العمل؛ حيث تؤدي معالجة دالة SEARCH للنطاقات المفتوحة دون قيود إلى استهلاك مكثف للذاكرة وموارد المعالجة السحابية، وقد تسفر أحياناً عن مخرجات غير دقيقة. لتأمين استقرار الحوسبة، يتم تدعيم المعادلة بشرط وقائي إضافي يمنع معالجة الصفوف الفارغة نهائياً، كما يوضح النموذج البرمجي التالي:
=FILTER(A2:C, A2:A <> “”, ISNUMBER(SEARCH(“معيار1”, B2:B)), ISNUMBER(SEARCH(“معيار2”, B2:B)))
يضمن تضمين الشرط A2:A <> “” إيقاف المعالجة فور الوصول إلى أول صف غير مأهول بالبيانات، مما يحافظ على سرعة استجابة الورقة ويمنع تمدد المصفوفات الفارغة. كما يتعين كأفضل ممارسة برمجية تثبيت النطاقات الشرطية بالرموز المطلقة ($) عند تطبيق الصيغ في سياقات تتطلب السحب والنسخ عبر جداول العمل لضمان عدم انزياح مراجع البيانات عن مساراتها الحقيقية.
5. تطبيق منطق الاختيار (OR Logic) مع دالة SEARCH وقيم متعددة
5.1 الاعتماد على الجمع الرياضي للمصفوفات الشرطية
يمثل تمثيل منطق الاختيار التبادلي (OR Logic) عبر دالة FILTER مع دالة SEARCH تحدياً مفاهيمياً؛ نظراً لأن وسائط الفحص المتعددة داخل دالة FILTER تُعامل افتراضياً كروابط اقتران إلزامي (AND). لكسر هذا القيد المعماري وتفعيل الاختيار التبادلي، يلجأ مهندسو البيانات إلى القواعد الرياضية للجبر البولياني، وذلك بدمج الشروط النصية المتعددة داخل معامل شرطي واحد باستخدام عملية الجمع الجبري (+) للمصفوفات المنطقية، بدلاً من فصلها بفواصل وسيطة.
تُصاغ المعادلة الرياضية القياسية لمنطق الاختيار التبادلي على النحو التالي:
=FILTER(A2:C100, (ISNUMBER(SEARCH(“كلمة1”, B2:B100)) + ISNUMBER(SEARCH(“كلمة2”, B2:B100))) > 0)
يقوم محرك الحوسبة في هذه المعادلة بتقييم كل جزء داخل الأقواس المستقلة؛ حيث تُرجع دالة ISNUMBER القيمة المنطقية TRUE (التي تعامل حسابياً كالرقم 1) في حال وجود الكلمة، أو FALSE (التي تعامل كالرقم 0) في حال غيابها. يؤدي جمع المتجهين معاً إلى تكوين مصفوفة رقمية تحتوي على القيم (0، 1، 2). ومن خلال تطبيق عامل المقارنة > 0، يتم تحويل أي صف يحتوي على إحدى الكلمتين أو كلتيهما إلى القيمة TRUE، بينما تؤول الصفوف التي تفتقر لكلا الكلمتين إلى القيمة 0 وتتحول إلى FALSE، محققة بذلك فرزاً شمولياً دقيقاً يستند إلى المنطق التبادلي النقي.
5.2 الاستعلام عن قائمة غير محدودة من الكلمات المفتاحية باستخدام دالة MATCH ومصفوفات البحث
عندما تتسع قائمة الكلمات المفتاحية المطلوبة لتشمل عشرات أو مئات المصطلحات البديلة، يصبح أسلوب الجمع الرياضي المتكرر (+ SEARCH + SEARCH…) غير عملي ومستنزفاً لجهد البرمجة والصيانة. تتطلب الهندسة البرمجية المتقدمة في هذه الحالات فصل معايير البحث في قائمة مرجعية خارجية مستقلة (مثلاً النطاق E2:E10)، وتوليد استعلام نصي ديناميكي يفحص مطابقة النص في قاعدة البيانات مع أي عنصر من تلك القائمة المرجعية دون تكرار الدوال.
لتحقيق هذا الاستعلام الشامل، يتم دمج دوال المصفوفات النصية مثل REGEXMATCH أو استخدام تقنيات الضرب المصفوفي عبر MMULT مع دالة SEARCH. إلا أن الأسلوب الأكثر شيوعاً وبساطة في الحسابات الموسعة يعتمد على توليد مصفوفة ثنائية الأبعاد عبر الدالة التوليفية التالية:
=FILTER(A2:C100, MMULT(–ISNUMBER(SEARCH(TRANSPOSE(E2:E10), B2:B100)), SEQUENCE(ROWS(E2:E10), 1, 1, 0)) > 0)
تعمل هذه المعادلة المتقدمة على استخدام دالة TRANSPOSE لتحويل قائمة الكلمات المفتاحية الرأسية إلى متجه أفقي، مما يدفع دالة SEARCH لمقارنة كل خلية في قاعدة البيانات مقابل كل كلمة مفتاحية في المصفوفة، مما يولد شبكة ثنائية من التحققات. تتولى دالة MMULT إجراء الضرب المصفوفي لتلخيص نتائج التحقق لكل صف في قيمة عددية تراكمية فردية؛ فإذا كان المجموع أكبر من الصفر، فهذا يعني أن الصف الحالي يحتوي على كلمة واحدة على الأقل من القائمة المرجعية، مما يحقق استعلاماً مرناً وقابلاً للتوسع اللانهائي بمجرد تغذية القائمة المرجعية بكلمات جديدة دون المساس بالصيغة نهائياً.
5.3 الجمع بين منطقي الاقتران والاختيار (AND وOR) في صيغة مركبة واحدة
تتطلب الاستعلامات الواقعية المعقدة في المؤسسات المالية والبحثية صياغة شروط هجينة تدمج بين الاقتران الإلزامي والاختيار التبادلي في آن واحد. يتمثل السيناريو المعتاد في اشتراط وجود سمة أساسية دائمة (مثل الحالة: “معتمد”)، مقترنة بوجود واحد على الأقل من خيارات متعددة (مثل طريقة الدفع: “بطاقة ائتمان” أو “تحويل بنكي”).
تتم حوسبة هذا التدفق المنطقي المركب من خلال توظيف قواعد أسبقية العمليات الحسابية، حيث يُستخدم الضرب الجبري (*) لتمثيل منطق الاقتران (AND)، ويُستخدم الجمع الجبري (+) لتمثيل منطق الاختيار (OR)، مع إحاطة العمليات بالأقواس لفرض الترتيب الصحيح للتنفيذ، كما في النموذج الرياضي التالي:
=FILTER(A2:D100, (ISNUMBER(SEARCH(“معتمد”, C2:C100))) * ((ISNUMBER(SEARCH(“بطاقة ائتمان”, D2:D100)) + ISNUMBER(SEARCH(“تحويل بنكي”, D2:D100))) > 0))
في هذه الصيغة المتقدمة، يُقيّم محرك الحساب أولاً التعبير الداخلي الخاص ببدائل طريقة الدفع داخل الأقواس المنطقية ويجمعهما ليحدد ما إذا كان أي منهما محققاً (1 أو 0). بعد ذلك، يضرب الناتج في القيمة المنطقية لشرط الاعتماد الإلزامي. فإذا كان الاعتماد غير محقق (0)، فإن حاصل الضرب الكلي يؤول إلى الصفر بغض النظر عن طريقة الدفع. وإذا كان الاعتماد محققاً (1) مع تحقق أحد البدائل (1)، يكون الناتج (1 * 1 = 1)، مما يسمح بمرور السجل واستخراجه بنجاح. يمنح هذا التمثيل الجبري المرن المحللين قدرة مطلقة على بناء استعلامات نصية فائقة التعقيد تحاكي لغات الاستعلام البرمجية مثل SQL بأعلى درجات الكفاءة.
6. حساسية حالة الأحرف: دراسة مقارنة بين دالتي SEARCH وFIND في الاستعلامات المتعددة
6.1 الفروق الجوهرية بين SEARCH وFIND في معالجة المحارف النصية
يكمن الاختلاف الجوهري بين دالتي SEARCH وFIND في جداول بيانات جوجل في سلوك المعالجة المعيارية للمحارف النصية فيما يتعلق بحساسية حالة الأحرف (Case Sensitivity). تتميز دالة SEARCH بعدم حساسيتها لحالة الأحرف (Case-insensitive)؛ مما يعني أنها تعامل الحرف اللاتيني الصغير “a” والحرف الكبير “A” ككيانين متطابقين تماماً، ولا تقيم أي وزن للفروق الشكلية الناتجة عن تغيير الحالة. وعلى الطرف النقيض، تتسم دالة FIND بالصرامة المطلقة وحساسيتها الكاملة لحالة الأحرف (Case-sensitive)؛ حيث تشترط تطابقاً شكلياً وترميزياً تاماً بين السلسلة المستهدفة والنص المفحوص.
ينعكس هذا التباين البنيوي على معالجة البيانات النصية باللغات المختلفة؛ ففي حين لا تمتلك اللغة العربية حالة أحرف بالمعنى اللاتيني، إلا أن دالة SEARCH تتفوق في تعاملها مع بعض المتغيرات التشكيلية والرمزية العامة مقارنة بصلابة دالة FIND. أما في مجموعات البيانات التي تتضمن نصوصاً لاتينية، أو أكواداً مشفرة، أو معرّفات كيميائية وبرمجية، فإن اختيار إحدى الدالتين يحدد مباشرة طبيعة المخرجات؛ فبينما توفر دالة SEARCH شمولية استرجاعية واسعة تلتقط النصوص مهما اختلف أسلوب إدخال المستخدم، تفرض دالة FIND تضييقاً صارماً يضمن عدم استدعاء أي سجل لا يتوافق مع المعيار المحدد بدقة الحرف والترميز.
6.2 توظيف دالة FIND ضمن معادلات التصفية متعددة القيم
يتحول استخدام دالة FIND إلى ضرورة تقنية حتمية في بيئات العمل التخصصية التي تعتمد على معايير ترميز قياسية حساسة لحالة الأحرف، مثل معرفات قطع الغيار الصناعية، أو أكواد الجينات في الأبحاث البيولوجية، أو مفاتيح التشفير ومسارات الروابط المتغيرة. في مثل هذه البيئات، قد يشير الكود “PROD_a” إلى منتج تجريبي يختلف كلياً في مواصفاته وخصائصه عن المنتج النهائي المرمّز بـ “PROD_A”.
عند بناء استعلام متعدد القيم يعتمد على شروط حساسة للحالة، يتم استبدال دالة SEARCH بدالة FIND بنفس النسق التوليفي لمصفوفة التصفية، كما يظهر في المعادلة التالية:
=FILTER(A2:C100, ISNUMBER(FIND(“ID_Alpha”, B2:B100)), ISNUMBER(FIND(“REV_B”, B2:B100)))
تضمن هذه المعادلة أن النظام لن يسترجع السجلات التي تحتوي على “id_alpha” أو “rev_b”، حيث يتم إقصاؤها فوراً باعتبارها غير متطابقة ترميزياً. تبرز أهمية هذه الصرامة في حماية قواعد البيانات المتخصصة من مخاطر الخلط بين المتغيرات المتشابهة ظاهرياً والمختلفة دلالياً، مما يعزز موثوقية استخراج البيانات في المشاريع العلمية والتكنولوجية الدقيقة.
6.3 معايير الاختيار الأكاديمي والتقني بين الدالتين في مشاريع التحليل
يتطلب اتخاذ القرار الهندسي بين اعتماد دالة SEARCH أو دالة FIND في مشاريع تحليل البيانات إجراء تقييم منهجي لطبيعة المدخلات النصية ومستوى توحيد الإدخال (Data Standardization). إذا كانت المادة الخاضعة للتحليل تتألف من نصوص مفتوحة كتبها مستخدمون بشريون عبر واجهات تفاعلية دون قيود صارمة—مثل استطلاعات الرأي أو استفسارات البريد الإلكتروني—فإن الخيار الأكاديمي الرشيد هو دالة SEARCH، نظراً لقدرتها على تجنب الإيجابيات الكاذبة للإخفاق الناتجة عن أخطاء التحرير العرضية لحالة الأحرف وتفاوت سلوك لوحات المفاتيح.
من ناحية أخرى، تبرز دالة FIND كخيار أمثل في خطوط أنابيب معالجة البيانات المهيكلة وشبه المهيكلة (Structured Data Pipelines) الناتجة عن أنظمة آلية أو قواعد بيانات علائقية تطبق معايير تسمية منضبطة. كما يتيح التصميم المرن دمج الدالتين معاً في استعلام هجين واحد وفق متطلبات كل متغير؛ كأن نستخدم دالة SEARCH للبحث في عمود الوصف العام لمرونتها، مع استخدام دالة FIND في ذات الوقت لفحص عمود رمز التحقق أو كود الصنف لحساسيته الشديدة، محققين بذلك التوازن الأمثل بين استيعاب التباينات النصية والحفاظ على الدقة الرقابية الصارمة.
7. استخدام الرموز الخاصة وحروف البدل (Wildcards) مع دالة SEARCH متعددة القيم
7.1 توظيف علامات الاستفهام والنجوم في بناء أنماط بحث مرنة
تتميز دالة SEARCH في جداول بيانات جوجل بدعمها المتأصل لحروف البدل (Wildcards)، وهي ميزة تقنية جوهرية تفتقر إليها دالة FIND. تمثل حروف البدل رموزاً خاصة تتيح بناء أنماط استعلام نصية ديناميكية ومطاطية تتجاوز المطابقة الحرفية للكلمات، وتُصنف إلى رمزين رئيسيين: علامة النجمة (*) وعلامة الاستفهام (?). تُستخدم علامة النجمة (*) كبديل يمثل أي عدد من المحارف النصية المتتالية (صفر أو محرف واحد أو سلسلة غير متناهية من المحارف)، بينما تُستخدم علامة الاستفهام (?) لتمثيل محرف مفرد مجهول في موضع نصي محدد بدقة.
تتجلى القوة التحليلية لحروف البدل عند التعامل مع التغيرات الصرفية للكلمات، أو التهجئات المشكوك فيها، أو البحث عن عبارات تفصل بينها كلمات حشو متغيرة. فعلى سبيل المثال، يؤدي استخدام النمط “تحليل*بيانات” ضمن وسيط البحث إلى التقاط جميع العبارات التي تبدأ بكلمة “تحليل” وتنتهي بكلمة “بيانات” بصرف النظر عما يتوسطهما من نصوص، مثل “تحليل أحدث بيانات”، أو “تحليل دقيق للبيانات”. وبالمثل، يُستخدم النمط “س?د” لمطابقة الكلمات ثلاثية الأحرف مثل “سعد” و”سيد” مع ضمان ثبات الطول الهيكلي، مما يمنح استعلامات البحث المتعددة أبعاداً استقصائية فائقة المرونة تضمن استيعاب كافة التباينات اللغوية والإملائية المحتملة.
7.2 معالجة حالات البحث الحرفي عن الرموز الخاصة ذاتها
ينشأ تحدٍ برمجي معقد عندما تكون الرموز الخاصة ذاتها—مثل علامة النجمة (*) أو علامة الاستفهام (؟) أو علامة التلدة (~)—هي النص الحرفي المستهدف بالبحث داخل السجلات، كما هو الحال عند البحث في فهارس المنتجات التي تستخدم النجوم للإشارة إلى التقييمات، أو النصوص الأكاديمية التي تحتوي على أسئلة، أو الرموز الرياضية التوضيحية. إذا تم تمرير الرمز المستهدف مباشرة داخل وسائط دالة SEARCH، فإن محرك الحوسبة يفسره كحرف بدل وليس كنص مجرد، مما يؤدي إلى تشويه نتائج التصفية واسترجاع سجلات غير مقصودة.
لحل هذه المعضلة الحسابية، تتبنى جداول بيانات جوجل استخدام حرف الإلغاء الشائع المتمثل في رمز المدّة (~)، والمعروف بحرف الهروب (Escape Character). يتم وضع رمز المدّة مباشرة قبل الرمز الخاص المطلوب البحث عنه حرفياً لتعطيل وظيفته البرمجية كحرف بدل وإلزام محرك الحوسبة بمعاملته كمحرف نصي مجرد. فعلى سبيل المثال، للبحث عن السلسلة النصية “سؤال؟” مع علامة الاستفهام الحرفية، يُكتب وسيط البحث بالشكل: “سؤال~؟”، وللبحث عن الرمز الرياضي للنجمة المستقلة يُكتب: “~*”. يضمن هذا الإجراء البرمجي فصلاً حاسماً بين الأكواد الوظيفية للنظام والمحتوى الدلالي للنصوص، متفادياً أي تداخل تفسيري قد يعيق دقة التحليل.
7.3 حدود أحرف البدل ومخاطر المطابقة الزائدة في المصفوفات المتعددة
على الرغم من المرونة الواسعة التي توفرها حروف البدل، إلا أن الإفراط في استخدامها دون ضوابط محكمة يولد مخاطر جسيمة تُعرف في أمن المعلومات وعلوم البيانات بظاهرة المطابقة الزائدة (Over-matching). يؤدي وضع علامة النجمة (*) بين كلمتين مفتاحيتين متباعدتين إلى اتساع مفرط في نافذة الاسترجاع؛ حيث قد تلتقط الصيغة مقاطع نصية كاملة تفصل بين جملتين مستقلتين لا تربطهما أي علاقة سياقية أو موضوعية، مما يؤدي إلى تدفق “الإيجابيات الكاذبة” (False Positives) وتلويث جودة العينة الإحصائية المستخرجة.
تتضاعف هذه المخاطر عند اجتماع عدة أحرف بدل داخل معادلات البحث متعدد المعايير؛ حيث يزداد العبء الإدراكي على خوارزمية التصفية، مما يؤدي إلى بطء ملحوظ في حساب المصفوفات الكبيرة. لتفادي هذه الانحرافات، تقضي أفضل الممارسات بتحديد أقصى نطاق مسموح به لحروف البدل، وتجنب استخدام الأنماط المفتوحة التي تبدأ وتنتهي بنجوم غير محددة دون مبرر قطعي، والاستعاضة عنها—كلما أمكن—بشروط اقتران صارمة تفصل الكلمات المفتاحية وتبحث عنها بشكل مستقل لضمان الحفاظ على الخصوصية الدلالية للنصوص المسترجعة.
8. إدارة ومعالجة الأخطاء الناتجة عن عدم التطابق في صيغ البحث المتعدد
8.1 تشخيص أسباب خطأ #VALUE! وخطأ #N/A في استعلامات البحث
يتطلب التصحيح الهندسي لمعادلات جداول بيانات جوجل التمييز الدقيق بين طبيعة ودلالات رموز الأخطاء التشغيلية، وتحديداً التفرقة التشخيصية بين خطأ القيمة #VALUE! وخطأ عدم الإتاحة #N/A. ينشأ خطأ #VALUE! مباشرة من داخل دالة SEARCH، ويمثل استجابة برمجية طبيعية تفيد بعجز الدالة عن العثور على موضع السلسلة النصية المستهدفة داخل الخلية المفحوصة؛ فهو ليس خطأ في بنية كتابة الدالة، بل هو رسالة حوسبية تشير إلى انعدام التطابق النصي لمحتوى الخلية الحالية.
في المقابل، يصدر خطأ #N/A عادة عن دالة FILTER المركزية، ويحمل دلالة نظامية مختلفة تماماً؛ حيث يشير إلى أن خوارزمية التصفية عملت بكفاءة ولكن لم يعثر النظام على أي صف في النطاق المستهدف يستوفي مجمل الشروط المنطقية المحددة في الاستعلام (أي أن مصفوفة التحقق الناتجة كانت خالية تماماً من القيمة TRUE). يُعد التمييز بين هذين الخطأين جوهرياً للمطور؛ فظهور #VALUE! يشير إلى ضرورة معالجة المخرجات الوسيطة لدوال البحث باستخدام دوال التحقق المنطقي، بينما يشير ظهور #N/A إلى انعدام وجود بيانات مطابقة في قاعدة البيانات الأصلية، مما يستدعي توفير بدائل عرض ملائمة لمنع تشويه الواجهات الرقمية.
8.2 توظيف دالة IFERROR ودالة IFNA لعرض مخرجات استباقية مخصصة
يؤدي ظهور رموز الخطأ الخام داخل لوحات المتابعة التفاعلية والتقارير الإدارية إلى تقويض المظهر المهني للمستند ويثير قلق المستخدمين النهائيين حول دقة وسلامة البيانات. لمعالجة هذا الخلل الشكلي، يوفر محرك جداول بيانات جوجل أدوات استباقية لمعالجة الأخطاء، وفي مقدمتها دالة IFNA ودالة IFERROR، بالإضافة إلى المعامل المدمج المخصص لمعالجة الفراغ داخل دالة FILTER ذاتها.
تتمثل المقاربة البرمجية الأكثر كفاءة واقتصاداً في استخدام المعامل الاختياري الأخير لدالة FILTER، والمخصص للقيمة المرتجعة في حال عدم العثور على نتائج (value_if_empty)، بدلاً من تغليف المعادلة بالكامل بدالة IFERROR التي تستهلك موارد حسابية إضافية. تُصاغ المعادلة الوقائية على النحو التالي:
=FILTER(A2:C100, ISNUMBER(SEARCH(“معيار1”, B2:B100)), ISNUMBER(SEARCH(“معيار2”, B2:B100)), “لا توجد سجلات مطابقة للمعايير المحددة”)
في حال انعدام التطابق، تستبدل الدالة الخطأ الشائع #N/A تلقائياً بالنص التوجيهي الشفاف المحدد بين علامتي التنصيص. وفي الحالات التي تتطلب توفير حماية إضافية ضد أخطاء الصيغة الشاملة، يمكن استخدام دالة IFERROR كغلاف خارجي نهائي لإعادة توجيه أي انكسار غير متوقع في الحوسبة إلى رسالة تنبيهية واضحة أو ترك الخلية فارغة تماماً، مما يضمن الحفاظ على النظافة البصرية واستقرار الهيكل العام للتقارير.
8.3 تقنيات تدقيق الصيغ ومراقبة سلوك المعايير الفردية في بيئة الاختبار
عند بناء صيغ استعلام نصية معقدة تضم عدة معايير متداخلة، يصبح تتبع الأخطاء البرمجية وإصلاحها داخل المعادلة الشاملة مباشرة مهمة بالغة الصعوبة وتنطوي على إهدار للوقت. تقتضي المنهجية الأكاديمية والمهنية الصارمة اتباع استراتيجية “التفكيك المرحلي” (Modular Deconstruction)؛ حيث يتم عزل كل معيار فحص مستقل لدالة SEARCH داخل عمود تجريبي منفصل لمراقبة سلوك المصفوفات الثنائية الناتجة عن قرب والتحقق من تحويل الأرقام والرموز بكفاءة.
كما تتيح جداول بيانات جوجل أدوات تدقيق لحظية لا غنى عنها؛ حيث يمكن للباحث تظليل أي جزء داخلي من المعادلة في شريط الصيغ (مثل تظليل تعبير SEARCH("معيار", B2:B10)) والضغط على مفاتيح التقييم الفوري لاستعراض محتويات المصفوفة المتولدة في نافذة منبثقة مصغرة. تمكّن هذه التقنية المحلل من التأكد من أن المشكلة لا تكمن في وجود مسافات غير مرئية أو أخطاء إملائية في معيار محدد، قبل الشروع في دمج تلك الأجزاء المستقلة داخل الهيكل النهائي لدالة FILTER، مما يقلل من زمن استكشاف الأخطاء ورفع دقة الاعتماد النهائي للمعادلات في بيئات الإنتاج.
9. التكامل بين دالة SEARCH والوظائف المصفوفية المتقدمة (ARRAYFORMULA)
9.1 إلزام دالة SEARCH بمعالجة النطاقات المصفوفية الشاملة
صُممت دالة SEARCH في أصلها البرمجي لتكون دالة مفردة المرجع (Scalar Function)؛ أي أنها تتوقع استقبال خلية نصية مفردة في وسيطها الثاني لتفحصها وترد بنتيجة فردية. عند تمرير نطاق متعدد الخلايا (مثل B2:B100) داخل دالة SEARCH دون أطر مساعدة، فإنها تعجز في الأحوال العادية عن معالجة كافة الخلايا وتقتصر على قراءة الخلية الأولى فقط. هنا يبرز الدور المحوري لدالة ARRAYFORMULA في تحويل وسائط SEARCH من قيم فردية معزولة إلى متجهات مصفوفية متسلسلة يتم حسابها دفعة واحدة عبر نواة المعالجة السحابية.
تلغي دالة ARRAYFORMULA الحاجة نهائياً للسحب والنسخ اليدوي للمعادلات عبر آلاف الصفوف؛ حيث يتم كتابة الصيغة مرة واحدة فقط في أعلى العمود لتتولى تدفيق النتائج وحسابها تلقائياً لكافة الصفوف التالية، كما يتضح في الصيغة التالية:
=ARRAYFORMULA(ISNUMBER(SEARCH(“كلمة1”, B2:B)) * ISNUMBER(SEARCH(“كلمة2”, B2:B)))
تتعامل الدالة مع النطاق بأكمله ككيان متصل، حيث تحسب المطابقات النصية لجميع المعايير بصورة متزامنة وتجري عمليات الضرب البولياني عبر السجلات، مما يولد عموداً مصفوفياً متكاملاً يتغير حجمه واستجابته ديناميكياً مع أي إضافة أو تعديل يطرأ على البيانات في النطاق المستهدف، محققة أقصى درجات الأتمتة الإجرائية في إدارة جداول البيانات.
9.2 توليد أعمدة فحص مؤشرية مساعدة باستخدام الحوسبة المتجهية
في العديد من التصاميم الهندسية لقواعد البيانات داخل جداول بيانات جوجل، يُفضل فصل مرحلة الفحص النصي المعقد عن مرحلة التصفية والعرض، وذلك عبر إنشاء أعمدة مؤشرية مساعدة (Helper Columns) تعتمد على الحوسبة المتجهية الذكية. تتولى هذه الأعمدة احتساب حالة التحقق الشرطي لكل صف وتخزين النتيجة كعلامة دلالية واضحة (مثل: “مستوفٍ” أو “غير مستوفٍ”) دون المساس ببنية السجلات الأصلية.
يمكن بناء هذا العمود المؤشري بكفاءة مطلقة عبر دمج ARRAYFORMULA مع الدالة الشرطية IF، مستندين إلى الجمع والضرب المنطقي لمعايير SEARCH المتعددة:
=ARRAYFORMULA(IF(A2:A=””, “”, IF((ISNUMBER(SEARCH(“معيار1”, B2:B)) * ISNUMBER(SEARCH(“معيار2”, B2:B))), “مطابق”, “مستبعد”)))
يوفر هذا التصميم المتجهي مزايا تشغيلية وتحليلية هائلة؛ حيث يتيح للمستخدمين والمشرفين تصفية وفرز البيانات بسهولة فائقة بالاعتماد على مخرجات العمود المؤشري عبر الفلاتر العادية لواجهة المستخدم، كما يسهل ربط هذه المؤشرات بقواعد التنسيق الشرطي لتلوين الصفوف المتطابقة بصرياً، فضلاً عن إمكانية استهلاك هذه النتائج الجاهزة في دوال التجميع الإحصائي مثل COUNTIF وSUMIFS دون الحاجة لإعادة كتابة الاستعلامات النصية المعقدة في كل معادلة لاحقة.
9.3 الأثر الحسابي للمصفوفات الموسعة على سرعة مزامنة المستند
على الرغم من القوة الإنتاجية الهائلة للحوسبة المصفوفية باستخدام ARRAYFORMULA، إلا أن الاستخدام غير المنضبط لهذه الوظائف الموسعة يترك أثراً حسابياً سلبياً بالغ الخطورة على أداء وسرعة مزامنة المستندات في البيئة السحابية. يرجع ذلك إلى أن دالة ARRAYFORMULA عندما تُمنح نطاقاً مفتوحاً غير مقيد مثل B:B، فإنها تلزم خوادم جداول بيانات جوجل بحساب وتدقيق كافة خلايا العمود حتى حدود الورقة النهائية (والتي قد تبلغ 50,000 صف أو أكثر افتراضياً)، حتى وإن كانت الغالبية العظمى من تلك الصفوف فارغة وخالية تماماً من أي محتوى فعلي.
يؤدي هذا الاستنزاف غير المبرر لموارد الذاكرة المخصصة للورقة إلى حدوث اختناقات في الأداء (Bottlenecks)، وبطء ملحوظ في إعادة الحساب والمزامنة اللحظية، وتكرار ظهور شاشات التحميل الطويلة. لتفادي هذه الانعكاسات الحسابية السلبية، تقضي قواعد التحسين الهندسي للبرمجيات بحصر نطاقات المصفوفات بدقة متناهية (مثل B2:B5000)، أو وضع قيود برمجية صارمة في مقدمة المصفوفة تعطل الحوسبة فور استشعار الخلايا الفارغة، مما يخفف الحمل التشغيلي على السحابة ويضمن احتفاظ المستند بسرعته التفاعلية الفائقة واستجابته اللحظية للتعديلات.

10. حالات تطبيقية متقدمة ونماذج بحثية لمعالجة وتحليل البيانات النصية
10.1 تطبيق البحث المتعدد في تحليل الاستجابات النصية واستطلاعات الرأي
يمثل تحليل استطلاعات الرأي المفتوحة في الأبحاث الاجتماعية والمسوح التسويقية ميداناً نموذجياً لتطبيق تقنيات البحث النصي المتعدد باستخدام دالة SEARCH. ففي هذه البيئات البحثية، غالباً ما يدلي المستجيبون بآراء مركبة تحتوي على مشاعر متداخلة تجمع بين الرضا عن جانب محدد والانزعاج من جانب آخر ضمن نفس الفقرة النصية الواحدة، مما يجعل الفرز الأحادي للكلمات عاجزاً عن فهم السياق الحقيقي للمستجيب.
باستخدام صيغ البحث المتعدد، يستطيع الباحث فرز الاستجابات التي تعبر عن أنماط سلوكية معقدة بدقة متناهية؛ كأن يستخرج حصراً الردود التي تجمع بين كلمة “الخدمة” ومصطلحات سلبية مثل “بطيئة” أو “معقدة”، وتصنيفها آلياً في فئة “مشكلات جودة الخدمة”، مع استبعاد الحالات التي تحتوي على كلمة “الخدمة” مقترنة بكلمات إيجابية مثل “ممتازة” أو “سريعة”. تتيح هذه الأتمتة الدلالية للفرق البحثية تحويل آلاف النصوص النوعية غير المهيكلة إلى جداول بيانات كمية خاضعة للقياس الإحصائي، مما يقلل الحاجة للترميز اليدوي المكلف ويسرع استخلاص الاستنتاجات العلمية بمستويات موثوقية مرتفعة تتوافق مع المعايير المنهجية الصارمة.
10.2 بناء محرك تصفية تفاعلي متعدد المتغيرات للوحات التحكم (Dashboards)
تُعد لوحات التحكم التفاعلية (Interactive Dashboards) واجهة الاستخدام الأساسية لصناع القرار في المؤسسات الحديثة، حيث يتطلب تصميمها بناء محركات تصفية مرنة تستجيب مباشرة للمدخلات التي يحددها المستخدم عبر قوائم منسدلة أو حقول إدخال نصية حرة، دون الحاجة للتعامل المباشر مع الشيفرات البرمجية أو المعادلات الأصلية.
يتحقق هذا البناء التفاعلي المتقدم عبر ربط معايير دالة SEARCH بخلايا التحكم المستقلة، مع هندسة المعادلة بطريقة عبقرية تتجاهل أي معيار يُتركه المستخدم فارغاً، وتعالج فقط المعايير النشطة المأهولة بالمدخلات. تُصاغ المعادلة الشاملة لمحرك البحث التفاعلي على النحو التالي:
=FILTER(A2:D100, (G1=””) + ISNUMBER(SEARCH(G1, B2:B100)), (G2=””) + ISNUMBER(SEARCH(G2, C2:C100)))
تعتمد فلسفة هذه المعادلة على التعبير المنطقي (G1=””)؛ فإذا كانت خلية الإدخال G1 فارغة، يُرجع التعبير القيمة TRUE (الرقم 1)، مما يحيّد تلقائياً تأثير دالة SEARCH الخاصة بهذا المعيار ويجعل التصفية تمرر كافة السجلات دون حجب. أما إذا أدخل المستخدم مصطلحاً معيناً في الخلية G1، فإن التعبير (G1=””) يتحول إلى FALSE (الرقم 0)، مما يُلزم المعادلة بتفعيل دالة SEARCH وتطبيق الفحص النصي الصارم. يمنح هذا الهيكل البرمجي المتطور لوحات التحكم مرونة مطلقة تتيح للمدراء التنقيب الحر متعدد الأبعاد داخل البيانات بمنتهى السلاسة والسرعة.
10.3 التدقيق اللغوي والتحقق من جودة إدخال البيانات في السجلات الإدارية
تعاني السجلات الإدارية ومستودعات البيانات في المؤسسات الكبرى من تدهور جودة البيانات (Data Quality Issues) نتيجة الأخطاء البشرية المتكررة أثناء الإدخال، مثل تكرار تسجيل الأسماء بصيغ متباينة، أو إهمال ملء الحقول الإلزامية بالتفاصيل الكافية، أو كتابة اختصارات غير معيارية تعيق التكامل الرقمي بين الأنظمة المختلفة.
تُوظف معادلات البحث النصي متعددة المعايير كأداة تدقيق رقابية فعالة لاكتشاف وتحديد هذه الانحرافات اللغوية والتنظيمية؛ حيث يمكن بناء معادلات فحص تستخرج بصورة آلية السجلات التي تفتقر للمحددات الإلزامية، أو التي تجمع بين مصطلحات إدارية متناقضة داخل نفس السجل (مثل ظهور الحالة “نشط” متزامنة مع عبارة “تم إنهاء الخدمة” في عمود الملاحظات). يسهم هذا التدقيق المنهجي المؤتمت في تمكين فرق حوكمة البيانات من تنظيف وتجهيز السجلات (Data Cleansing) مسبقاً قبل تصديرها إلى برمجيات التحليل الإحصائي المتقدمة أو مستودعات التخزين السحابية المركزية، مما يضمن اتخاذ القرارات المؤسسية بناءً على بيانات نقية وموثوقة بنسبة كاملة.
11. المقارنة التحليلية بين صيغ SEARCH والتعابير النمطية (Regular Expressions)
11.1 مقارنة منهجية بين تركيب FILTER+SEARCH واستخدام دالة REGEXMATCH
توفر بيئة جداول بيانات جوجل عائلة قوية من دوال التعابير النمطية، وفي مقدمتها دالة REGEXMATCH، والتي تمثل البديل البرمجي الأكثر تطوراً لدوال البحث النصي التقليدية مثل SEARCH وFIND. يرتكز التحليل المقارن بين المنهجين على عدة محاور تتعلق بالمرونة الهيكلية، وسهولة الصياغة، وقابلية التوسع والصيانة البرمجية.
تتفوق دالة REGEXMATCH تفوقاً كاسحاً في إيجاز التعبير عن منطق الاختيار التبادلي (OR Logic)؛ حيث يكفي تمرير الكلمات المفتاحية مفصولة بالرمز العمودي الشائع (|) داخل معامل البحث، مثل: REGEXMATCH(B2:B, "(?i)كلمة1|كلمة2|كلمة3") لتغطية كافة البدائل مع تجاهل حساسية الأحرف في صيغة مختصرة وأنيقة للغاية. على الجانب الآخر، تبرز قوة تركيبة FILTER + SEARCH في تمثيل منطق الاقتران الصارم (AND Logic) والتحكم المستقل في كل معيار؛ حيث تكون صياغة شروط الاقتران عبر التعابير النمطية بالغة التعقيد وتتطلب استخدام تقنيات استشرافية متقدمة مثل (Lookaheads)، مما يجعل صيغ SEARCH التقليدية أكثر وضوحاً، وأسهل في القراءة والفهم، وأقل عرضة للأخطاء الدلالية بالنسبة لغالبية المحللين ومستخدمي البيانات من غير المتخصصين في هندسة البرمجيات.
11.2 تقييم الكفاءة وسرعة المعالجة في قواعد البيانات الضخمة
يعد قياس كفاءة استهلاك الموارد وسرعة الاستجابة الحسابية في جداول البيانات الضخمة التي تحتوي على عشرات الآلاف من الصفوف معياراً حاسماً في المفاضلة التقنية بين الدوال النصية القياسية والتعابير النمطية. تعتمد دالة SEARCH على خوارزميات مطابقة نصية متسلسلة وخفيفة الوزن في استهلاك الذاكرة المؤقتة، مما يجعلها سريعة للغاية عند إجراء الفحوصات المباشرة والبسيطة على السلاسل النصية المفردة.
في المقابل، يتطلب تشغيل دالة REGEXMATCH تفعيل محرك معالجة التعابير النمطية المستند إلى نظرية الأوتوماتا (Automata Engine) داخل الخادم السحابي، وهو محرك عالي الكفاءة في معالجة الأنماط المعقدة ولكنه يستهلك قدراً أكبر من قوة المعالجة المركزية (CPU Overhead) عند تكرار استدعائه آلاف المرات عبر نطاقات ممتدة. وتؤكد الاختبارات المعملية أن استخدام مصفوفات SEARCH المتعددة يتفوق في سرعة الحساب بنسب تصل إلى 25% مقارنة بأنماط REGEX المعقدة في قواعد البيانات الكبيرة الحجم، مما يجعل الدوال التقليدية خياراً مفضلاً لتقليل زمن معالجة الأوراق وتفادي التباطؤ في المستندات التشاركية النشطة.
11.3 معايير اتخاذ القرار الهندسي لاختيار الأسلوب الأنسب للمشروع
يرتكز القرار الهندسي الرشيد في اختيار النهج الأنسب لمعالجة البيانات النصية على الموازنة الدقيقة بين طبيعة المعايير المستهدفة ومستوى الكفاءة التقنية لفريق العمل وتطلعات الصيانة المستقبلية للنظام، وفق المعايير الإرشادية التالية:
- اختيار صيغ دالة SEARCH المتعددة: عندما تكون الكلمات المفتاحية محددة وثابتة، أو عندما يكون الاستعلام قائماً بالأساس على منطق الاقتران الإلزامي (AND)، أو في المشروعات التشاركية التي يديرها محللون ماليون وإداريون يفضلون الصيغ الحسابية المقروءة والشفافة لسهولة تتبع الأخطاء وتعديلها دون الحاجة لإتقان قواعد كتابة التعابير النمطية المعقدة.
- اختيار دالة REGEXMATCH: عندما يتطلب الاستعلام البحث عن أنماط هيكلية مجردة لا يمكن التعبير عنها بالكلمات المجردة—مثل أرقام الهواتف الدولية، أو الصيغ المعيارية للبريد الإلكتروني، أو العناوين الرقمية (IP Addresses)—أو عندما تكون قائمة البدائل لمنطق الاختيار (OR) طويلة جداً ومتغيرة وتتطلب صياغة برمجية مضغوطة للغاية توفر مساحات شريط الصيغ.
- المقاربة التوفيقية المستدامة: يمكن في المشاريع الكبرى الجمع بين النهجين عبر استخدام دالة SEARCH لمعالجة المتغيرات الوصفية العامة، والاستعانة بدالة REGEXMATCH لحراسة وتدقيق أنماط المدخلات المشفرة، محققين بذلك بنية استعلام متكاملة تجمع بين السرعة التشغيلية والمرونة التحليلية القصوى.
12. أفضل الممارسات الأكاديمية لتصحيح الأخطاء وتحسين كفاءة الصيغ المركبة
12.1 منهجيات تدقيق وتتبع مسار الأخطاء في الصيغ الحسابية المعقدة
تتطلب إدارة وتصحيح الصيغ الحسابية المركبة في جداول بيانات جوجل اعتماد منهجيات علمية منضبطة تبتعد عن التخمين العشوائي وتستند إلى الفحص البنيوي المنظم لمسار تدفق البيانات عبر الدوال. تبدأ أولى خطوات التدقيق بعزل المتغيرات الخفية التي تسبب فشل المطابقة النصية بصمت؛ حيث تُعد المسافات البيضاء الزائدة (Leading and Trailing Spaces) الملتصقة ببداية أو نهاية الكلمات المفتاحية من أكثر الأسباب شيوعاً لإخفاق دالة SEARCH في العثور على النصوص المتطابقة ظاهرياً.
لضمان حماية الصيغة من هذا الفشل الخفي، يُنصح أكاديمياً بتمرير السلاسل النصية ومراجع الخلايا دائماً عبر دالة TRIM لتطهيرها آلياً من أي فراغات طارئة، واستخدام دالة CLEAN لحذف المحارف غير القابلة للطباعة. علاوة على ذلك، يجب استخدام دالة LEN لفحص ومقارنة الطول الحقيقي للسلسلة النصية المستهدفة مقابل النص الفعلي في قاعدة البيانات للتحقق من عدم وجود محارف ذات ترميز خاص تعيق عمليات الفحص الموضعي، مما يضمن خضوع البيانات لبيئة اختبار معيارية ترفع من دقة التحليل وتحد من الأخطاء غير المرئية.
12.2 إرشادات تحسين أداء المستندات ومنع التباطؤ الحسابي
يُمثل التباطؤ الحسابي وجمود شاشات التحميل التحدي الأكبر الذي يواجه المؤسسات عند توسع مستندات جداول بيانات جوجل، مما يفرض الالتزام بإرشادات هندسية صارمة لتحسين الأداء وحماية موارد الخوادم السحابية. تأتي في مقدمة هذه الإرشادات ضرورة تجنب استدعاء نطاقات الأعمدة المفتوحة غير المحدودة (مثل A:A أو B:B) داخل المعادلات المصفوفية المركبة إذا كان حجم البيانات الفعلي يشغل مئات قليلة فقط من الصفوف؛ حيث يجبر هذا الاستدعاء الخادم على فحص المساحات الشاغرة بالكامل بلا طائل، وتتمثل الممارسة الفضلى في تقييد النطاقات وفق الحدود المتوقعة للنمو (مثل A2:C2000).
كما يتعين على مهندسي البيانات الحد من استخدام الدوال المتقلبة (Volatile Functions)—مثل NOW وTODAY وRAND—داخل مسارات التصفية والفحص النصي المتزامنة؛ نظراً لأن هذه الدوال تفرض إعادة حساب كاملة لكافة مصفوفات الفحص النصي مع كل نقرة أو تعديل يطرأ على أي خلية في ورقة العمل. وأخيراً، عند اكتمال فترات المراجعة الدورية وتوقف تدفق التعديلات على البيانات التاريخية، يجب تحويل نتائج الصيغ التصفوية المسترجعة إلى قيم نصية ثابتة عبر ميزة “لصق كقيم فقط” (Paste as Values)، مما يؤدي إلى تفريغ الذاكرة الحسابية بشكل كامل والحفاظ على سرعة تفاعلية قصوى للمستند مهما تضخم حجم السجلات المحفوظة.
12.3 التوثيق البرمجي وبناء أدلة الاستخدام للفرق البحثية والتحليلية
يُمثل غياب التوثيق الهندسي للمعادلات المركبة أحد أكبر المخاطر التشغيلية في بيئات العمل المشتركة؛ حيث تصبح صيغ البحث المتداخلة الطويلة غامضة وغير قابلة للفهم أو الصيانة من قبل أعضاء الفريق الآخرين عند غياب مصممها الأصلي. يفرض العمل المؤسسي المنضبط توثيق كل معادلة استعلام مركبة عبر إضافة تعليقات توضيحية داخلية (Internal Comments) تشرح بوضوح المنطق الرياضي المستخدم للربط بين المعايير، وتوضح مبررات اختيار منطق الاقتران أو الاختيار لكل متغير تحليلي.
تكتمل هذه الحوكمة البرمجية بالاعتماد على ميزة النطاقات المسماة (Named Ranges) في جداول بيانات جوجل؛ حيث يتم استبدال مراجع النطاقات الجافة والغامضة (مثل: B2:B100 وE1:E5) بأسماء دلالية واضحة ومعبرة داخل صيغة الدالة، لتصبح المعادلة مقروءة على النحو التالي: FILTER(جدول_الموظفين, ISNUMBER(SEARCH(مهارة_أساسية, التوصيف_الوظيفي))). يسهم هذا النهج الاحترافي في تبسيط بنية الأكواد، وتسهيل التدقيق اللاحق، وتمكين الفرق التحليلية متعددة التخصصات من تعديل وتخصيص معايير البحث والكلمات المفتاحية بأمان تام ودون المساس بسلامة واستقرار النظام البرمجي للمؤسسة.
خاتمة
استعرض هذا البحث الشامل الأبعاد النظرية والتطبيقية المتقدمة لتوظيف دالة SEARCH في معالجة وفحص المعايير النصية المتعددة داخل بيئة جداول بيانات جوجل (Google Sheets). ولقد تبين بوضوح أن تخطي حاجز البحث الأحادي التقليدي يتطلب الانتقال الحتمي نحو النمذجة الرياضية للجبر البولياني، ودمج مصفوفات الفحص النصي ضمن أطر الاسترجاع والتصفية الديناميكية التي توفرها دالة FILTER مدعومة بالحوسبة المتجهية الشاملة عبر ARRAYFORMULA. إن هذا التكامل الرياضي والوظيفي يعيد تعريف جداول البيانات السحابية كمنصات متقدمة لإدارة وتحليل البيانات غير المهيكلة بمستويات دقة تضاهي لغات الاستعلام العلائقية المتخصصة.
كما بينت الدراسة الأهمية القصوى للتمييز التشغيلي بين منطق الاقتران الإلزامي (AND Logic) القائم على التقاطع، ومنطق الاختيار التبادلي (OR Logic) المستند إلى الجمع الجبري، فضلاً عن فهم السلوك المعياري لحساسية الأحرف عند المفاضلة بين دالتي SEARCH وFIND. إن الإدارة الواعية لأخطاء عدم التطابق، وضبط استخدام حروف البدل، والالتزام الصارم بقواعد تحسين الأداء وتوثيق الأكواد، تمثل مجتمعة منظومة الضمانات الحاكمة لبناء نماذج تحليلية مستقرة، وقابلة للتوسع، وتلبي أرقى المعايير المهنية والأكاديمية في هندسة وإدارة البيانات الضخمة المعاصرة.
المراجع
- Google. (2024). Google Sheets function list: SEARCH function documentation. Google Help Center. https://support.google.com/docs/answer/3094154
- Google. (2024). Filter and organize data: FILTER function reference. Google Help Center. https://support.google.com/docs/answer/3093197
- Google. (2024). Use arrays and ARRAYFORMULA in Google Sheets. Google Workspace Learning Center. https://support.google.com/docs/answer/3093275
- Walkenbach, J. (2021). Excel and Google Sheets Formulas and Functions (5th ed.). John Wiley & Sons.
- Winston, W. L. (2022). Data Analysis and Business Modeling with Spreadsheet Technologies (6th ed.). Microsoft Press.
- Alexander, M., & Kusleika, R. (2020). Spreadsheet Engineering and Advanced Data Manipulation. O’Reilly Media.
- Bluttman, K. (2023). Google Sheets For Dummies. John Wiley & Sons.
- Frye, C. (2021). Managing and Analyzing Data with Cloud Spreadsheets. Pearson Education.