جدول المحتويات
يوضح البرنامج التعليمي كيفية استخدام وظيفة TEXTSPLIT الجديدة تمامًا لتقسيم السلاسل في Excel 365 بواسطة أي محدد تحدده.
قد تكون هناك مواقف مختلفة عندما تحتاج إلى تقسيم الخلايا في Excel. في الإصدارات السابقة ، كنا مجهزين بالفعل بعدد من الأدوات لإنجاز المهمة مثل Text to Columns و Fill Flash. الآن ، لدينا أيضًا وظيفة خاصة لهذا ، TEXTSPLIT ، والتي يمكنها فصل سلسلة إلى خلايا متعددة عبر أعمدة أو / صفوف بناءً على المعلمات التي تحددها.
وظيفة Excel TEXTSPLIT
تعمل الدالة TEXTSPLIT في Excel على تقسيم السلاسل النصية بواسطة محدد معين عبر الأعمدة و / والصفوف. والنتيجة هي صفيف ديناميكي يمتد إلى خلايا متعددة تلقائيًا.
تأخذ الوظيفة ما يصل إلى 6 وسيطات ، فقط أول اثنتين منها مطلوبة.
TEXTSPLIT (text، col_delimiter، [row_delimiter]، [ignore_empty] ، [match_mode] ، [pad_with])text (مطلوب) - النص المراد تقسيمه. يمكن توفيره كسلسلة أو مرجع خلية.
col_delimiter (مطلوب) - حرف (أحرف) يشير إلى مكان تقسيم النص عبر الأعمدة. إذا تم حذفه ، يجب تحديد row_delimiter .
row_delimiter (اختياري) - حرف (أحرف) يشير إلى مكان تقسيم النص عبر الصفوف.
ignore_empty (اختياري) - يحدد ما إذا كان سيتم تجاهل القيم الفارغة أم لا:
- FALSE (افتراضي) -إنشاء خلايا فارغة للمحددات المتتالية بدون قيمة بينهما.
- TRUE - تجاهل القيم الفارغة ، أي لا تقم بإنشاء خلايا فارغة لمحددين متتاليين أو أكثر.
match_mode (اختياري) - تحدد حساسية حالة الأحرف للمحدد. ممكن افتراضيًا.
- 0 (افتراضي) - حساس لحالة الأحرف
- 1 - غير حساس لحالة الأحرف
pad_with (اختياري ) - قيمة يتم استخدامها بدلاً من القيم المفقودة في المصفوفات ثنائية الأبعاد. الافتراضي هو الخطأ # N / A.
على سبيل المثال ، لتقسيم سلسلة نصية في A2 إلى خلايا متعددة باستخدام فاصلة ومسافة كفاصل ، فإن الصيغة هي:
=TEXTSPLIT(A2, ", ")
توفر TEXTSPLIT
تتوفر الوظيفة TEXTSPLIT فقط في Excel for Microsoft 365 (Windows و Mac) و Excel للويب.
تلميحات:
- في إصدارات Excel التي لا تتوفر فيها وظيفة TEXTSPLIT (بخلاف Excel 365) ، يمكنك استخدام معالج Text to Columns لتقسيم الخلايا.
- لإجراء المهمة العكسية ، أي للانضمام إلى محتويات عدة خلايا في خلية واحدة باستخدام محدد معين ، TEXTJOIN هي الوظيفة التي يجب استخدامها.
صيغة TEXTSPLIT الأساسية لتقسيم خلية في Excel
بالنسبة للمبتدئين ، دعنا نرى كيفية استخدام TEXTSPLIT الصيغة في أبسط أشكالها لتقسيم سلسلة نصية بواسطة محدد معين.
قم بتقسيم خلية أفقيًا عبر الأعمدة
لتقسيم محتويات خلية معينة إلى عدة أعمدة ، قم بتوفيرمرجع للخلية التي تحتوي على السلسلة الأصلية للوسيطة الأولى ( نص ) والمحدد الذي يحدد النقطة التي يجب أن يحدث فيها التقسيم للوسيطة الثانية ( col_delimiter ).
على سبيل المثال ، لفصل السلسلة في A2 أفقيًا بفاصلة ، تكون الصيغة:
=TEXTSPLIT(A2, ",")
بالنسبة للمحدد ، نستخدم فاصلة محاطة بعلامات اقتباس مزدوجة ("،") .
نتيجة لذلك ، ينتقل كل عنصر مفصول بفاصلة إلى عمود فردي:
تقسيم خلية عموديًا عبر الصفوف
لتقسيم النص عبر صفوف متعددة ، يتم تقسيم الخلية إلى صفوف متعددة. الوسيطة ( row_delimiter ) هي المكان الذي تضع فيه المحدد. تم حذف الوسيطة الثانية ( col_delimiter ) في هذه الحالة.
على سبيل المثال ، لفصل القيم في A2 إلى صفوف مختلفة ، تكون الصيغة:
=TEXTSPLIT(A2, ,",")
الرجاء ملاحظة أنه في كلتا الحالتين ، يتم إدخال الصيغة في خلية واحدة فقط (C2). في الخلايا المجاورة ، تنسكب القيم المرتجعة تلقائيًا. يتم تمييز المصفوفة الناتجة (التي تسمى نطاق الانسكاب) بحد أزرق يشير إلى أن كل شيء بداخله يتم حسابه بواسطة الصيغة الموجودة في الخلية اليسرى العلوية.
تقسيم النص عن طريق السلسلة الفرعية
في في كثير من الحالات ، يتم فصل القيم الموجودة في السلسلة المصدر بتسلسل من الأحرف ، وتعتبر الفاصلة والمسافة مثالًا نموذجيًا. للتعامل مع هذا السيناريو ، استخدم سلسلة فرعية للمحدد.
على سبيل المثال ، لفصل النص في A2 إلى عدة أعمدةبفاصلة ومسافة ، استخدم السلسلة "،" لـ col_delimiter .
=TEXTSPLIT(A2, ", ")
تنتقل هذه الصيغة إلى B2 ، ثم تنسخها من خلال أكبر عدد الخلايا حسب الحاجة.
تقسيم السلسلة إلى أعمدة وصفوف مرة واحدة
لتقسيم سلسلة نصية إلى صفوف وأعمدة في وقت واحد ، حدد كلا المحددين في صيغة TEXTSPLIT.
على سبيل المثال ، لتقسيم السلسلة النصية في A2 عبر الأعمدة والصفوف ، نوفر:
- علامة المساواة ("=") لـ col_delimiter
- فاصلة و a space ("،") لـ row_delimiter
تأخذ الصيغة الكاملة هذا الشكل:
=TEXTSPLIT(A2, "=", ", ")
النتيجة هي 2-D صفيف يتكون من عمودين و 3 صفوف:
افصل الخلايا بواسطة محددات متعددة
للتعامل مع محددات متعددة أو غير متسقة في سلسلة المصدر ، استخدم ثابت صفيف مثل {"x"، "y" ، "z"} لوسيطة المحدد.
في لقطة الشاشة أدناه ، تم تحديد النص في A2 بفاصلات ("،") والفواصل المنقوطة ("؛") مع وبدون مسافات. لتقسيم السلسلة عموديًا إلى صفوف بواسطة جميع الأشكال الأربعة للمحدد ، تكون الصيغة:
=TEXTSPLIT(A2, , {",",", ",";","; "})
أو ، يمكنك فقط تضمين فاصلة ("،") وفاصلة منقوطة ("؛ ") في المصفوفة ، ثم أزل المسافات الزائدة بمساعدة دالة TRIM:
=TRIM(TEXTSPLIT(A2, , {",",";"}))
انقسام النص مع تجاهل القيم الفارغة
إذا كانت السلسلة تحتوي على محددان متتاليان أو أكثر بدون قيمة بينهما ، يمكنك اختيار تجاهل هذا الفارغالقيم أم لا. يتم التحكم في هذا السلوك بواسطة المعلمة الرابعة ignore_empty ، والتي يتم تعيينها افتراضيًا على FALSE.
افتراضيًا ، لا تتجاهل الدالة TEXTSPLIT القيم الفارغة. يعمل السلوك الافتراضي بشكل جيد مع البيانات المنظمة كما في المثال أدناه.
في نموذج الجدول هذا ، الدرجات مفقودة في بعض السلاسل. تتعامل صيغة TEXTSPLIT مع الوسيطة ignore_empty التي تم حذفها أو تعيينها على FALSE بشكل مثالي ، مما يؤدي إلى إنشاء خلية فارغة لكل قيمة فارغة.
=TEXTSPLIT(A2, ", ")
أو
=TEXTSPLIT(A2, ", ", FALSE)
نتيجة لذلك ، تظهر جميع القيم في الأعمدة المناسبة.
في حالة احتواء السلاسل الخاصة بك على بيانات متجانسة ، فقد يكون من المنطقي تجاهل القيم الفارغة. لهذا ، اضبط الوسيطة ignore_empty على TRUE أو 1.
على سبيل المثال ، لتقسيم السلاسل أدناه ووضع كل مهارة في خلية منفصلة بدون فجوات ، الصيغة هي:
=TEXTSPLIT(A2, ", ", ,TRUE)
في هذه الحالة ، يتم تجاهل القيم المفقودة بين المحددات المتتالية تمامًا:
تقسيم الخلية حساس لحالة الأحرف أو غير حساس لحالة الأحرف
للتحكم في الحالة- حساسية المحدد ، استخدم الوسيطة الخامسة ، match_mode .
افتراضيًا ، يتم تعيين match_mode على 0 ، مما يجعل TEXTSPLIT حساسًا لحالة الأحرف .
في هذا المثال ، يتم الفصل بين الأرقام بالحروف الصغيرة "x" والأحرف الكبيرة "X".
تقبل الصيغة التي تحتوي على حساسية حالة الأحرف الافتراضية فقط الأحرف الصغيرة "x" "مثلالمحدِّد:
=TEXTSPLIT(A2, " x ")
يُرجى الانتباه إلى أن المحدِّد به مسافة على جانبي الحرف "x" من أجل منع المسافات البادئة والزائدة في النتائج.
لإيقاف تشغيل حساسية حالة الأحرف ، يمكنك توفير 1 لـ match_mode لإجبار صيغة TEXTSPLIT على تجاهل حالة الأحرف:
=TEXTSPLIT(A2, " x ", , ,1)
الآن ، الكل يتم تقسيم السلاسل بشكل صحيح إما عن طريق المحدد:
لوحة القيم المفقودة في الصفيف ثنائي الأبعاد
الوسيطة الأخيرة لوظيفة TEXTSPLIT ، pad_with ، تكون في متناول اليد في حالة واحدة أو المزيد من القيم مفقودة في سلسلة المصدر. عندما يتم تقسيم مثل هذه السلسلة إلى كل من الأعمدة والصفوف ، بشكل افتراضي ، يقوم Excel بإرجاع أخطاء # N / A بدلاً من القيم المفقودة لعدم تشويش بنية المصفوفة ثنائية الأبعاد.
في السلسلة أدناه ، لا يوجد "=" ( col_delimiter ) بعد "النتيجة". للحفاظ على تكامل المصفوفة الناتجة ، ينتج TEXTSPLIT # N / A بجوار "النتيجة".
لجعل النتيجة أكثر سهولة في الاستخدام ، يمكنك استبدال الخطأ # N / A بأي قيمة تريدها. ببساطة ، اكتب القيمة المطلوبة في pad_with الوسيطة.
في حالتنا ، يمكن أن يكون ذلك واصلة ("-"):
=TEXTSPLIT(A2, "=", ", ", , ,"-")
أو سلسلة فارغة (""):
=TEXTSPLIT(A2, "=", ", ", , ,"")
الآن بعد أن تعلمت الاستخدامات العملية لكل وسيطة للدالة TEXTSPLIT ، دعنا نناقش بعض الأمثلة المتقدمة التي يمكن أن تساعدك التعامل مع التحديات غير التافهة في جداول بيانات Excel الخاصة بك.
تقسيم التواريخإلى يوم وشهر وسنة
لتقسيم تاريخ إلى وحدات فردية ، تحتاج أولاً إلى تحويل التاريخ إلى نص لأن الدالة TEXTSPLIT تتعامل مع سلاسل نصية بينما تكون تواريخ Excel أرقامًا.
أسهل طريقة تحويل قيمة رقمية إلى نص باستخدام دالة TEXT. فقط تأكد من تقديم رمز تنسيق مناسب لتاريخك.
في حالتنا ، الصيغة هي:
=TEXT(A2, "m/d/yyyy")
الخطوة التالية هي دمج الوظيفة أعلاه في الوسيطة الأولى من TEXTSPLIT وأدخل المحدد المقابل للوسيطة الثانية أو الثالثة ، اعتمادًا على ما إذا كنت تنقسم عبر أعمدة أو صفوف. في هذا المثال ، يتم تحديد وحدات التاريخ بشرطة مائلة ، لذلك نستخدم "/" للوسيطة col_delimiter :
=TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")
تقسيم الخلايا وإزالة أحرف معينة
تخيل هذا: لقد قسمت سلسلة طويلة إلى أجزاء ، لكن المصفوفة الناتجة لا تزال تحتوي على بعض الأحرف غير المرغوب فيها ، مثل الأقواس في لقطة الشاشة أدناه:
=TEXTSPLIT(A2, " ", "; ")
من أقواس الفتح والإغلاق في وقت واحد ، قم بتداخل وظيفتين SUBSTITUTE واحدة في الأخرى (كل واحدة تستبدل قوسًا بسلسلة فارغة) واستخدم صيغة TEXTSPLIT لـ نص وسيطة SUBSTITUTE الداخلية:
=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")
نصيحة. إذا كانت المصفوفة النهائية تحتوي على عدد كبير جدًا من الأحرف الإضافية ، فيمكنك إزالتها باستخدام إحدى الطرق الموضحة في هذه المقالة: كيفية إزالة الأحرف غير المرغوب فيها في Excel.
تقسيم السلاسل تخطي قيم معينة
لنفترض أنك تريد فصل السلاسل أدناه إلى 4 أعمدة: الاسم الأول ، اسم العائلة ، الدرجة ، و النتيجة . المشكلة أن بعض السلاسل تحتوي على العنوان "السيد". أو "Ms." ، نظرًا لأن النتائج كلها خاطئة:
الحل ليس واضحًا ولكنه بسيط تمامًا :)
بالإضافة إلى المحددات الحالية ، وهي مسافة (" ") وفاصلة ومسافة ("، ") ، يمكنك تضمين السلاسل" Mr. "و" Ms. "في ثابت الصفيف col_delimiter ، بحيث تستخدم الوظيفة العناوين نفسها لفصل نص. لتجاهل القيم الفارغة ، قمت بتعيين الوسيطة ignore_empty على TRUE.
=TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)
الآن ، النتائج مثالية تمامًا!
بدائل TEXTSPLIT
في إصدارات Excel حيث لا يتم دعم وظيفة TEXTSPLIT ، يمكنك تقسيم السلاسل باستخدام مجموعات مختلفة من دالة SEARCH / FIND مع LEFT و RIGHT و MID. على وجه الخصوص:
- بحث غير حساس لحالة الأحرف أو تحدد FIND الحساسة لحالة الأحرف موضع المحدد داخل سلسلة ، و
- تستخرج الدالات LEFT و RIGHT و MID سلسلة فرعية من قبل ، بعد أو بين مثيلين من المحدد.
في حالتنا ، لتقسيم القيم مفصولة بـ فاصلة ومسافة ، تسير الصيغ على النحو التالي.
لاستخراج الاسم:
=LEFT(A2, SEARCH(",", A2, 1) -1)
لسحب النتيجة:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
للحصول علىالنتيجة:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
للحصول على شرح مفصل لمنطق الصيغ ، راجع كيفية تقسيم السلاسل حسب الحرف أو القناع.
الرجاء تذكر أنه على عكس المصفوفة الديناميكية دالة TEXTSPLIT ، تتبع هذه الصيغ نهج الخلية الواحدة التقليدي ذي الصيغة الواحدة. أدخل الصيغة في الخلية الأولى ، ثم اسحبها لأسفل العمود لنسخها إلى الخلايا أدناه.
توضح لقطة الشاشة أدناه النتائج:
هذه هي كيفية تقسيم الخلايا في Excel 365 باستخدام TEXTSPLIT أو الحلول البديلة في الإصدارات السابقة. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!
تدرب على المصنف للتنزيل
دالة TEXTSPLIT لتقسيم السلاسل - أمثلة للصيغ (ملف .xlsx)