تعيد =TEXTBEFORE(A2," ") كل ما قبل المسافة الأولى، فتعطي Ana Silva النتيجة Ana، وتعيد =TEXTAFTER(A2," ") كل ما بعدها، Silva. انسخ الصيغتين إلى الأسفل فينقسم كل اسم كامل إلى عمودين.
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
| 5 | Dara Kelly | Dara | Kelly |
| 6 | Eli Novak | Eli | Novak |
غيّر اسمًا في العمود A فيتبعه العمودان. تحتاج TEXTBEFORE وTEXTAFTER وTEXTSPLIT إلى Microsoft 365 أو Excel 2024. ولـ Excel 2021 وما قبله، تجد طريقة LEFT وFIND في الأسفل.
دالة TEXTSPLIT: تقسيم خلية إلى أعمدة
تقطع =TEXTSPLIT(A2," ") النص عند كل مسافة وتضع كل جزء في خلية مستقلة. صيغة واحدة تملأ أعمدة بعدد الأجزاء:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Text | ||||
| 2 | Ana Maria Silva | Ana | Maria | Silva | |
| 3 | Paris, Lyon, Nice | Paris | Lyon | Nice |
- يمكن أن يكون الفاصل أكثر من حرف واحد: تقسم
", "عند فاصلة تليها مسافة، فلا تبدأ الأجزاء بمسافة. - اترك مساحة للنتيجة. إذا لم تكن خلية على اليمين فارغة، تعرض الصيغة #SPILL! بدلًا من ذلك.
- الأجزاء نص دائمًا، حتى الأرقام، لذا تتخطاها SUM. ضع علامتي طرح في البداية،
=--TEXTSPLIT(A2,",")، عندما تحتاج إلى أرقام.
الوسيط الثالث فاصل صفوف. ومع الفاصلين معًا، تبني TEXTSPLIT جدولًا صغيرًا من خلية واحدة: تفصل الفواصل الأعمدة وتفصل الفواصل المنقوطة الصفوف.
| A | B | |
|---|---|---|
| 1 | Teams | |
| 2 | Ana,Red;Ben,Blue;Chen,Green | |
| 3 | ||
| 4 | Ana | Red |
| 5 | Ben | Blue |
| 6 | Chen | Green |
وشكلان آخران يعملان في الاكسل، معروضان هنا كنص:
=TEXTSPLIT(A2,,", ") one piece per row: the column delimiter is left out
=TEXTSPLIT(A2,{";",","}) several delimiters in braces: splits at ; or ,
يحوّل الأول excel, formulas, text إلى عمود من ثلاث خلايا، وهكذا تحوّل قائمة مكتوبة في خلية واحدة إلى صفوف. ويحوّل الثاني red;green,blue إلى red وgreen وblue.
الأسماء الوسطى وصيغة "Last, First"
تعيد TEXTAFTER(A2," ") كل ما بعد المسافة الأولى، فتعيد مع Ana Maria Silva النتيجة Maria Silva. وللحصول على الكلمة الأخيرة، عُدّ من النهاية برقم تكرار -1. وللأسماء المكتوبة بالشكل Silva, Ana، قسّم عند الفاصلة والمسافة بدلًا من ذلك:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Maria Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Li Wu | Chen | Wu |
| 5 | Cher | Cher | |
| 6 | |||
| 7 | Last, First | First | Last |
| 8 | Silva, Ana | Ana | Silva |
عندما يكون الفاصل مفقودًا، تعيد TEXTBEFORE وTEXTAFTER الخطأ #N/A، والاسم المكوّن من كلمة واحدة مثل Cher لا مسافة فيه. يستخدم الصف 5 الوسيط السادس، وهو القيمة التي تُعاد بدلًا من الخطأ: تعيد =TEXTBEFORE(A5," ",,,,A5) الاسم كله، وتعيد TEXTAFTER(...,"") خلية فارغة.
| A | B | C | |
|---|---|---|---|
| 1 | User | Domain | |
| 2 | ana.silva@coddy.tech | ana.silva |
دورك: في C2، أعد نطاق عنوان البريد الإلكتروني الموجود في A2: كل ما بعد @.
فصل الأسماء في الإصدارات الأقدم
بدون TEXTBEFORE وTEXTAFTER، أوجد موضع المسافة بالدالة FIND واقطع حولها بالدوال LEFT وMID وRIGHT:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
FIND(" ",A2)هو موضع المسافة: 4 فيAna Silva.- تأخذ
LEFT(A2,4-1)الأحرف الثلاثة التي قبلها. - تأخذ
MID(A2,4+1,100)حتى 100 حرف بدءًا مما بعد المسافة. والرقم 100 يعني فقط "أكثر من أي اسم"؛ وتعطي=RIGHT(A2,LEN(A2)-FIND(" ",A2))النتيجة نفسها بطول دقيق.
تعيد هذه الصيغ الخطأ #VALUE! عندما لا توجد مسافة. ضعها داخل IFERROR، =IFERROR(LEFT(A2,FIND(" ",A2)-1),A2)، لإرجاع الخلية كلها بدلًا من ذلك.
| A | B | |
|---|---|---|
| 1 | Code | Prefix |
| 2 | KT-1043-BLUE |
دورك: أعد في B2 جزء رمز المنتج الذي يسبق الشرطة الأولى، باستخدام LEFT وFIND.
نص إلى أعمدة والتعبئة السريعة
لتقسيم عمود مرة واحدة، دون صيغ:
- حدد عمود الأسماء الكاملة. تأكد من أن الأعمدة التي على يمينه فارغة، لأن نص إلى أعمدة يكتب فوقها.
- بيانات > نص إلى أعمدة.
- اختر محدد، وانقر التالي، وحدد مسافة (أو فاصلة، أو اكتب حرفًا آخر في أخرى)، وانقر التالي.
- يحل الجزء الأول محل الأسماء الكاملة. وللاحتفاظ بها، اضبط الوجهة على الخلية الفارغة التي على يمينها، ثم انقر إنهاء.
التعبئة السريعة أسرع مع الأنماط: اكتب Ana بجانب Ana Silva، واضغط Enter، ثم Ctrl+E أو بيانات > التعبئة السريعة، فيملأ الاكسل الأسماء الأولى للصفوف الأخرى. تكتب الأداتان قيمًا ثابتة. فإذا تغيرت الأسماء لاحقًا لا يتغير التقسيم، أما الصيغة فتتغير.
الأسئلة الشائعة
كيف أفصل الاسم الأول عن اسم العائلة في الاكسل؟
مع اسم مثل Ana Silva في A2، تعطي =TEXTBEFORE(A2," ") النتيجة Ana، وتعطي =TEXTAFTER(A2," ",-1) النتيجة Silva، حتى عندما يوجد اسم أوسط. وفي Excel 2021 وما قبله استخدم =LEFT(A2,FIND(" ",A2)-1) للاسم الأول.
ما إصدارات الاكسل التي تحتوي على TEXTSPLIT؟
توجد TEXTSPLIT وTEXTBEFORE وTEXTAFTER في Microsoft 365 وExcel للويب وExcel 2024. ويعرض Excel 2021 وما قبله #NAME?؛ استخدم هناك LEFT وMID وRIGHT وFIND، أو بيانات > نص إلى أعمدة.
كيف أقسم خلية عند الفاصلة في الاكسل؟
تمتد =TEXTSPLIT(A2,", ") فتضع كل جزء في عمود مستقل. ولوضع الأجزاء في صفوف بدلًا من ذلك، اترك فاصل الأعمدة فارغًا: =TEXTSPLIT(A2,,", ").
لماذا تعيد TEXTBEFORE الخطأ #N/A؟
لأن الفاصل غير موجود في الخلية، مثل اسم مفرد بلا مسافة. أعطِ قيمة لهذه الحالة في الوسيط السادس: تعيد =TEXTBEFORE(A2," ",,,,A2) الخلية كلها عندما لا توجد مسافة.