تحذف =SUBSTITUTE(A2,"-","") كل شرطة من النص في A2: تجد SUBSTITUTE النص القديم وتضع النص الجديد مكانه، وهو هنا نص فارغ. أما =SUBSTITUTE(A2,"-",".") فتضع نقطة مكان كل شرطة.
| A | B | C | |
|---|---|---|---|
| 1 | Phone | Digits only | With dots |
| 2 | 555-201-3344 | 5552013344 | 555.201.3344 |
| 3 | 555-870-1122 | 5558701122 | 555.870.1122 |
| 4 | 555-433-9001 | 5554339001 | 555.433.9001 |
النتيجة نص، حتى عندما لا يبقى إلا أرقام. أضف -- في البداية، =--SUBSTITUTE(A2,"-","")، عندما تحتاج إلى رقم.
SUBSTITUTE مقابل REPLACE
=SUBSTITUTE(text, old_text, new_text, [instance_num])
=REPLACE(old_text, start_num, num_chars, new_text)
تبحث SUBSTITUTE عن المحتوى: لا يهمها مكان old_text. ولا تبحث REPLACE عن شيء: تعدّ الأحرف وتكتب فوق num_chars منها بدءًا من start_num.
| A | B | |
|---|---|---|
| 1 | Text | Result |
| 2 | Report 2025 final | Report 2026 final |
| 3 | Report 2025 final | Report 2026 final |
| 4 | ID-0042 | SKU-0042 |
| 5 | 5551234 | 555-1234 |
- تعطي B2 وB3 النتيجة نفسها، لكن B3 تعمل فقط لأن السنة تبدأ عند الحرف 8. فإذا تغير النص، تظل SUBSTITUTE تجده؛ أما REPLACE فلا.
- تستبدل B4 أول حرفين، أيًّا كانا، بالنص
SKU. - تستخدم B5 طولًا قدره 0: لا يُحذف شيء، فتُدرج REPLACE الشرطة بعد الحرف الثالث. وهذه هي الطريقة المعتادة لإدراج حرف في موضع معين.
استخدم SUBSTITUTE عندما تعرف النص، وREPLACE عندما تعرف الموضع. وفي التعديلات المعتمدة على الموضع، يمكن أن توفر FIND الموضع: تستبدل =REPLACE(A2,FIND(" ",A2),1,"_") المسافة الأولى.
استبدال التكرار الثاني (رقم n) فقط
يحدد الوسيط الرابع في SUBSTITUTE أي تكرار يتغير. وبدونه تتغير كل التكرارات:
| A | B | |
|---|---|---|
| 1 | Path | Result |
| 2 | 2026-03-15-final | 2026/03/15/final |
| 3 | 2026-03/15-final | |
| 4 | 2026-03-15 final |
تغيّر B2 كل الشرطات. وتغيّر B3، مع 2، الشرطة الثانية فقط فتعطي 2026-03/15-final؛ وتضع B4 مسافة مكان الثالثة. ورقم التكرار الأكبر من عدد التطابقات لا يغيّر شيئًا.
| A | B | |
|---|---|---|
| 1 | Plan | New name |
| 2 | Basic monthly |
دورك: في B2، استبدل Basic بالنص Standard في اسم الخطة الموجود في A2، باستخدام صيغة.
حذف عدة أحرف مختلفة
تتعامل SUBSTITUTE مع old_text واحد في كل استدعاء. ولعدة أحرف، اجعل الاستدعاءات متداخلة: يعمل كل استدعاء على نتيجة الاستدعاء الذي بداخله.
| A | B | |
|---|---|---|
| 1 | Phone | Digits |
| 2 | (555) 201-3344 | 5552013344 |
| 3 | (555) 870-1122 | 5558701122 |
اقرأها من الداخل إلى الخارج: احذف (، ثم )، ثم -، ثم المسافات. وفي Microsoft 365، تحذف =REGEXREPLACE(A2,"[^0-9]","") كل حرف ليس رقمًا في استدعاء واحد. وللمسافات الزائدة تحديدًا، TRIM هي الأداة الأفضل، لأنها تُبقي مسافة واحدة بين الكلمات.
عدّ تكرارات حرف أو كلمة
تحذف SUBSTITUTE مع نص فارغ كل التكرارات، لذا يساوي الطول المفقود عدد الأحرف المحذوفة. اقسم على طول الكلمة لعدّ الكلمات:
| A | B | C | |
|---|---|---|---|
| 1 | Text | Commas | "red" appears |
| 2 | red, green, red, blue | 3 | 2 |
| 3 | Red, red, red | 2 | 2 |
تعيد C3 القيمة 2 لا 3: SUBSTITUTE تميّز حالة الأحرف، لذا لا تُحذف Red. استخدم SUBSTITUTE(LOWER(A3),"red","") للعد بغض النظر عن حالة الأحرف.
| A | B | |
|---|---|---|
| 1 | Tags | Count |
| 2 | excel,text,formulas,tips |
دورك: الوسوم في A2 مفصولة بفواصل. في B2، عدّ الوسوم (عددها يزيد بواحد على عدد الفواصل).
خطأ شائع: استخدام SUBSTITUTE لتغيير رقم
تعمل SUBSTITUTE على نص الرقم، والنتيجة نص. فالصيغة =SUBSTITUTE(A2,"0","") على 1050 تعطي 15 كنص، ويُتجاهل تنسيق مثل $1,050.00 لأن SUBSTITUTE تقرأ القيمة المخزنة، 1050. لتغيير الأرقام، استخدم الحساب. ولتغيير نص داخل خلايا كثيرة دفعة واحدة دون صيغ، يحتوي الصفحة الرئيسية > بحث وتحديد > استبدال (Ctrl+H، أو Control+H على Mac) على خيار مطابقة حالة الأحرف ويستبدل في المكان نفسه.
الأسئلة الشائعة
ما الفرق بين SUBSTITUTE وREPLACE في الاكسل؟
تجد SUBSTITUTE النص بمحتواه: تغيّر =SUBSTITUTE(A2,"old","new") كل old. وتعمل REPLACE حسب الموضع: تكتب =REPLACE(A2,5,3,"new") فوق 3 أحرف بدءًا من الحرف الخامس، أيًّا كانت.
كيف أحذف حرفًا من خلية في الاكسل؟
استبدله بنص فارغ: تحذف =SUBSTITUTE(A2,"-","") كل شرطة. ولعدة أحرف، اجعل الاستدعاءات متداخلة: =SUBSTITUTE(SUBSTITUTE(A2,"(",""),")","").
كيف أعدّ مرات ظهور حرف في خلية؟
قارن الطول قبل حذفه وبعده: تعدّ =LEN(A2)-LEN(SUBSTITUTE(A2,",","")) الفواصل في A2. ولكلمة، اقسم على طولها: =(LEN(A2)-LEN(SUBSTITUTE(A2,"red","")))/3.
هل تميّز SUBSTITUTE حالة الأحرف؟
نعم. تعطي =SUBSTITUTE("Red red","red","blue") النتيجة Red blue. ولتجاهل حالة الأحرف، حوّل النص إلى أحرف صغيرة أولًا، =SUBSTITUTE(LOWER(A2),"red","blue")، أو استخدم بحث واستبدال (Ctrl+H)، الذي يتجاهل حالة الأحرف افتراضيًا.