كيف تجد أول رقم أو جميع الأرقام في سلسلة نصية داخل Excel؟
عند التعامل مع بيانات معقدة في Excel، من الشائع أن تجد خلايا تحتوي على مزيجٍ من الحروف والأرقام والرموز الخاصة. وقد يكون استخراج أول رقم أو جميع الأرقام من هذه السلاسل أمرًا بالغ الأهمية لمهام تنظيف البيانات أو تحليلها أو التحقق منها. فعلى سبيل المثال، قد تحتاج إلى فصل أرقام القطع عن أسماء المنتجات، أو استخراج رموز من عناوين، أو عزل الأرقام من تقارير نصية متنوعة. ويعتبر البحث اليدوي عن الأرقام داخل السلاسل طريقة غير فعّالة وعرضة للخطأ، خاصةً عند التعامل مع مجموعات بيانات كبيرة. ويقدّم هذا الدليل سلسلةً من الطرق العملية لاستخراج أول رقم أو جميع الأرقام المضمنة في سلسلة نصية في Excel بكفاءة، مع مراعاة مختلف سيناريوهات المستخدمين ومستويات خبرتهم.
- العثور على أول رقم وموقعه في سلسلة نصية باستخدام صيغة
- العثور على جميع الأرقام في سلسلة نصية пут إزالة جميع الأحرف غير الرقمية
- العثور على جميع الأرقام في سلسلة نصية باستخراج الأرقام فقط
- استخراج الأرقام الأولى أو جميعها باستخدام كود VBA (حلقة ماكرو)
- استخراج الأرقام من سلسلة باستخدام Flash Fill
العثور على أول رقم وموقعه في سلسلة نصية باستخدام صيغة
تقدم هذه الطريقة مجموعةً من الصيغ التي لا تساعدك فقط على العثور على أول رقم داخل سلسلة نصية واستخراجه، بل تتيح لك أيضًا تحديد الموقع الدقيق الذي يظهر فيه أول حرف رقمي في الخلية. ويُعد تطبيق هذه الصيغ مفيدًا بشكل خاص للمستخدمين الذين يحتاجون إلى تحليل سلاسل قياسية تحتوي أرقامًا في مواقع متغيرة، مثل رموز المنتجات أو المعرّفات المدمجة مع نصوص وصفية.
العثور على أول رقم في سلسلة نصية واستخراجه باستخدام صيغة صفيفية
اختر خلية فارغة لعرض أول رقم من السلسلة النصية، ثم أدخل الصيغة التالية:
=MID(A2,MIN(IF((ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2)))),ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2))))),1)+0
(حيث تمثّل A2 الخلية النصية التي ستبحث فيها عن أول رقم)، ثم اضغط في آنٍ واحد علىCtrl + Shift + Enter. يضمن هذا الإدخال الصفيفي معالجة كل حرف في سلسلتك بشكل منفصل.
بعد التأكيد، اسحب مقبض التعبئة للخلية لأسفل لتطبيق الصيغة على الصفوف الإضافية حسب الحاجة.
بمجرد تطبيقها، سيتم العثور على الأرقام الأولى من كل سلسلة نصية واستخراجها كما هو موضح أدناه:
العثور على موقع أول رقم في سلسلة نصية باستخدام صيغ
اختر خلية فارغة لعرض موضع أول رقم فيها، ثم أدخل الصيغة التالية:=MIN(IF(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A2)),FIND({1,2,3,4,5,6,7,8,9,0},A2))) (حيث تمثّل A2 الخلية التي تريد فحصها). تُحدّد هذه الصيغة أول ظهور لأي رقم من الأرقام (0–9). اسحب الصيغة لأسفل لتعبئة الخلايا المجاورة حسب الحاجة.

ملاحظة: بدلاً من ذلك، استخدم هذه الصيغة الصفيفية:=MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&{0,1,2,3,4,5,6,7,8,9})). تذكّر أن تؤكّد بإدخالها باستخدامCtrl+Shift+Enter. عند نسخ الصيغة، حدّث دائمًا أي مراجع خلايا ثابتة إذا تغيّر هيكل جدولك. وإذا لم تحتوِ السلسلة على أي أرقام، فستُرجع الصيغة خطأً؛ لذا يمكنك تغليفها بـ IFERROR لعرض رسالة مخصصة في مثل هذه الحالات.
العثور على جميع الأرقام في سلسلة نصية пут إزالة جميع الأحرف غير الرقمية
إذا كان هدفك الحصول على جميع الأرقام من خلية عن طريق إزالة جميع الأحرف غير الرقمية ببساطة، فإن أداة Kutools لـ Excel حذف الأحرف المحددةتوفّر حلاً مريحًا. وهي مثالية بشكل خاص للمستخدمين الذين يعالجون البيانات المستوردة بشكل متكرر أو يحتاجون إلى تنظيف دُفعات من الخلايا بسرعة، ويفضّلون واجهة مباشرة بدلًا من الصيغ المعقدة.
1. حدد النطاق الذي تريد معالجته لاستخراج جميع الأرقام، ثم انتقل إلى القائمة: Kutools > Text > حذف الأحرف المحددة. راجع لقطة الشاشة أدناه للتوجيه:
2. في مربع الحوار «حذف الأحرف المحددة» الذي يظهر، تأكد من تحديد خانة الاختيارNon-numeric فقط، ثم انقر علىOK للمتابعة.
نتيجةً لذلك، ستقوم الأداة بإزالة جميع الأحرف غير الرقمية من الخلايا المحددة، لتبقى لديك المكونات الرقمية فقط في كل خلية.
قبل تشغيل هذه العملية، ننصحك بعمل نسخة احتياطية من نطاقك تحسبًا لحاجتك إلى التراجع. فلدى معالجة السلاسل النصية التي تحتوي أرقامًا مفصولة بأحرف (مثل "A23B17")، سيتم دمج جميع الأرقام معًا لتصبح "2317". وإذا كنت تتوقّع ترتيبًا مختلفًا، ففكّر في دمج هذه الميزة مع وظائف أخرى لتحقيق النتيجة المرجوة.
Kutools لـ Excel- عزِّز Excel بقوة أكثر من 300 أداة أساسية، لتجعل عملك أسرع وأسهل، واستفد من ميزات الذكاء الاصطناعي لمعالجة البيانات بشكل أكثر ذكاءً وزيادة الإنتاجية.احصل عليه الآن
العثور على جميع الأرقام في سلسلة نصية باستخراج الأرقام فقط
إذا كنت تريد استخراج جميع الأرقام من داخل خلية نصية (بغض النظر عن التنسيق) كقيمة واحدة مباشرةً، فإن دالةEXTRACTNUMBERS في Kutools لـ Excel توفّر لك حلاً سهل الاستخدام وفعّالاً للغاية. وهي مثالية خصوصًا للمستخدمين الذين يحتاجون إلى معالجة البيانات دُفعاتٍ، لكنهم يفضلون أسلوبًا يعتمد على الدوال والصيغ ليتم تطبيقه بسلاسة ومرونة عبر ورقة العمل بأكملها.
1. حدد خلية فارغة تريد أن تظهر فيها الأرقام المستخرَجة، ثم انقر علىKutools > Functions > Text > EXTRACTNUMBERS. انظر التوضيح أدناه:
2. في مربع حوار وسيطات الدالة، عيّن الخلية النصية ذات الصلة لحقلTxt، وأدخلTRUE في حقلN (لإرجاع قيمة رقمية). بعد ذلك، انقر علىOK للتأكيد واستخراج الأرقام.
ملاحظات:
(1) يمكنك إدخالTRUE أوFALSE، أو ترك حقلN فارغًا. يؤدي تحديدTRUE إلى إرجاع قيمة رقمية، بينما يؤدي تحديدFALSE أو ترك الحقل فارغًا إلى إرجاع الأرقام كنص (وهو مفيد للحفاظ على الأصفار البادئة).
(2) يمكن استخدام هذه الميزة أيضًا كصيغة مباشرة في ورقة العمل: =EXTRACTNUMBERS(A2,TRUE). ما عليك سوى إدخالها في الخلية التي تفضلها لإظهار النتيجة.
(3) عند نسخ الصيغة إلى الصفوف المجاورة، تأكد من تعديل مراجع الخلايا عند الحاجة.
ستُعرض الأرقام المستخرجة من كل خلية نصية كما هو موضح أدناه:
Kutools لـ Excel- عزِّز Excel بقوة أكثر من 300 أداة أساسية، لتجعل عملك أسرع وأسهل، واستفد من ميزات الذكاء الاصطناعي لمعالجة البيانات بشكل أكثر ذكاءً وزيادة الإنتاجية.احصل عليه الآن
استخراج الأرقام الأولى أو جميعها باستخدام كود VBA (حلقة ماكرو)
عندما لا تكفي الصيغ والميزات المضمنة—مثلًا، إذا احتجتَ إلى استخراجأول رقم فقط، أوأول تسلسل رقمي كامل، أو حتىجميع الأرقام المنفصلةمن سلسلة نصية—فإن استخدام كود VBA يوفّر لك مرونةً وأتمتةً فائقَتَين. هذه الطريقة مثاليةٌ خصوصًا للمستخدمين الذين يتعاملون بانتظام مع متطلبات استخراج فريدة عبر مجموعات بيانات ضخمة، أو يرغبون في أتمتة العملية عبر ماكرو قابل لإعادة الاستخدام. يُرجى ملاحظة أن تمكين الماكرو مطلوب، واحرص دائمًا على عمل نسخة احتياطية من ملفك قبل تشغيل الكود على مجموعات بيانات كبيرة.
1. في نافذة إكسل الرئيسية، انقر علىDeveloper Tools > Visual Basic لفتح محرر VBA. ثم في نافذةMicrosoft Visual Basic for Applications، اخترInsert > Module. بعد ذلك، انسخ والصق الكود التالي في الوحدة الجديدة:
استخراج أول أرقام: تستخرج أول تسلسل رقمي متصل موجود في كل سلسلة (على سبيل المثال، "abc12def45" يُعيد 12).
Sub ExtractFirstNumber()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim sNum As String
Dim FirstNum As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
sNum = ""
FirstNum = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
sNum = sNum & Mid(txt, i, 1)
If i = Len(txt) Or Not (Mid(txt, i + 1, 1) Like "[0-9]") Then
FirstNum = sNum
Exit For
End If
ElseIf sNum <> "" Then
FirstNum = sNum
Exit For
End If
Next i
cell.Offset(0, 1).Value = FirstNum
Next cell
End Sub استخراج جميع الأرقام: يستخرج جميع الأرقام بالتتابع، ويُفصِل بين كتل الأرقام الفردية بمسافات (على سبيل المثال، "abc12def45" ستعيد "12 45").
Sub ExtractAllNumbers()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim arrNums As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
arrNums = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
arrNums = arrNums & Mid(txt, i, 1)
Else
If arrNums <> "" Then
arrNums = arrNums & " "
End If
End If
Next i
arrNums = WorksheetFunction.Trim(arrNums)
cell.Offset(0, 1).Value = arrNums
Next cell
End Sub 2. في محرر VBA، انقر على زر
تشغيلأو اضغطF5 لتشغيل الكود. بعد التشغيل، سيظهر مربع حوار يطلب منك تحديد النطاق المستهدف، ويقوم الكود بكتابة الرقم (أو الأرقام) المستخرَجة في العمود الموجود مباشرةً إلى يمين البيانات الأصلية.
تأكد من أن ورقة العمل الخاصة بك لا تستخدم الأعمدة الواقعة مباشرةً إلى يمين بياناتك بالفعل، وذلك لتجنب الكتابة فوقها. وإذا بدا أن الكود لا يعمل، فتحقق مما إذا كانت ماكروهات مُفعَّلة في ملف العمل الخاص بك، وتأكد من أن قيم النصوص تحتوي فعليًّا على أرقام.
استخراج الأرقام من سلسلة باستخدام Flash Fill
ميزةالتعبئة الفورية (Flash Fill)المضمنة في Excel تستطيع استخراج الأرقام تلقائيًّا من السلاسل النصية بالتعلّم من أنماط الأمثلة. وهي مثالية خصوصًا للعمليات اليدوية السريعة على البيانات المنظمة جيدًا، أو عندما تبحث عن حلٍّ بسيط لا يعتمد على الصيغ ولا يتطلب إعداد منطق معقد.
ل استخدام التعبئة الفورية (Flash Fill) لاستخراج الأرقام من سلسلة نصية:
- في خلية عمود فارغ مجاورة لبياناتك، اكتب يدويًّا الناتج المطلوب للخلية الأولى. على سبيل المثال، إذا احتوت الخلية A2 على "OrderA12B3"، فاكتب "123" في الخلية B2 لتوضيح نتيجة الاستخراج.
- انتقل إلى الخلية الموجودة أسفل مثالك (مثل B3)، وابدأ بكتابة الناتج المتوقع للصف التالي. قد يعرض إكسل معاينة للنمط الذي يتعرّف عليه. إذا كانت المعاينة تتطابق مع نيتك، فما عليك سوى الضغط علىEnter. وإلا، فاستمر في عرض الأنماط المتوقعة بإدخال بضعة أمثلة إضافية.
- بدلاً من ذلك، بعد إدخال المثال في الخلية الأولى، حدد كامل منطقة القائمة المقصودة، ثم انتقل إلىData > Flash Fill(أو اضغط على)Ctrl + E). وسيقوم إكسل تلقائيًا بملء الأرقام المستخرجة وفقًا للنمط الذي تعلّمه.
تكتشف ميزة التعبئة الفورية (Flash Fill) العلاقات الثابتة بين المدخلات والمخرجات، لذا تأكد من أن الأمثلة التي تقدمها واضحة ودقيقة. وتؤدي هذه الميزة أفضل أداءٍ عندما يكون تنسيق بياناتك منتظمًا؛ أما إذا كان هيكل بياناتك متغيرًا إلى حدٍ كبير أو احتجتَ إلى تحكمٍ دقيق، ففكّر في استخدام صيغة أو حل ماكرو.
إذا لم تظهر التعبئة الفورية (Flash Fill)، فانتقِل إلىملف > خيارات > متقدم > خيارات التحرير، وتأكد من تأشير خانةالتعبئة الفورية (Flash Fill) تلقائيًّا.
عرض توضيحي: العثور على جميع الأرقام في سلسلة نصية في Excel
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل