دالة TEXTSPLIT هي دالة معالجة نصوص تم تقديمها في برنامج إكسيل (متوفرة في Microsoft 365، وExcel 2021، وExcel على الويب) تقوم بتقسيم السلاسل النصية إلى خلايا متعددة بناءً على محددات (فواصل) معينة. إنها المكافئ المعتمد على الصيغ لميزة “النص إلى أعمدة” في إكسيل، ولكن مع نتائج ديناميكية وقابلة للانتشار التلقائي (Spill).
التركيب الأساسي دالة TEXTSPLIT
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])شرح الوسائط (Arguments)
| الوسيط | الإلزام/الاختيار | الوصف |
|---|---|---|
| text | مطلوب | النص الذي تريد تقسيمه |
| col_delimiter | مطلوب* | المحدد الذي يحدد مكان تقسيم النص عبر الأعمدة |
| row_delimiter | اختياري | المحدد الذي يحدد مكان تقسيم النص لأسفل عبر الصفوف |
| ignore_empty | اختياري | القيمة الافتراضية FALSE. اضبط على TRUE لتجاهل المحددات المتتالية |
| match_mode | اختياري | القيمة الافتراضية 0 (مراعاة حالة الأحرف). استخدم 1 للمطابقة غير المراعية لحالة الأحرف |
| pad_with | اختياري | القيمة المستخدمة عندما توجد قيم مفقودة في المصفوفة ثنائية الأبعاد |
ملاحظة: يجب توفير إما محددالأعمدة أو محددالصفوف
الميزات الرئيسية والقدرات
1. التقسيم ثنائي الاتجاه
يمكن لـ TEXTSPLIT التقسيم في كلا الاتجاهين في وقت واحد:
- عبر الأعمدة (تقسيم أفقي)
- لأسفل عبر الصفوف (تقسيم رأسي)
=TEXTSPLIT("A1,B1,C1;A2,B2,C2", ",", ";")النتيجة: إنشاء مصفوفة 2×3 مع A1, B1, C1 في الصف الأول و A2, B2, C2 في الصف الثاني.
2. محددات متعددة
يمكنك استخدام مصفوفات من المحددات:
=TEXTSPLIT("John-Doe|Manager", {"-", "|"})النتيجة: التقسيم بواسطة كل من الشرطة والرمز العمودي إلى ثلاثة أعمدة.
3. سلوك الانتشار التلقائي الديناميكي (Dynamic Spill)
تنتشر النتائج تلقائياً إلى الخلايا المجاورة دون الحاجة إلى الضغط على Ctrl+Shift+Enter.
4. تجاهل الخلايا الفارغة
=TEXTSPLIT("apple,,orange,,banana", ",",, TRUE)النتيجة: إرجاع فقط “apple”, “orange”, “banana” بدون خلايا فارغة.
شاهد الدرس علي اليوتيوب
أمثلة عملية
المثال 1: تقسيم أساسي إلى أعمدة
=TEXTSPLIT("John Smith,Marketing,New York", ",")النتيجة: | John Smith | Marketing | New York |
المثال 2: تقسيم الأسماء
=TEXTSPLIT("John Michael Smith", " ")النتيجة: | John | Michael | Smith |
المثال 3: تحليل عنوان البريد الإلكتروني
=TEXTSPLIT("john.doe@company.com", {"@", "."})النتيجة: | john | doe | company | com |
المثال 4: تقسيم العنوان
=TEXTSPLIT("123 Main St;Boston;MA;02134", ";")النتيجة: | 123 Main St | Boston | MA | 02134 |
المثال 5: تقسيم متعدد الاتجاهات
=TEXTSPLIT("Name:John|Age:30;Name:Jane|Age:25", "|", ";")ينشئ مصفوفة 2×2 مع كل سجل في صف منفصل.
حالات الاستخدام الشائعة
- تنظيف البيانات: تقسيم الحقول المجمعة (الأسماء الكاملة، العناوين)
- استيراد بيانات CSV: تحليل القيم المفصولة بفواصل أو علامات جدولة
- تحليل السجلات (Logs): تقسيم مدخلات السجلات إلى مكونات
- معالجة النصوص: استخراج عناصر محددة من السلاسل النصية
- تحويل البيانات: إعداد البيانات للتحليل أو إعداد التقارير
المقارنة مع البدائل
| الطريقة | المزايا | العيوب |
|---|---|---|
| TEXTSPLIT | ديناميكية، معتمدة على الصيغ، ثنائية الاتجاه | متاحة فقط في إكسيل 365 والإصدارات الأحدث |
| Text to Columns | واجهة مستخدم بسيطة، تتعامل مع بيانات كبيرة | عملية يدوية، نتائج ثابتة غير ديناميكية |
| FILTERXML | تحليل XML قوي | تركيب معقد، يتطلب تنسيق XML |
| LEFT/MID/RIGHT | تحكم دقيق | معقد للتقسيمات المتعددة |
معالجة الأخطاء
الأخطاء الشائعة:
- #N/A: لم يتم العثور على محدد (إذا كان كل من المحددين مفقودين)
- #CALC!: مصفوفة فارغة (إذا لم يتم العثور على تطابقات)
- #SPILL!: نطاق الإخراج مسدود
حل بديل للأخطاء:
=IFERROR(TEXTSPLIT(text, delimiter), text)تقنيات متقدمة
1. تداخل مع دوال أخرى
=TRIM(TEXTSPLIT(A1, ",")) // إزالة المسافات الزائدة من النتائج2. اكتشاف المحدد ديناميكياً
=TEXTSPLIT(A1, IF(ISNUMBER(SEARCH(";", A1)), ";", ","))3. حشو القيم المفقودة
=TEXTSPLIT("A,B,C;D,E", ",", ";",,,"غير متوفر")النتيجة: تعبئة الخلايا الفارغة بـ “غير متوفر”
القيود والاعتبارات
- التوافر: متاحة فقط في إصدارات إكسيل الأحدث (365، 2021+)
- الأداء: قد تكون أبطأ من “النص إلى أعمدة” لمجموعات البيانات الكبيرة جداً
- نطاق الانتشار: يتطلب خلايا فارغة للنتائج
- حجم المصفوفة: محدود بحجم شبكة إكسيل (1,048,576 صف × 16,384 عمود)
أفضل الممارسات
- أرفق بـ TRIM() لتنظيف النتائج:
=TRIM(TEXTSPLIT(...)) - استخدم IFERROR() لمعالجة الأخطاء بسلاسة
- اجمع مع FILTER() لإزالة النتائج الفارغة
- اختبر على عينة بيانات قبل التطبيق على مجموعة البيانات الكاملة
- ضع في الاعتبار أنواع البيانات – النتائج هي نص، وقد تحتاج إلى تحويل
تطبيق عملي من الحياة الواقعية
// تحليل مدخل سجل
=TEXTSPLIT(
"[2024-01-15 14:30:22] ERROR: User login failed - IP:192.168.1.1",
{"[", "] ", ": ", " - "}
)المراجع والمصادر
- العنوان: دالة TEXTSPLIT
- المحتوى: الصيغة الرسمية، والوسائط، وأمثلة أساسية
الخلاصة
دالة TEXTSPLIT هي إضافة قوية لمجموعة أدوات معالجة النصوص في إكسيل، تقدم:
- تقسيم نصوص ديناميكي معتمد على الصيغ
- قدرة تقسيم ثنائية الاتجاه
- تكامل سلس مع وظيفة الانتشار التلقائي (Spill) في إكسيل
- بديل أفضل للصيغ المتداخلة المعقدة التي تستخدم LEFT، RIGHT، MID، FIND، إلخ.
إنها تبسط بشكل كبير المهام التي كانت تتطلب سابقاً دوال متعددة أو عمليات يدوية، مما يجعل إعداد البيانات وتنظيفها أكثر كفاءة في إصدارات إكسيل الحديثة.