انتقل إلى المحتوى الرئيسي

قم بقص أو إزالة الأحرف غير الرقمية من السلاسل النصية

في بعض الأحيان ، قد تحتاج إلى إزالة جميع الأحرف غير الرقمية من السلاسل النصية ، والاحتفاظ فقط بالأرقام كما هو موضح أدناه. ستقدم هذه المقالة بعض الصيغ لحل هذه المهمة في Excel.


قم بقص أو إزالة كل الأحرف غير الرقمية من السلاسل النصية باستخدام الصيغ

في Excel 2019 و Office 365 ، يمكن أن تساعدك وظيفة TEXTJOIN الجديدة التي تتحد مع وظائف IFERROR و MID و ROW و INDIRECT في استخراج الأرقام فقط من سلسلة نصية ، وبناء الجملة العام هو:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: السلسلة النصية أو قيمة الخلية التي تريد إزالة جميع الأحرف غير الرقمية منها.

1. يرجى نسخ أو إدخال الصيغة أدناه في خلية فارغة حيث تريد إخراج النتيجة:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. ثم اضغط على كترل + شيفت + إنتر مفاتيح معًا للحصول على النتيجة الأولى ، انظر لقطة الشاشة:

3. بعد ذلك ، حدد خلية الصيغة ، ثم اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تطبيق هذه الصيغة ، تم استخراج الأرقام فقط ، وتم تجريد جميع الأحرف غير الرقمية الأخرى ، انظر لقطة الشاشة:


شرح الصيغة:

ROW (غير مباشر ("1: 100"): الرقم 1: 100 في الصيغة INDIRECT تعني أن الدالة MID تقيم 100 حرف من السلسلة النصية. ستحتوي هذه المصفوفة على 100 رقم مثل هذا: {1؛ 2؛ 3؛ 4؛ 5؛ 6؛ 7؛ 8 .... 98؛ 99؛ 100}.
ملاحظات: إذا كانت السلسلة النصية أطول بكثير ، فيمكنك تغيير الرقم 100 إلى رقم أكبر حسب حاجتك.

MID (A2، ROW (INDIRECT ("1: 100")) ، 1: تُستخدم وظيفة MID هذه لاستخراج النص في الخلية A2 للحصول على حرف واحد ، وستكون مصفوفة مثل هذا:
{"5"؛ "0"؛ "0"؛ ""؛ "K"؛ "u"؛ "t"؛ "o"؛ "o"؛ "l"؛ "s"؛ ""؛ "f" ؛ "o"؛ "r"؛ ""؛ "E"؛ "x"؛ "c"؛ "e"؛ "l"؛ ""؛ ""؛ ""؛ ""؛ ""؛ "". ..}

MID(A2,ROW(INDIRECT("1:100")),1)+0: إضافة قيمة 0 بعد استخدام هذه المصفوفة لفرض النص على رقم ، سيتم تحويل قيمة النص الرقمي إلى رقم ، وسيتم عرض القيم غير الرقمية كقيمة خطأ #VALUE مثل هذا:
{"5"؛ "0"؛ "0"؛ # VALUE!؛ # VALUE!؛ # VALUE!؛ # VALUE!؛ # VALUE!؛ # VALUE! !؛#القيمة! !؛#القيمة!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: تُستخدم هذه الدالة IFERROR لاستبدال جميع قيم الخطأ بسلسلة فارغة مثل هذا:
{"5" ؛ "0" ؛ "0" ؛ "" ؛ "" ؛ "" ؛ "" ؛ "" ؛ "" ؛ "" ؛ "" ؛ …}

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): أخيرًا ، ستجمع هذه الدالة TEXTJION جميع القيم غير الفارغة في المصفوفة التي تُرجعها الدالة IFFERROR وتُرجع النتيجة.


ملاحظة:

1. باستخدام الصيغة أعلاه ، سيتم إرجاع الأرقام بتنسيق نص ، إذا كنت بحاجة إلى قيمة رقمية حقيقية ، يرجى تطبيق هذه الصيغة ، وتذكر الضغط كترل + شيفت + إنتر مفاتيح معًا للحصول على النتيجة الصحيحة.

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. في الإصدارات المبكرة من Excel ، لن تعمل هذه الصيغة ، وفي هذه الحالة ، قد تساعدك الصيغة التالية ، يرجى نسخ هذه الصيغة أو إدخالها في خلية فارغة:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)


قم بقص أو إزالة جميع الأحرف غير الرقمية من السلاسل النصية بميزة سهلة

ربما ، لقد مضى وقت طويل على تذكر الصيغ المذكورة أعلاه ، هنا ، سأقدم لك ملف كوتولس ل إكسيل لك ، مع إزالة الأحرف الميزة ، يمكنك إزالة الأحرف الرقمية أو الأبجدية أو غير القابلة للطباعة أو الأبجدية الرقمية من السلاسل النصية بعدة نقرات فقط. انقر لتنزيل Kutools for Excel للتجربة المجانية!


الدوال النسبية المستخدمة:

  • TEXTJOIN:
  • تجمع الدالة TEXTJOIN بين قيم متعددة من صف أو عمود أو نطاق من الخلايا بمحدد معين.
  • MID:
  • تُستخدم وظيفة MID للبحث عن عدد محدد من الأحرف وإرجاعه من منتصف سلسلة نصية معينة.
  • ROW:
  • ترجع الدالة Excel ROW رقم صف المرجع.
  • INDIRECT:
  • تحول دالة Excel INDIRECT سلسلة نصية إلى مرجع صالح.
  • IFERROR:
  • تُستخدم الدالة IFERROR لإرجاع نتيجة مخصصة عندما تقوم الصيغة بتقييم خطأ ، وإرجاع نتيجة عادية في حالة عدم حدوث خطأ.

المزيد من المقالات:


أفضل أدوات إنتاجية المكتب

كوتولس ل إكسيل - يساعدك على التميز من بين الحشود

الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها  |  حذف الصفوف الفارغة  |  دمج الأعمدة أو الخلايا دون فقدان البيانات  |  جولة بدون صيغة 
سوبر فيلوكوب: معايير متعددة  |  قيمة متعددة  |  عبر الأوراق المتعددة  |  بحث غامض
حال. قائمة منسدلة: قائمة منسدلة سهلة  |  القائمة المنسدلة التابعة  |  قائمة منسدلة متعددة التحديد
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  قارن الأعمدة ب حدد نفس الخلايا وخلايا مختلفة 
الميزات المميزة: التركيز على الشبكة  |  عرض تصميم  |  شريط الفورمولا الكبير  |  مدير المصنفات والأوراق | مكتبة الموارد (النص السيارات)  |  منتقي التاريخ  |  اجمع أوراق العمل  |  تشفير/فك تشفير الخلايا  |  إرسال رسائل البريد الإلكتروني عن طريق القائمة  |  سوبر تصفية  |  مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف ...)  |  +50 رسم الأنواع (مخطط جانت ...)  |  40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد ...)  |  19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار ...)  |  12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة ...)  |  7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم خلايا إكسل ...)  |  ... و اكثر

Kutools for Excel يضم أكثر من 300 ميزة، التأكد من أن ما تحتاجه هو مجرد نقرة واحدة...


علامة تبويب Office - تمكين القراءة والتحرير المبوب في Microsoft Office (بما في ذلك Excel)

  • ثانية واحدة للتبديل بين عشرات المستندات المفتوحة!
  • قلل مئات النقرات بالماوس كل يوم ، وداعًا ليد الماوس.
  • يزيد من إنتاجيتك بنسبة 50٪ عند عرض مستندات متعددة وتحريرها.
  • يجلب علامات التبويب الفعالة إلى Office (بما في ذلك Excel)، تمامًا مثل Chrome وEdge وFirefox.
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
What is this formula for french settings?
This comment was minimized by the moderator on the site
Thanks for this. Nice formula.How would I alter it so that if the cell contains only letters the formula enters a 0 the results cell (rather than just blank as it is at the moment)?Thought I might be able to do it by wrapping the formula in another IF statement but I’m not getting very far.
This comment was minimized by the moderator on the site
Hello, Glenn,To display the results as blanks rather than zeros, please apply the following formula:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Wow that’ll take some digesting 😋 Thanks for taking the time to reply 👍
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations