نصيحة: اللغات الأخرى مترجمة من قبل Google. يمكنك زيارة English نسخة من هذا الرابط.
تسجيل الدخول
x
or
x
x
التسجيل
x

or

كيفية استخراج عدد فقط من سلسلة نصية في إكسيل؟


استخراج الأرقام فقط من السلاسل النصية:

مع كوتولس ل إكسيلالصورة EXTRACTNUMBERS وظيفة، يمكنك استخراج بسرعة أرقام فقط من الخلايا سلسلة النص.

استخراج أرقام المستند فقط 14

تنزيل وتجربة مجانية 60-day


الطريقة 1: استخراج الرقم فقط من سلاسل النص باستخدام الصيغة


يمكن أن تساعدك الصيغة الطويلة التالية على استخراج الأرقام من السلاسل النصية فقط ، يرجى القيام بما يلي:

حدد خلية فارغة حيث تريد إخراج الرقم المستخرج ، ثم اكتب هذه الصيغة: = SUMPRODUCT (MID (0 & A5، LARGE (INDEX (ISNUMBER (- MID (A5، ROW (INDIRECT ("1:" & LEN (A5))، 1)) * ROW (INDIRECT ("1:" & LEN (A5) )) ، 0) ، ROW (غير مباشر ("1:" & LEN (A5)))) + 1 ، 1) * 10 ^ ROW (غير مباشر ("1:" & LEN (A5))) / 10)ثم اسحب مقبض التعبئة لتعبئة النطاق الذي تحتاجه لتطبيق هذه الصيغة. انظر لقطة للشاشة:

استخراج أرقام المستند فقط 2

الملاحظات:

  • 1. A5 يقف أول البيانات التي تريد استخراج الأرقام فقط من القائمة.
  • 2. سيتم إظهار النتيجة كـ 0 عندما لا توجد أرقام في السلسلة.

الطريقة 2: استخراج رقم فقط من سلاسل نصية باستخدام التعليمات البرمجية لـ VBA

إليك رمز VBA الذي يمكن أن يقدم لك معروفًا ، يُرجى القيام بما يلي:

1. اضغط باستمرار ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، ولصق التعليمة البرمجية التالية في وحدة نافذة او شباك.

رمز VBA: استخراج الرقم فقط من السلسلة النصية:

Sub ExtrNumbersFromRange()
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

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

استخراج أرقام المستند فقط 3

4. ثم اضغط OK، يتابع مربع مطالبة آخر ، يرجى تحديد خلية لإخراج النتيجة ، راجع لقطة الشاشة:

استخراج أرقام المستند فقط 4

5. أخيرا، انقر فوق OK زر ، وجميع الأرقام في الخلايا المحددة تم استخراجها في وقت واحد.


الطريقة 3: استخراج الرقم فقط من سلسلة نصية باستخدام Kutools لـ Excel

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

كوتولس ل إكسيل : مع أكثر من شنومكس مفيد اكسل الإضافية، مجانا في محاولة مع عدم وجود قيود في أيام شنومك.

بعد تثبيت كوتولس ل إكسيل، يرجى القيام بما يلي:

1. انقر على خلية إلى جانب سلسلة النص الخاص بك حيث سيتم وضع النتيجة، انظر قطة:

استخراج أرقام المستند فقط 5

2. ثم اضغط Kutools > وظائف كوتولس > نصي > EXTRACTNUMBERS، انظر الصورة:

استخراج أرقام المستند فقط 6

3. في وسيطات الدالة الحوار، حدد الخلية التي تريد استخراج الأرقام من رسالة قصيرة مربع النص، ثم أدخل صحيح or زائف في N مربع النص، انظر الصورة:

استخراج أرقام المستند فقط 7

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

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

استخراج أرقام المستند فقط 8

انقر للتنزيل والنسخة التجريبية المجانية كوتولس فور إكسيل الآن!


الطريقة 4: سلسلة نصية مقسمة إلى أعمدة نصية ورقمية بشكل فردي باستخدام Kutools for Excel

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

بعد تثبيت كوتولس ل إكسيل ، يرجى القيام بما يلي:

1. حدد السلسلة النصية التي تريد تقسيمها، ثم انقر فوق Kutools > نصي > تقسيم الخلايا، انظر الصورة:

استخراج أرقام المستند فقط 9

2. في ال تقسيم الخلايا مربع الحوار، حدد انقسم إلى أعمدة تحت النوع المقطع، ثم تحقق النص والرقم من تقسيم بواسطة سيكتيون، سي لقطة الشاشة:

استخراج أرقام المستند فقط 10

3. ثم انقر فوق Ok زر، حدد خلية لوضع النتيجة في برزت خارج مربع الحوار، انظر الصورة:

استخراج أرقام المستند فقط 11

4. ثم اضغط OK زر، وتم تقسيم السلاسل النصية إلى أعمدة نص وأرقام مفصولة كما يلي لقطة شاشة:

استخراج أرقام المستند فقط 12

انقر للتنزيل والنسخة التجريبية المجانية كوتولس فور إكسيل الآن!


أسلوب 5: استخراج الرقم العشري فقط من سلسلة نصية مع الصيغة

إذا كانت السلاسل النصية التي تتضمن بعض الأرقام العشرية في ورقة العمل الخاصة بك ، كيف يمكنك استخراج الأرقام العشرية فقط من السلاسل النصية؟

يمكن أن تساعدك الصيغة أدناه على استخراج الأرقام العشرية من السلاسل النصية بسرعة وسهولة.

أدخل هذه الصيغة :=LOOKUP(9.9E+307,--LEFT(MID(A5,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A5&"1023456789")),999),ROW(INDIRECT("1:999")))), ثم املأ المقبض إلى الخلايا التي تريد أن تحتوي على هذه الصيغة ، وتم استخراج جميع الأرقام العشرية من السلاسل النصية ، انظر لقطة الشاشة:

استخراج أرقام المستند فقط 13


استخراج عدد فقط من سلاسل مع كوتولس ل إكسيل

كوتولس ل إكسيل: مع أكثر من شنومكس مفيد اكسل الإضافية، مجانا في محاولة مع عدم وجود قيود في أيام شنومكس. تحميل وتجريبية مجانية الآن!


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


Kutools for Excel يحل معظم مشاكلك ، ويزيد من إنتاجيتك بنسبة 80٪

  • إعادة استخدام: إدراج بسرعة الصيغ المعقدة ، الرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة المرور إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر الفورمولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (بسهولة قراءة وتحرير أعداد كبيرة من الخلايا) ؛ لصق على المدى المصفى...
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ انقسام خلايا المحتوى ؛ الجمع بين تكرار الصفوف / الأعمدة... منع الخلايا المكررة. مقارنة النطاقات...
  • حدد تكرار أو فريد الصفوف. حدد صفوف فارغة (جميع الخلايا فارغة) ؛ سوبر البحث والعثور غامض في العديد من المصنفات ؛ اختيار عشوائي ...
  • نسخة طبق الأصل خلايا متعددة دون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة. إدراج الرصاصات، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، حذف حسب الموضع ، إزالة الفضاء. إنشاء وطباعة مجاميع ترحيل الصفحات ؛ تحويل بين محتوى الخلايا والتعليقات...
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ تصنيف متقدم حسب الشهر / الأسبوع / اليوم ، التردد وأكثر ؛ فلتر خاص بواسطة جريئة ، مائل ...
  • الجمع بين المصنفات وأوراق العمل. دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; دفعة تحويل XLS ، XLSX وقوات الدفاع الشعبي...
  • أكثر من ميزات 300 القوية. يدعم Office / Excel 2007-2019 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. ميزات كاملة النسخة التجريبية المجانية من 30.
علامة التبويب kte 201905

علامة تبويب Office توفر واجهة مبوبة لـ Office ، واجعل عملك أسهل بكثير

  • تمكين تحرير علامات التبويب والقراءة في Word و Excel و PowerPointوالناشر والوصول ، Visio ومشروع.
  • افتح مستندات متعددة وقم بإنشائها في علامات تبويب جديدة لنفس النافذة ، وليس في نوافذ جديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات نقرات الماوس لك كل يوم!
أسفل مكتبه
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Veras · 2 months ago
    Tkssssss you saved my day :) God bless you
  • To post as a guest, your comment is unpublished.
    Alex · 3 months ago
    Hi ! You guys are impressive with formulas... I need one to extract the room number of a conference room. The Source Cells looks like AB ABCD CITY-Street-1-004-REST/Pers1 ABCD AB. I need to extract the 004 from it. The city lenght varies, as well as the street name as well as the floor number (this one is 1 but it could be 12). I was trying to find a way to jump to third "-" and take only the follow digits and stop at next alphabetical characters. I don't want to take the numbers of persons the room can have (Pers1)...

    Much appreciated guys!!!!
  • To post as a guest, your comment is unpublished.
    Aaron Freije · 4 months ago
    Hello, I could use help with a formula. I have read through these posts thinking I could find a formula or two that I could pull from to make work but I can't get it just right. I have product descriptions where the last section represents the case count (i.e CS/6 means 6 in a case). I would like a formula to pull out just the case count number. Here are a couple examples: LUCR LACT FR 1 % CALC CHOC 64 OZ CS/6 (need 6 pulled out), PCHP DAIRY CRMR FR VAN 32 OZ CS/12 (need 12 pulled out), and GLEN HALFNHALF ASEP SS GU 3/8 OZ CS/360 (need 360 pulled out).
  • To post as a guest, your comment is unpublished.
    Satya · 5 months ago
    4900 Meridian Street, Normal, Alabama 35762
    445 Health Sciences Boulevard, Dothan, Alabama 36303-2251

    how to separate the State code number which is presented in last
    • To post as a guest, your comment is unpublished.
      skyyang · 5 months ago
      Hi, Satya,
      To extract only the state code number, you should apply the below formula:
      =MID(TRIM(A1),FIND(CHAR(1),SUBSTITUTE(TRIM(A1)," ",CHAR(1),LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1)," ",""))))+1,5)
      If you want to extract all numbers in the last, please use this formula:
      =MID(TRIM(A1),FIND(CHAR(1),SUBSTITUTE(TRIM(A1)," ",CHAR(1),LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1)," ",""))))+1,10)
  • To post as a guest, your comment is unpublished.
    Shahid · 8 months ago
    This isn't working for decimals, it's removing decimal point.
  • To post as a guest, your comment is unpublished.
    josia · 1 years ago
    for example if i have these two strings, how do i extract the numbers that begin with 44133 in cells B1 and B2

    cell A1: "255 water bill payment 44133256487 payment by 255766854254 dsm"

    Cell A2: "255 payment by 255745654875 dsm water bill 44133647851"
    • To post as a guest, your comment is unpublished.
      MOHAMMAD OWAIS · 2 months ago
      first do a find. =FIND(44,A1)
      then mid =MID(A1,FIND(44,A1),11)

      I wish it is helpful.
  • To post as a guest, your comment is unpublished.
    josia · 1 years ago
    hi.if i have a list which has text and Control numbers and phone number all in one cell but each record has different positions for the 3, and i want to extract control numbers(which all begin with say value 44133*****) how best can i extract that information
  • To post as a guest, your comment is unpublished.
    Farhad · 1 years ago
    Hi
    Can any one help me to solve this problem :


    " Hotel to kadamtali: 20/(r).kadamtali to charkhai bazar:90/.(cng).bazar to site:20/(r).site to charkhai bazar:20/.charkhai bazar to sharker bazar:80/.(cng) kanaigath to site:30/(r).site to kanaigath:50/(r).carry matarials).sharkerbazar to syleth : 870/.(cng Reserve,carry one site matarials).kadamtali to zindabazar:40/.zindbazar to amborkhana:20/.amborkhana to companygonj:200/.(cng).companygonj to vholagonj site:30/.vholagonj site to amborkhana:2 seat,400/cng.(carry matarials),amborkhana to upashar:60/(cng).carry matarials.



    Here i want to take the value ( "/") before this. and add them.
  • To post as a guest, your comment is unpublished.
    KA · 1 years ago
    Here's a nasty one I'm stuck on - I want to separately extract both numbers from this cell: Down(+): 3,537.78 Over(+): 1,965.30

    Each number can vary in length, but will always have two digits after the decimal.
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello, KA,
      May be the Text to Columns feature in Excel can help you to separate the text and numbers, please see the following screenshot:

      After splitting the cell contents, you just need to delete the text columns and only keep the number columns as you need.
  • To post as a guest, your comment is unpublished.
    Excel Master · 1 years ago
    Thank you. Its great.
  • To post as a guest, your comment is unpublished.
    Matt · 1 years ago
    "Select a blank cell that is adjacent to the list you want to extract number only, and type this formula =SUMPRODUCT(MID(0&A2,LARGE(INDEX(ISNUMBER(--MID(A2,ROW($1:$25),1))* ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10) (A2 stands the first data you want to extract numbers only from the list), then press Shift + Ctrl + Enter buttons, and drag the fill handle to fill the range you need to apply this formula"

    It's not necessary to press Shift + Ctrl + Enter. Press only ENTER (sumproduct know to work with array)
    • To post as a guest, your comment is unpublished.
      Melvin Koshy · 1 years ago
      This is absolutely amazing.
      1. Please explain the logic of this formula briefly
      2. Could you explain why we have to press Ctrl+Shift+Enter.
  • To post as a guest, your comment is unpublished.
    andrew · 1 years ago
    Hi,
    i want to extract only the number after the Colon in a cell
    80lb : 12
    90lb : 4
    110lb : 0
    120lb : 20
    130lb : 6
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello, andrew,
      To extract the numbers after the colon,pleas apply the below formula:
      =MID(A1,FIND(":",A1)+2,256)
      Please try it, thank you!
  • To post as a guest, your comment is unpublished.
    Rashmita · 2 years ago
    I want to extract pincodes from this list:

    Adikavi Nannaya University, Jaya Krishnapuram, Rajahmundry – 533 105, Andhra Pradesh.
    Andhra University, Visakhapatnam-530 003.
    Acharya Nagarjuna University, Nagarjuna Nagar, Guntur-522 510.
    Dravidian University, Kuppam-517 425.

    Is there anyone can help me on this?
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello, Rashmita,

      If you just need to extract the number codes from the addresses, may be the Kutools for Excel's Extractnumbers function can help you.
      Please view the screenshot image:
  • To post as a guest, your comment is unpublished.
    vikram · 2 years ago
    How do i get True or false when i compare numbers & text for example
    d1, d2, d3 3 TRUE


    d1, d2, d4, d5 5 FALSE
  • To post as a guest, your comment is unpublished.
    Dexter · 2 years ago
    Hi,
    I would like to know if there is a formula to get the total $ value of this string in Excel (Guy1-$201.6, Guy2-$915.85, Guy3-$495, Guy4-$1211, Guy5-$492) - and extent to 20 'Guys'. I don't want to convert etc ... I want a formula please.
    Thanks
    • To post as a guest, your comment is unpublished.
      Giri · 2 years ago
      Try the formula

      =MID(F14,FIND("$",F14),100)+0
  • To post as a guest, your comment is unpublished.
    Samoil · 2 years ago
    Updated Formula which handles decimal point and works on any number length

    =SUMPRODUCT(MID(0&D2,LARGE(INDEX(ISNUMBER(--MID(D2,ROW(INDIRECT("$1:$"&LEN(D2))),1))*
    ROW(INDIRECT("$1:$"&LEN(D2))),0),ROW(INDIRECT("$1:$"&LEN(D2))))+1,1)*10^ROW(INDIRECT("$1:$"&LEN(D2)))/POWER(10, IFERROR(LEN(D2)-FIND(".", D2)-1, 1)))

    D2 is the cell where you have number in a string format
    Copy this formula to E2 and press CTRL+SHIFT+ENTER
    • To post as a guest, your comment is unpublished.
      umari · 2 years ago
      it doesnt work on below scenario:

      Provident<space>Fund<2spaces>-5.55556%<space>0.00<space>

      Same like this : Provident Fund -5.55556% 0.00
      i want -5.55556% or -0.055556
    • To post as a guest, your comment is unpublished.
      Noeun · 2 years ago
      hi man can you explain how the formula works?
  • To post as a guest, your comment is unpublished.
    adrie farndell · 3 years ago
    Good day
    I would like to extract the first set of numbers from a list. ie (122,90,84,118.4,128.9)
    Any ideas on what formula I can use?
    COIL112X2.5
    COIL90X2.5
    COIL84X2.0
    COIL118.4X1.8
    COIL128.9X2.0
    • To post as a guest, your comment is unpublished.
      Giri · 2 years ago
      =+MID(C14,5,FIND("X",C14)-1-LEN("coil"))
    • To post as a guest, your comment is unpublished.
      Giri · 2 years ago
      Try the formula
      =+MID(C13,5,FIND("X",C13)-1-LEN("coil"))
  • To post as a guest, your comment is unpublished.
    Yusuf Ali · 4 years ago
    I have a huge list of Barcodes with product description which might have weights and other numeric values. I wish to extract only the barcodes which are 8-13 digits in len. Is there any way the above mentioned formulae can be tweeked.
  • To post as a guest, your comment is unpublished.
    adeel · 4 years ago
    thanks, really helpful
  • To post as a guest, your comment is unpublished.
    Deepak · 4 years ago
    I want the Formula that contains number but stop working where next alphabet is start.

    Like: hh123456f2
    gh123f3
    ff1234g1

    I don't want last numerical number after the alphabet.

    Hope you understand what I'm trying
  • To post as a guest, your comment is unpublished.
    salar lotfee · 4 years ago
    perfect, just have wasted a day in the factory by the scanning machine in 38' centigrade standing with no results, but this blew it up. super thanks
  • To post as a guest, your comment is unpublished.
    mohamed elrify · 4 years ago
    I think that this formula will be easier
    =SUM(IFERROR(VALUE(MID(A1;ROW($1:$100);1));0))
    • To post as a guest, your comment is unpublished.
      Deepak Kumar · 4 years ago
      [quote name="mohamed elrify"]I think that this formula will be easier
      =SUM(IFERROR(VALUE(MID(A1;ROW($1:$100);1));0))[/quote]

      What u have posted will some then not extract them!!
  • To post as a guest, your comment is unpublished.
    dEEPAK · 4 years ago
    This will more short..

    =NPV(-0.9,IFERROR(MID(A1,100-ROW($1:$99),1)/10,""))

    with CSE
    • To post as a guest, your comment is unpublished.
      Gopal · 2 years ago
      Great! this works Deepak!

      only one problem - it won't work with the decimals. example, if A1 is 2.25LXX, it will extract it as 225, not 2.25, is there a way in your formula to extract the decimal number also? thanks in advance!
  • To post as a guest, your comment is unpublished.
    dEEPAK · 4 years ago
    How about this... :-)

    [b]=NPV(-0.9,IFERROR(MID(A1,1+LEN(A1)-ROW($1:$999),1)/10,""))
    [/b]
    [i]Press Ctrl + Shift + Enter[/i]
  • To post as a guest, your comment is unpublished.
    xlViki · 4 years ago
    @jb: Use this UDF:


    Function ExtractNumber(cell As Range) As Long
    Dim Num As String

    For i = 1 To Len(cell)
    If IsNumeric(Mid(cell.Value, i, 1)) Then Num = Num & Mid(cell.Value, i, 1)
    Next i

    ExtractNumber = Num

    End Function
  • To post as a guest, your comment is unpublished.
    jb · 4 years ago
    this formula
    =SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$25),1))* ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10)

    worked great, for any number under 4 digital but I have numbers over 1000 that I need to extract - any advice??

    thanks :)
  • To post as a guest, your comment is unpublished.
    jb · 4 years ago
    Thank you thank you!

    have been trolling the web for answer to simply extra numbers from string in excel and after many overbearing, confusing formulas yours worked like a treat!!

    much appreciated :D
  • To post as a guest, your comment is unpublished.
    Georgios · 5 years ago
    Great formula...very helpful!
    But, could you please advise what can I do with chinese characters? I guess it considers them as figures. Any idea?
  • To post as a guest, your comment is unpublished.
    Muksharna G · 5 years ago
    This formula fails with decimal places. e.g. "1.5 grams of abc" returns "15".
  • To post as a guest, your comment is unpublished.
    Allen Kelly · 5 years ago
    Christ it was either [b]Multiplan or Quattro Pro that used to[/b] return the string value of a single item with a single command...
  • To post as a guest, your comment is unpublished.
    Mandeep · 5 years ago
    Who can explain this formula to me .