كيفية استخراج الأرقام فقط من خلية Excel (7 طرق سهلة)

  • شارك هذا
Hugh West

على الرغم من أن Microsoft لم تقدم صيغة مستقيمة أو بناء جملة لـ استخراج الأرقام فقط من خلية Excel ، يمكننا دمج نطاق واسع من صيغ Excel أنشئ وظيفة واحدة يمكن استخدامها لاستخراج الأرقام أو الأرقام فقط من خلايا Excel. في هذه المقالة ، سنحاول إظهار وشرح بالتفصيل كيف يمكننا إخراج الأرقام فقط من الخلايا مع الصيغ المناسبة وفقًا لمعايير قليلة.

تنزيل Practice Workbook

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

استخراج الأرقام من Cell.xlsm

7 طرق فعالة لاستخراج الأرقام فقط من خلية Excel

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

1. سحب الأرقام من بداية النص

في هذه الطريقة الأولى ، سنجمع اليسار ، المجموع ، LEN ، يعمل البديل لسحب الأرقام من بداية سلسلة نصية. أولاً ، سنكتب هذه الصيغة في الخلية ، والقسم السابق. ستكون القيم الناتجة بعد ذلك - {0،1،1،0،0،0،0،0،0،1}.

SUM (LEN (B5) -LEN (البديل (B5 ، {"0 ″ ،" 1 ″ ، "2 ″ ،" 3 ، "4 ″ ،" 5 ″ ، "6 ″ ،" 7 ″ ، "8 ″ ،" 9 "} ،" ") ))

  • بمساعدة الدالة SUM ، ستضيف القيم الموجودة داخل المصفوفة الموجودة في القسم الأخير ما يصل إلى 3 ( 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1).
  • لذلك ، وفقًا للجزء الأول من الصيغة ، A & gt؛ 0 (3 & gt؛ 0) . الآن ، سننتقل إلى الجزء التالي من الانهيار.

انهيار الجزء B = MID (0 & amp؛ B5، LARGE (INDEX (ISNUMBER (–MID (B5، ROW ( INDIRECT (“$ 1: $” & amp؛ LEN (B5)))، 1)) * ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))، 0)، ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))) + 1،1)

INDIRECT (“$ 1: $” & amp؛ LEN (B5))

  • ستعمل الوظيفة غير المباشرة هنا على تخزين قيم السلسلة كمرجع إلى المصفوفة. داخل القوس ، سينضم أمر علامة العطف (& amp؛) إلى عدد الأحرف الموجودة في الخلية B5 مع بنية نطاق الخلايا. هذا يعني أنه من 1 إلى عدد الأحرف المحددة ، سيتم تخزين كل منها كمرجع مصفوفة.

ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)) )

  • الآن ، ستسحب هذه الوظيفة ROW جميع الأرقام من المصفوفة والقيم الناتجة للخلية B5 سيكون- {1؛ 2؛ 3؛ 4؛ 5؛ 6؛ 7؛ 8؛ 9}.

MID (B5، ROW ( INDIRECT (“$ 1: $” & amp؛ LEN (B5))) ، 1)

  • في هذا الجزء من الصيغة ،ستعبر الدالة MID عن جميع الأحرف من الخلية B5 استنادًا إلى جميع المواضع الموجودة كأرقام في القسم السابق. لذلك ، سيتم العثور على القيم المستخرجة بعد هذا الجزء- {"1 ″ ؛" 9 ″ ؛ " "؛" D "؛" D "؛" X "؛" 2 ″ ؛ "M" ؛ "N"}.

ISNUMBER (–MID (B5 ، ROW (غير مباشر (“$ 1: $” & amp؛ LEN (B5)))، 1))

  • نظرًا لأن ISNUMBER هي وظيفة منطقية ، سنحدد بشكل فردي ما إذا كانت القيم الموجودة في القسم السابق عبارة عن سلاسل رقمية أم لا. إذا كانت الإجابة بنعم ، فسيتم إرجاعها كـ TRUE ، وإلا فسيتم عرضها كـ FALSE .
  • لذا ، في حالتنا ، ستكون النتيجة- { صحيح ؛ صحيح ؛ خطأ ؛ خطأ ؛ خطأ ؛ خطأ ؛ صحيح ؛ خطأ ؛ خطأ}.

فهرس (رقم (–MID (B5 ، ROW (غير مباشر ("$ 1: $") & amp؛ LEN (B5)))، 1)) * ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))، 0)

  • إذا لاحظت داخل أعلاه ، تم استخدام واصلة مزدوجة ، تُعرف باسم Double Unary . يتم استخدامه لتحويل جميع القيم المنطقية إلى سلاسل رقمية- 1 (TRUE) أو 0 (FALSE) . الآن ، ستعيد الدالة INDEX هذه النتيجة كـ- {1 ؛ 1 ؛ 0 ؛ 0 ؛ 0 ؛ 0 ؛ 1 ؛ 0 ؛ 0}.
  • بعد ذلك ، سيتم ضرب القيم الناتجة بالقيم التي تم الحصول عليها من وظيفة ROW داخل المصفوفة وستكون النتيجة- {1؛ 2؛ 0؛ 0؛ 0؛ 0؛ 7؛ 0؛ 0}.

كبير (INDEX (ISNUMBER (–MID (B5، ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))) ، 1 )) * ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5))) ، 0) ،ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5))))

  • ستعيد الوظيفة LARGE الآن ترتيب أكبر القيم من المصفوفة وفقًا للمواضع بناءً على الأرقام الموجودة في وظائف ROW . & أمبير ؛ ستكون القيم الناتجة لهذا القسم من الصيغة - {7؛ 2؛ 1؛ 0؛ 0؛ 0؛ 0؛ 0؛ 0}.

MID (0 & amp؛ B5 ، LARGE (INDEX (ISNUMBER (–MID (B5، ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))، 1)) * ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)) )، 0)، ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5)))) + 1،1)

  • الآن ، سيتسلسل هذا الجزء من الوظيفة 0 مع النصوص الموجودة في الخلية B5 . ثم ستضيف 1 بشكل فردي مع جميع الأرقام الموجودة في القسم الأخير وتظهر الأحرف من الخلية B5 بناءً على مواضع الأرقام المحددة.
  • لذا ، ستكون النتيجة من هذا القسم - {"2 ″ ؛" 9 ″ ؛ "1 ″ ؛" 0 ″ ؛ "0 ″ ؛" 0 ″ ؛ "0 ″ ؛" 0 ″ ؛ "0" }.

انهيار الجزء C = (10 ^ ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5))) / 10)، ””)

  • سيحدد هذا الجزء قوى 10 & amp؛ تخزينها داخل المصفوفة. أرقام القوى هي الأرقام الموجودة من الدالة ROW سابقًا.
  • هذا الجزء من الصيغة سيعيد القيم كـ- {1؛ 10؛ 100 ؛ 1000؛ 10000؛ 100000؛ 1000000؛ 10000000؛ 100000000}.

مضاعفة B n and C n

  • الآن ، القيم الناتجة من آخر تفصيلين رئيسيين لـ B و C ستصبح الآنتتضاعف داخل المصفوفة. ثم ستكون المنتجات التي تم العثور عليها من عمليات الضرب- {2؛ 90؛ 100؛ 0؛ 0؛ 0؛ 0؛ 0؛ 0}.
  • وأخيراً ، SUMPRODUCT ستجمع الدالة هذه القيم الموجودة في المصفوفة. لذلك ، ستكون النتيجة النهائية هي 192 (2 + 90 + 100 + 0 + 0 + 0 + 0 + 0 + 0) ، وهي الأرقام المستخرجة من الخلية B5 .

اقرأ المزيد: كيفية فصل النص والأرقام في Excel (4 طرق سهلة)

5. استخراج الأرقام المكونة من خمسة أرقام من سلسلة

سنستخدم صيغة أخرى لاستخراج الأرقام المكونة من خمسة أرقام من أي جزء من سلسلة في Excel. سنستخدم الدالتين CONCAT و SEQUENCE لأول مرة في هذا القسم. علاوة على ذلك ، قمنا بتغيير مجموعة البيانات الخاصة بنا قليلاً لهذه الطريقة.

الخطوات:

  • أولاً ، حدد نطاق الخلايا C5: C12 .
  • ثانيًا ، اكتب الصيغة التالية.

=CONCAT(IFERROR(0+MID(B5,SEQUENCE(LEN(B5)),1),""))

  • أخيرًا ، اضغط على Ctrl + Enter .

🔎 انهيار الصيغة

  • LEN (B5)
    • الإخراج: 11 .
    • تعرض هذه الوظيفة طول السلسلة.
  • SEQUENCE (11)
    • الإخراج: {1؛ 2؛ 3؛ 4؛ 5؛ 6؛ 7؛ 8؛ 9؛ 10؛ 11} .
    • تعرض هذه الوظيفة أول أحد عشر رقمًا.
  • MID (B5، {1؛ 2 ؛ 3؛ 4؛ 5؛ 6؛ 7؛ 8؛ 9؛ 10؛ 11}، 1)
    • الإخراج: {"1 ″؛" 9 ″؛ " "؛" D "؛" D "؛" X "؛" 2 ″ ؛ "M" ؛ "N" ؛ "3 ″ ؛" 3 ″} .
    • باستخدام هذا الجزء ، نحنالحصول على الأحرف الفردية من السلسلة.
  • 0 + {"1 ″؛" 9 ″؛ " "؛" D "؛" D "؛" X "؛" 2 ″ ؛ "M" ؛ "N" ؛ "3 ″ ؛" 3 ″}
    • الإخراج: {1 ؛ 9 ؛ #VALUE!؛ # VALUE!؛ # VALUE!؛ # VALUE!؛ 2؛ #VALUE! إرجاع خطأ.
  • IFERROR ({1؛ 9؛ #VALUE!؛ # VALUE!؛ # VALUE!؛ # VALUE!؛ 2؛ #VALUE!؛ # VALUE!؛ 3 ؛ 3}، "")
    • الإخراج: {1؛ 9؛ ""؛ ""؛ ""؛ ""؛ 2؛ ""؛ ""؛ 3؛ 3} .
    • نحصل على بيانات فارغة لجميع قيم الخطأ.
  • CONCAT ({1 ؛ 9 ؛ "" ؛ "" ؛ "" ؛ "" ؛ 2 ؛ " ”؛“ ”؛ 3؛ 3})
    • الإخراج: 19233 .
    • أخيرًا ، نضيف جميع القيم لاستخراج الأرقام المكونة من خمسة أرقام فقط.

6. استخدام التعبئة السريعة لاستخراج الأرقام ضمن النطاق

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

الخطوات:

  • لتبدأ ، اكتب الأرقام يدويًا في الخلية C5 .

  • ثم ابدأ في كتابة الأرقام من الخلية B6 إلى الخلية C6 وسوف يتعرف Excel تلقائيًا على النمط.
  • أخيرًا ، اضغط على أدخل .

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

على سبيل المثال ، إذا كان علينا استخراج صفرين (00) من البيانات المقدمة ، ستظهر صفرًا واحدًا ، وليس اثنين. ثم إذا كنت ترغب في استخراج الأرقام من البداية أو المواضع الأخيرة في الخلية ، فسيتم استخراج القيم النصية أيضًا ، جنبًا إلى جنب مع الأرقام.

اقرأ المزيد: كيف لاستخراج الأرقام بعد نص معين في Excel (طريقتان مناسبتان)

7. تطبيق كود VBA لاستخراج الأرقام فقط من خلية Excel

إذا كنت مهتمًا باستخدام Excel VBA Macro لاستخراج الأرقام من الخلايا فقط ، فأنت تريد اتباع الخطوات أدناه. سنوضح لك كيفية كتابة الكود في نافذة وحدة VBA . سيطلب هذا الرمز من المستخدم تحديد نطاقات خلايا الإدخال والإخراج.

الخطوات:

  • أولاً ، اضغط على ALT + F11 لفتح نافذة VBA .
  • ثم ، من علامة التبويب إدراج ، حدد الأمر الوحدة النمطية . وحدة جديدةستظهر نافذة حيث ستكتب الرموز.

  • ثالثًا ، داخل الوحدة ، قم بلصق الرموز التالية بعد النسخ.
2670

  • بعد ذلك ، اضغط على F5 لتنفيذ الكود. سيظهر مربع حوار يسمى " تحديد بيانات الإدخال ".
  • ثم حدد جميع خلايا النص (على سبيل المثال B5: B12 ) و اضغط على موافق .

  • بعد ذلك ، مربع حوار آخر يسمى " تحديد خلية الإخراج سيظهر "حيث يتعين عليك تحديد خلية معينة أو نطاق من الخلايا لرؤية بيانات الإخراج أو القيم.
  • أخيرًا ، حدد نطاق الخلايا C5: C12 واضغط أدخل .

  • وبالتالي ، سترى الأرقام المستخرجة من النصوص كلها مرة واحدة. وبالتالي ، سننهي الطرق السبع السريعة لاستخراج الأرقام من خلية Excel فقط.

🔎 VBA Code Breakdown

إعلان المعلمات

9822
  • هنا في هذا الجزء في البداية ، نعلن كل شيء معلماتنا كأعداد صحيحة أو قيم سلسلة أو نطاقات من الخلايا. ثم نعطي أسماء مربعات الحوار الخاصة بنا مع "تحديد بيانات الإدخال" و "تحديد خلية الإخراج" .

تحديد أنواع المدخلات & amp؛ مخرجات مربعات الحوار

7698
  • الآن نحن نحدد المعلمات وأنواعها لمربعات الحوار. هنا ، إضافة Type: = 8 تعني الستتألف بيانات الإدخال والإخراج من خلايا مرجعية أو نطاق من الخلايا.
  • نحن نحدد أيضًا أنه إذا لم يتم العثور على بيانات الإدخال ، فسيتوقف الروتين الفرعي. من خلال ذكر هذا الماكرو ، لن ينهار الروتين الفرعي بحثًا عن البيانات المفقودة ، بل سيتوقف عن العمل.

التكرارات

3657
  • أخيرًا ، هذا هو الجزء الأكثر أهمية حيث نطبق الوظائف أو الصيغ التي نحتاج إلى تخصيصها للنصوص للعثور على القيم الناتجة من السلاسل .
  • تتمثل إحدى المزايا الرئيسية لترميز دالة لبرنامج Excel في أنه ليس من الضروري كتابة صيغة كبيرة كما كان علينا القيام به في الطرق السابقة ، حيث يحتوي VBA على أوامر مضمنة لاستخدام حلقات For أو while حيث يمكن تنفيذ التكرار لكل التفاصيل في سلسلة نصية دون أي متاعب.

اقرأ المزيد: كيفية فصل الأرقام عن النص في Excel VBA (3 الطرق)

الخاتمة

لقد أظهرنا لك 7 طرق سهلة لاستخراج الأرقام فقط من خلية Excel. استخراج الأرقام فقط من سلسلة نصية ليس بالبساطة التي يبدو عليها لأنه يتطلب مجموعة من الوظائف المتعددة ، مما يجعل الصيغة النهائية أو بناء الجملة معقدة. لكننا نأمل أن تكون الطريقة التي حاولنا بها توضيح الصيغ من خلال تفكيك الوظائف الداخلية قد ساعدتك على فهم بناء الجملة بشيء من الراحة وسهولة.

إذا وجدت أي وظائف أو صيغ أخرى كان يجب أن نضيفها هنا ، فيرجى إخبارنا من خلال تعليقاتك القيمة. أو يمكنك إلقاء نظرة على مقالاتنا الأكثر إفادة وإثارة للاهتمام والمتعلقة بوظائف Excel على هذا الموقع.

ثم ، باستخدام مقبض التعبئة ، سننسخ هذه الصيغة إلى باقي الخلايا.

الخطوات:

  • أولاً ، اكتب الصيغة في الخلية C5 .

=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0","1","2","3","4","5","6","7","8","9"},""))))

  • ثانيًا ، اضغط على أدخل وستحصل على الرقم 34 للرمز الأول.

  • ثالثًا ، استخدم مقبض التعبئة ثم لملء جميع الخلايا الأخرى في العمود C .

🔎 انهيار الصيغة

البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، "8 ″،" 9 ″}، ””)

  • هنا ، ستعثر الوظيفة SUBSTITUTE على الأرقام (0-9) على التوالي ، وإذا وجدت ، فستستبدل هذا الرقم في الخلية B5 بحرف فارغ في كل مرة. لذا ، ستُرجع الوظيفة كـ- {"34DTXRF" ، "34DTXRF" ، "34DTXRF" ، "4DTXRF" ، "3DTXRF" ، "34DTXRF" ، "34DTXRF" ، "34DTXRF" ، "34DTXRF" ، "}.

LEN (البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، ”8 ″،” 9 ″}، ””))

  • تحدد الوظيفة LEN عدد الأحرف في سلسلة . لذلك ، هنا ، ستحسب الوظيفة LEN جميع الأحرف الموجودة بشكل فردي في النصوص من خلال وظيفة SUBSTITUTE . ستكون القيم الناتجة هنا في حالتنا - {7،7،7،6،6،7،7،7،7،7}.

LEN (B5) - LEN (البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، "8 ″،" 9 ″}، " )))

  • الآن ، هذا الجزء هوالطرح من عدد الأحرف في الخلية B5 إلى جميع الأرقام الأخرى للأحرف الموجودة بشكل فردي في القسم السابق من الصيغة. لذلك ، ستكون القيم الناتجة هنا - {0،0،0،1،1،0،0،0،0،0}.

SUM (LEN (B5) -LEN (البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، "8 ″،" 9 ″}، " ”)))

  • ستقوم الوظيفة SUM بجمع جميع القيم المطروحة التي تم العثور عليها & amp؛ لذلك ستكون النتيجة هنا ، 2 ​​ (0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0).

= LEFT (B5، SUM (LEN (B5) -LEN (SUBSTITUTE (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7، "8 ″ ،" 9 ″} ، ""))))

  • والآن هذا هو الجزء الأخير حيث ستعمل الوظيفة LEFT تُرجع القيم بعدد دقيق من الأحرف من اليسار الموجود في القسم السابق من الصيغة. نظرًا لأننا حصلنا على قيمة المجموع كـ 2 ، فإن الدالة LEFT هنا سترجع فقط 34 من النص 34DTXRF .

ذات صلة: كيفية فصل الأرقام في Excel باستخدام الصيغة (5 طرق)

2. استخراج الأرقام من الجانب الأيمن من النص

في هذا القسم ، سنستخرج الأرقام أو الأرقام من الجانب الأيمن من السلسلة النصية. سنستخدم هنا وظائف RIGHT و MIN و SEARCH .

الخطوات:

  • للبدء ، في مجموعة البيانات الخاصة بنا ، ما يتعين علينا كتابته في الخلية C5 هو-

=RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&"0123456789")) +1)

  • بعد ذلك ، اضغط أدخل ثم استخدم مقبض التعبئة لملء بقية الخلايا تلقائيًا.

🔎 انهيار الصيغة

B5 & amp؛ ”0123456789 ″

  • هنا ، نقوم بتسلسل القيم في الخلية B5 مع 0123456789 باستخدام علامة العطف (& amp؛) بين منهم وسنحصل على القيمة الناتجة مثل- DTXRF340123456789.

SEARCH ({0،1،2،3،4،5،6،7،8،9} ، B5 & amp؛ ”0123456789 ″)

  • الآن ، ستبحث الوظيفة SEARCH عن جميع الأرقام (0-9) واحدًا تلو الآخر في القيمة الناتجة التي تم الحصول عليها من القسم السابق وستقوم بإرجاع مواضع تلك الأرقام العشرة في الأحرف DTXRF340123456789 . إذن ، هنا ستكون القيم الناتجة - {8،9،10،6،7،13،14،15،16،17}.

MIN (SEARCH ({0 ، 1،2،3،4،5،6،7،8،9}، B5 & amp؛ ”0123456789 ″))

  • MIN تستخدم الدالة للعثور على أقل رقم أو رقم في المصفوفة. لذلك ، هنا سيكون الحد الأدنى أو الأدنى للقيمة- 6 من المصفوفة {8،9،10،6،7،13،14،15،16،17} الموجودة في القسم السابق من الصيغة .

LEN (B5) - MIN (SEARCH ({0،1،2،3،4،5،6،7،8،9}، B5 & amp؛ "0123456789 )) +1)

  • الآن ، سيتم العثور على عدد الأحرف في B5 بواسطة LEN وظيفة. ثم يتم طرح القيمة 6 (الموجودة في القسم الأخير) ثم إرجاع النتيجة بإضافة 1. هنا في حالتنا ،ستكون القيمة الناتجة 2 ​​(7-6 + 1) .

RIGHT (B5، LEN (B5) - MIN (SEARCH ({0،1، 2،3،4،5،6،7،8،9}، B5 & amp؛ ”0123456789 ″)) +1)

  • RIGHT ستعيد الدالة عدد الأحرف المحدد من الجانب الأخير أو الأيمن من السلسلة. باتباع النتيجة التي تم العثور عليها من خلال عملية الطرح في القسم السابق ، هنا ستعرض الوظيفة RIGHT آخر حرفين من الخلية B5 ، وسيكون ذلك 34 .

اقرأ المزيد: كيفية فصل الأرقام في خلية واحدة في Excel (5 طرق)

3. استخراج الأرقام من أي جزء من سلسلة نصية

الآن ، إليك حل شامل لجميع الحالات. ستسحب هذه الطريقة الأرقام أو الأرقام من أي موضع في سلسلة نصية. علاوة على ذلك ، سوف نستخدم TEXTJOIN ، IFERROR ، INDIRECT ، MID و ROW يعملان في هذه الطريقة.

الخطوات:

  • أولاً ، اكتب الصيغة في الخلية الوجهة على النحو التالي-

=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)*1),""))

  • ثم ، إذا تستخدم Excel 2016 أو إصدار أعلى ثم اضغط على Enter ، وإلا اضغط على Ctrl + Shift + Enter احصل على نتيجة صيغة المصفوفة هذه.
  • بعد هذه الخطوة ، قم بتعبئة الخلايا الأخرى تلقائيًا باستخدام مقبض التعبئة وتكون قد انتهيت.

🔎 انهيار الصيغة

INDIRECT ("1:" & amp؛ LEN (B5))

  • تُستخدم الوظيفة INDIRECT لتخزين مصفوفة من قيم الخلية كنص مرجعي. هنا يربط أمر علامة العطف (& amp؛) طول أحرف الخلية B5 مع بنية نطاق غير مكتملة (1 :) .
  • لذلك ، هنا ستخزن الوظيفة غير المباشر جميع الأرقام بين 1 وطول الأحرف في الخلية B5 كنص مرجعي.

ROW (INDIRECT (“1:” & amp؛ LEN (B5)))

  • عادةً ما تخبر الدالة 1> ROW رقم صف الخلية. ولكن هنا في الوظيفة INDIRECT ، حيث لم يتم ذكر أي خلية مرجعية ، في هذه الحالة ، ستقوم الوظيفة ROW باستخراج كل القيم أو الأرقام من النصوص المرجعية المخزنة في الوظيفة INDIRECT .
  • الآن ، للخلية الأولى B5 ، القيم الناتجة من خلال هذه الدالتين ROW و غير المباشر ستكون- {1 ؛ 2 ؛ 3 ؛ 4 ؛ 5 ؛ 6 ؛ 7؛ 8؛ 9}.

(MID (B5، ROW (INDIRECT (“1:” & amp؛ LEN (B5)))، 1))

  • ستتيح لك الوظيفة MID تحديد الأحرف من منتصف سلسلة نصية ، مع تحديد موضع البداية & amp؛ length.
  • لذلك ، هنا بالنسبة لجميع المواضع التسعة الموجودة في القسم السابق ، ستعرض الوظيفة MID الآن جميع الأحرف واحدة تلو الأخرى لكل موضع & amp؛ وبالتالي ستعيد القيم كـ- {"1 ″؛" 9 ″؛ ""؛" D "؛" D "؛" X "؛" 2 ″؛ "M"؛ "N"}.

IFERROR ((MID (B5، ROW (INDIRECT ("1:" & amp؛ LEN (B5)))، 1) * 1)، "")

  • الآن ، IFERROR هي وظيفة منطقية تحدد ما إذا كانت السلسلة عبارة عن رقم أم شيء آخر. إذا لم تحدد سلسلة بأرقام أو أرقام ، فستعيد القيمة بأمر نصي محدد.
  • في حالتنا ، سيتم ضرب جميع القيم الموجودة في القسم الأخير في 1 ، و عندما يتم إرجاع النتائج كأخطاء في القيمة للأحرف أو القيم النصية التي لا يمكن مضاعفتها ، فإن وظيفتها IFERROR ستحول الأخطاء إلى سلاسل فارغة. إذن ، ستكون القيم الناتجة لدينا - {1 ؛ 9 ؛ "" ؛ "" ؛ "" ؛ "" ؛ 2 ؛ "" ؛ ""}.

= TEXTJOIN ("" ، TRUE ، IFERROR ((MID (B5، ROW (INDIRECT ("1:" & amp؛ LEN (B5))) ، 1) * 1) ، ""))

  • والآن سيتم تنفيذ الجزء الأخير من خلال وظيفة TEXTJOIN . تُستخدم هذه الوظيفة لربط سلسلتين أو ربطهما بمحدد محدد. وظيفة. وبالتالي سنحصل على الرقم 192.

اقرأ المزيد: كيفية استخراج أرقام متعددة من سلسلة في Excel (6 طرق)

4. تداخل وظائف متعددة لإخراج الأرقام فقط

الآن ، سنعرض لك صيغة أخرى لاستخراج الأرقام فقط من أي موضع من Excelزنزانة. على الرغم من أنه قد يبدو معقدًا للغاية ، إلا أننا سنقسم الصيغة بأكملها ونحاول شرح جميع الوظائف المدمجة بسهولة. بالإضافة إلى ذلك ، سوف نستخدم IF ، LARGE ، INDEX ، SUMPRODUCT و ISNUMBER وظائف في هذه الصيغة.

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

=IF(SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5,ROW(INDIRECT("$1:$"&LEN(B5))),1))* ROW(INDIRECT("$1:$"&LEN(B5))),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")

  • بعد ذلك ، يجب أن تضغط على أدخل فقط بعد كتابة الصيغة بالكامل وتنتهي.

🔎 انهيار الصيغة

قبل البدء في انهيار هذا الحجم الهائل & amp؛ صيغة مضغوطة ، يمكننا فصلها إلى بعض الأجزاء مثل-

= IF (A & gt؛ 0، SUMPRODUCT (B 1 * C 1 ، B 2 * C 2 ، ……… .B n C n )، "")

يعني هذا التركيب أنه إذا كان A أكبر من 0 ، فإن جميع منتجات B n و C n سوف تلخص النتيجة النهائية. وإذا لم يكن A أكبر من 0 ، فستعود النتيجة كخلية فارغة أو فارغة.

  • A =SUM (LEN (B5) -LEN (البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، "8 ″، ”9”}، “”
  • B = MID (0 & amp؛ B5، LARGE (INDEX (ISNUMBER (–MID (B5، ROW (INDIRECT (“$ 1 : $ ”& amp؛ LEN (B5)))، 1)) * ROW (INDIRECT (“ $ 1: $ ”& amp؛ LEN (B5)))، 0)، ROW (INDIRECT (“ $ 1: $ ”& amp؛ LEN ( B5)))) + 1،1)
  • C = 10 ^ ROW (INDIRECT (“$ 1: $” & amp؛ LEN (B5))) / 10) ، ""

انهيار الجزء A = SUM (LEN (B5) -LEN (SUBSTITUTE (B5 ، {"0 ″ ،" 1 ، "2 ، "3 ″ ،" 4 ″ ، "5 ،" 6 ″ ، "7 ″ ،" 8 ″ ، "9"} ، ""

البديل (B5 ، { "0 ″ ،" 1 ″ ، "2 ″ ،" 3 ، "4 ″ ،" 5 ″ ، "6 ،" 7 ″ ، "8 ″ ،" 9 "} ،" ")

  • ستعثر الوظيفة SUBSTITUTE على جميع الأرقام (0-9) واحدة تلو الأخرى في النص 19 DDX2MN في كل مرة وستحل محل تلك أرقام بسلسلة فارغة في مواضع الأرقام.
  • وبالتالي فإن القيم الناتجة في المصفوفة ستكون - {"19 DDX2MN" ، "9 DDX2MN" ، "19 DDXMN" ، "19 DDX2MN" ، " 19 DDX2MN "،" 19 DDX2MN "،" 19 DDX2MN "،" 19 DDX2MN "،" 19 DDX2MN "،" 1 DDX2MN "}.

LEN (SUBSTITUTE (B5، { "0 ″ ،" 1 ″ ، "2 ″ ،" 3 ، "4 ″ ،" 5 ″ ، "6 ،" 7 ″ ، "8 ″ ،" 9 "} ،" "))

  • ملف LEN ستقوم الوظيفة الآن بحساب عدد الأحرف في جميع قيم السلسلة التي تم الحصول عليها من القسم السابق. لذلك ، ستعود هذه الوظيفة كـ- {9،8،8،9،9،9،9،9،9،8}.

LEN (B5) -LEN ( البديل (B5، {"0 ″،" 1 ″، "2 ″،" 3 ″، "4 ″،" 5 ″، "6 ″،" 7 ″، "8 ″،" 9 "}،" "))

  • الآن في هذا الجزء من الصيغة ، عدد الأحرف في الخلية B5 سيطرح جميع الأرقام الموجودة في

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.