جدول المحتويات
يشرح البرنامج التعليمي وظائف Excel REPLACE و SUBSTITUTE مع أمثلة على الاستخدامات. تعرف على كيفية استخدام وظيفة REPLACE مع السلاسل النصية والأرقام والتواريخ ، وكيفية دمج عدة وظائف REPLACE أو SUBSTITUTE في صيغة واحدة.
ناقشنا الأسبوع الماضي طرقًا مختلفة لاستخدام وظائف FIND و SEARCH ضمن أوراق عمل Excel الخاصة بك. اليوم ، سنلقي نظرة أعمق على وظيفتين أخريين لاستبدال النص في خلية بناءً على موقعها أو استبدال سلسلة نصية واحدة بأخرى بناءً على المحتوى. كما قد تكون خمنت ، أنا أتحدث عن وظائف Excel REPLACE و SUBSTITUTE.
وظيفة Excel REPLACE
تسمح لك وظيفة REPLACE في Excel بتبديل واحد أو أكثر أحرف في سلسلة نصية بحرف آخر أو مجموعة من الأحرف.
REPLACE (old_text ، start_num ، num_chars ، new_text)كما ترى ، تحتوي وظيفة Excel REPLACE على 4 وسيطات ، وكلها مطلوبة.
- Old_text - النص الأصلي (أو مرجع إلى خلية بالنص الأصلي) الذي تريد استبدال بعض الأحرف فيه.
- Start_num - موضع الحرف الأول داخل النص القديم الذي تريد استبداله.
- Num_chars - عدد الأحرف التي تريد استبدالها.
- New_text - النص البديل.
على سبيل المثال ، لتغيير كلمة " شمس " إلى " ابن " ، يمكنك استخدام ما يليالصيغة:
=REPLACE("sun", 2, 1, "o")
وإذا وضعت الكلمة الأصلية في خلية ما ، قل A2 ، يمكنك توفير مرجع الخلية المقابل في الوسيطة old_text:
=REPLACE(A2, 2, 1, "o")
ملاحظة. إذا كانت الوسيطة start_num أو num_chars سالبة أو غير رقمية ، فتُرجع صيغة Excel Replace الخطأ #VALUE! خطأ.
استخدام دالة Excel REPLACE مع القيم الرقمية
تم تصميم وظيفة REPLACE في Excel للعمل مع السلاسل النصية. بالطبع ، يمكنك استخدامه لاستبدال الأحرف الرقمية التي تشكل جزءًا من سلسلة نصية ، على سبيل المثال:
=REPLACE(A2, 7, 4, "2016")
لاحظ أننا نرفق "2016 "بعلامات اقتباس مزدوجة كما تفعل عادةً مع القيم النصية.
بطريقة مماثلة ، يمكنك استبدال رقم واحد أو أكثر داخل رقم. على سبيل المثال:
=REPLACE(A4, 4, 4,"6")
ومرة أخرى ، عليك تضمين قيمة الاستبدال بين علامتي اقتباس ("6").
ملحوظة. تُرجع صيغة Excel REPLACE دائمًا سلسلة نصية ، وليس رقمًا. في لقطة الشاشة أعلاه ، لاحظ المحاذاة اليسرى لقيمة النص المرتجع في B2 ، وقارنها مع الرقم الأصلي المحاذي لليمين في A2. ولأنها قيمة نصية ، فلن تتمكن من استخدامها في عمليات حسابية أخرى إلا إذا قمت بتحويلها مرة أخرى إلى رقم ، على سبيل المثال عن طريق الضرب في 1 أو باستخدام أي طريقة أخرى موصوفة في كيفية تحويل النص إلى رقم.
استخدام وظيفة Excel REPLACE مع التواريخ
كما رأيت للتو ، تعمل وظيفة REPLACE بشكل جيد معالأرقام ، باستثناء أنها تُرجع سلسلة نصية :) تذكر أنه في نظام Excel الداخلي ، يتم تخزين التواريخ كأرقام ، يمكنك محاولة استخدام بعض الصيغ "استبدال" في التواريخ. قد تكون النتائج محرجة للغاية.
على سبيل المثال ، لديك تاريخ في A2 ، لنقل 1-Oct-14 ، وتريد تغيير " Oct " إلى " Nov ". لذلك ، تكتب الصيغة REPLACE (A2، 4، 3، "Nov") التي تخبر Excel باستبدال 3 أحرف في الخلايا A2 تبدأ بالحرف الرابع ... وحصلت على النتيجة التالية:
لماذا هذا؟ لأن "01-Oct-14" ليس سوى تمثيل مرئي للرقم التسلسلي الأساسي (41913) الذي يمثل التاريخ. لذلك ، تقوم صيغة "استبدال" الخاصة بنا بتغيير آخر 3 أرقام في الرقم التسلسلي أعلاه إلى " نوفمبر " وإرجاع السلسلة النصية "419Nov".
للحصول على وظيفة Excel REPLACE للعمل بشكل صحيح مع التواريخ ، يمكنك تحويل التواريخ إلى سلاسل نصية أولاً باستخدام وظيفة TEXT أو أي تقنية أخرى موضحة في كيفية تحويل التاريخ إلى نص في Excel. بدلاً من ذلك ، يمكنك تضمين دالة TEXT مباشرةً في الوسيطة old_text للدالة REPLACE:
=REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")
يرجى تذكر أن نتيجة الصيغة أعلاه هي سلسلة نصية ، وبالتالي لا يعمل هذا الحل إلا إذا كنت لا تخطط لاستخدام التواريخ المعدلة في عمليات حسابية أخرى. إذا كنت بحاجة إلى تواريخ بدلاً من سلاسل نصية ، فاستخدم الدالة DATEVALUE لتحويل القيم التي يتم إرجاعها بواسطةوظيفة Excel REPLACE التي تعود إلى التواريخ:
=DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))
وظائف REPLACE المتداخلة لإجراء عمليات استبدال متعددة في خلية
في كثير من الأحيان ، قد تحتاج إلى إجراء أكثر من استبدال واحد في نفس الخلية. بالطبع ، يمكنك إجراء عملية استبدال واحدة ، وإخراج نتيجة وسيطة في عمود إضافي ، ثم استخدام وظيفة REPLACE مرة أخرى. ومع ذلك ، فإن الطريقة الأفضل والأكثر احترافًا هي استخدام وظائف REPLACE المتداخلة والتي تتيح لك إجراء العديد من الاستبدالات باستخدام صيغة واحدة. في هذا السياق ، يعني "التداخل" وضع وظيفة داخل أخرى.
انظر في المثال التالي. لنفترض أن لديك قائمة بأرقام الهواتف في العمود A بالتنسيق "123456789" وتريد أن تجعلها تبدو مثل أرقام الهواتف عن طريق إضافة واصلات. بمعنى آخر ، هدفك هو تحويل "123456789" إلى "123-456-789".
إدخال الواصلة الأولى أمر سهل. تكتب صيغة Excel Replace المعتادة التي تستبدل صفرًا من الأحرف بواصلة ، أي تضيف واصلة في الموضع الرابع في الخلية:
=REPLACE(A2,4,0,"-")
نتيجة أعلاه استبدال الصيغة كما يلي:
حسنًا ، والآن نحتاج إلى إدخال واصلة أخرى في الموضع الثامن. للقيام بذلك ، يمكنك وضع الصيغة أعلاه داخل وظيفة Excel REPLACE أخرى. بتعبير أدق ، قمت بتضمينه في الوسيطة old_text للدالة الأخرى ، بحيث تتعامل الدالة REPLACE الثانية مع القيمة التي يتم إرجاعها بواسطةأول استبدال ، وليس القيمة في الخلية A2:
=REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")
نتيجة لذلك ، تحصل على أرقام الهواتف بالتنسيق المطلوب:
بطريقة مماثلة ، يمكنك استخدام وظائف REPLACE المتداخلة لجعل السلاسل النصية تبدو مثل التواريخ عن طريق إضافة شرطة مائلة للأمام (/) عند الاقتضاء:
=(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
علاوة على ذلك ، يمكنك تحويل السلاسل النصية إلى تواريخ حقيقية عن طريق تغليف صيغة REPLACE أعلاه بوظيفة DATEVALUE:
=DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))
وبطبيعة الحال ، أنت لست مقيدًا بعدد الوظائف يمكنك التداخل في صيغة واحدة (تسمح الإصدارات الحديثة من Excel 2010 و 2013 و 2016 بما يصل إلى 8192 حرفًا وما يصل إلى 64 دالة متداخلة في صيغة).
على سبيل المثال ، يمكنك استخدام 3 وظائف REPLACE متداخلة لديك رقم في A2 يظهر مثل التاريخ والوقت:
=REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")
استبدال سلسلة تظهر في موضع مختلف في كل خلية
حتى الآن ، في جميع الأمثلة ، كنا نتعامل مع قيم ذات طبيعة مماثلة وقمنا بعمل بدائل في نفس الموضع في كل خلية. لكن مهام الحياة الواقعية غالبًا ما تكون أكثر تعقيدًا من ذلك. في أوراق العمل الخاصة بك ، قد لا تظهر الأحرف التي سيتم استبدالها بالضرورة في نفس المكان في كل خلية ، وبالتالي سيتعين عليك العثور على موضع الحرف الأول الذي يجب استبداله. سيوضح المثال التالي ما أتحدث عنه.
لنفترض أن لديك قائمة بالبريد الإلكترونيالعنونة في العمود "أ" وتغير اسم شركة واحدة من "ABC" إلى "BCA" مثلاً. لذلك ، يجب عليك تحديث جميع عناوين البريد الإلكتروني للعملاء وفقًا لذلك.
ولكن المشكلة هي أن أسماء العملاء ذات أطوال مختلفة ، ولهذا السبب لا يمكنك تحديد مكان بدء اسم الشركة بالضبط. بمعنى آخر ، لا تعرف القيمة التي يجب توفيرها في الوسيطة start_num للدالة Excel REPLACE. لمعرفة ذلك ، استخدم وظيفة Excel FIND لتحديد موضع الحرف الأول في السلسلة "abc":
=FIND("@abc",A2)
وبعد ذلك ، قم بتوفير وظيفة FIND أعلاه في start_num وسيطة صيغة REPLACE الخاصة بك:
=REPLACE(A2, FIND("@abc",A2), 4, "@bca")
نصيحة. نقوم بتضمين "@" في صيغة البحث والاستبدال في Excel لتجنب عمليات الاستبدال العرضية في جزء الاسم من عناوين البريد الإلكتروني. بالطبع ، هناك فرصة ضئيلة للغاية لحدوث مثل هذه التطابقات ، وما زلت ترغب في أن تكون في الجانب الآمن.
كما ترى في لقطة الشاشة التالية ، لا توجد مشكلة في إيجاد الصيغة واستبدالها. النص القديم مع الجديد. ومع ذلك ، إذا لم يتم العثور على السلسلة النصية المراد استبدالها ، فإن الصيغة ترجع الخطأ #VALUE! خطأ:
ونريد أن تقوم الصيغة بإرجاع عنوان البريد الإلكتروني الأصلي بدلاً من الخطأ. لذا ، دعنا نرفق البحث الخاص بنا & amp؛ استبدال الصيغة في وظيفة IFERROR:
=IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)
وهذه الصيغة المحسّنة تعمل بشكل مثالي ، أليس كذلك؟
عملية أخرىتطبيق وظيفة REPLACE هو كتابة الحرف الأول في الخلية بأحرف كبيرة. عندما تتعامل مع قائمة بالأسماء والمنتجات وما شابه ، يمكنك استخدام الصيغة المرتبطة أعلاه لتغيير الحرف الأول إلى الأحرف الكبيرة.
نصيحة. إذا كنت تريد إجراء الاستبدالات في البيانات الأصلية ، فمن الأسهل استخدام مربع حوار Excel FIND و REPLACE.
وظيفة استبدال Excel
تحل وظيفة SUBSTITUTE في Excel محل مثيل واحد أو أكثر من حرف معين أو سلسلة نصية مع حرف (أحرف) محدد.
بناء جملة وظيفة Excel SUBSTITUTE كما يلي:
SUBSTITUTE (text، old_text، new_text، [example_num]) الوسيطات الثلاث الأولى مطلوبة والأخيرة اختيارية.- نص - النص الأصلي الذي تريد استبدال الأحرف فيه. يمكن توفيره كسلسلة اختبار أو مرجع خلية أو نتيجة لصيغة أخرى.
- Old_text - الحرف (الأحرف) الذي تريد استبداله.
- New_text - الحرف (الأحرف) الجديدة لاستبدال old_text بـ.
- Instance_num - حدوث old_text الذي تريد استبداله. إذا تم حذفه ، فسيتم تغيير كل تكرار للنص القديم إلى النص الجديد.
على سبيل المثال ، كل الصيغ أدناه تستبدل "1" بـ "2" في الخلية A2 ، ولكنها تُرجع نتائج مختلفة اعتمادًا على الرقم الذي توفره في الوسيطة الأخيرة:
=SUBSTITUTE(A2, "1", "2", 1)
- يستبدل التواجد الأول لـ "1" بـ"2".
=SUBSTITUTE(A2, "1", "2", 2)
- يستبدل التكرار الثاني لـ "1" بـ "2".
=SUBSTITUTE(A2, "1", "2")
- يستبدل كل تكرارات "1" بـ "2".
من الناحية العملية ، تُستخدم وظيفة SUBSTITUTE أيضًا لإزالة الأحرف غير المرغوب فيها من الخلايا. للحصول على أمثلة واقعية ، يرجى الاطلاع على:
- كيفية إزالة الأحرف أو الكلمات من السلسلة
- كيفية حذف الأحرف غير المرغوب فيها من الخلايا
ملاحظة. دالة SUBSTITUTE في Excel هي حساسة لحالة الأحرف . على سبيل المثال ، تستبدل الصيغة التالية جميع مثيلات الأحرف الكبيرة "X" بـ "Y" في الخلية A2 ، لكنها لن تحل محل أي مثيلات للحروف الصغيرة "x".
استبدل قيم متعددة بصيغة واحدة (البديل المتداخل)
كما هو الحال مع وظيفة Excel REPLACE ، يمكنك دمج العديد من وظائف SUBSTITUTE في صيغة واحدة لإجراء العديد من الاستبدالات في وقت واحد ، على سبيل المثال عدة أحرف أو سلاسل فرعية مع صيغة واحدة.
لنفترض أن لديك سلسلة نصية مثل " PR1 ، ML1 ، T1 " في الخلية A2 ، حيث تشير "PR" إلى "Project ،" ML "تعني" Milestone "و" T "تعني" المهمة ". ما تريده هو استبدال الرموز الثلاثة بأسماء كاملة. لتحقيق ذلك ، يمكنك كتابة 3 صيغ بديلة مختلفة:
=SUBSTITUTE(A2,"PR", "Project ")
=SUBSTITUTE(A2, "ML", "Milestone ")
=SUBSTITUTE(A2, "T", "Task ")
ثم أدخلها في بعضها البعض:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")
لاحظ أننا أضفنا مسافة في نهاية كل وسيطة new_text للأفضلسهولة القراءة.
لمعرفة طرق أخرى لاستبدال قيم متعددة في وقت واحد ، يرجى الاطلاع على كيفية البحث الشامل والاستبدال في Excel.
Excel REPLACE vs . Excel SubSTITUTE
وظائف Excel REPLACE و SUBSTITUTE متشابهة جدًا مع بعضهما البعض حيث تم تصميم كلاهما لتبديل السلاسل النصية. الاختلافات بين الوظيفتين هي كما يلي:
- يستبدل البديل واحد أو أكثر من مثيلات لحرف معين أو سلسلة نصية. لذلك ، إذا كنت تعرف النص المراد استبداله ، فاستخدم وظيفة Excel SUBSTITUTE. يغير
- REPLACE الأحرف في موضع محدد من سلسلة نصية. لذلك ، إذا كنت تعرف موضع الحرف (الأحرف) المراد استبداله ، فاستخدم وظيفة Excel REPLACE.
- تسمح وظيفة SUBSTITUTE في Excel بإضافة معلمة اختيارية (رقم المثيل) التي تحدد التكرار <يجب تغيير 10> من old_text إلى new_text.
هذه هي الطريقة التي تستخدم بها الدالتين SUBSTITUTE و REPLACE في Excel. نأمل أن تكون هذه الأمثلة مفيدة في حل مهامك. أشكركم على القراءة وآمل أن أطلعكم على مدونتنا الأسبوع المقبل!
تنزيل المصنف التدريبي
أمثلة صيغ الاستبدال والاستبدال (ملف .xlsx)