فهرست محتوا
مثالهای تابع SUBSTITUTE اکسل
تصویر بالا ساده ترین شکل استفاده از SUBSTITUTE را نشان میدهد و همانطور که میبینید کلمه چای در سلول A1 با دمنوش جایگزین شده است.
نکته : قطعا قصد ماکروسافت از این تابع تنها این شکل استفاده نبوده ، چرا که می توان از Find Replace استفاده کرد.
در این مثال از آرگومان آخر هم استفاده شده و به اکسل گفته ایم که اگر در سلول A1 کلمه چای را پیدا کردی فقط دومین کلمه چای را با دمنوش جایگزین کن ، در این حالت اگر کلمه چای در سلول مبدا بیش از دو بار هم تکرار شده باشد فقط دومی جایگزین می شود و اگر یم بار باشد ، جایگزینی نخواهد داشت.
ترکیب با توابع دیگر
در مثال بالا قصد ما این بوده که ستون تاریخ تولید را همه سالهای درج شده به سال 1400 تغییر کند پس باید در دو مرحله اول با تابع LEFT 4 رقم سال را از تاریخ جدا کنیم و بعد با استفاده از SUBSTITUTE آن را با 1400 جایگزین کنیم.
=--SUBSTITUTE(A2,",",".",LEN(A2)-LEN(SUBSTITUTE(A2,",","")))
در مثال بالا مقداری پیچیده عمل شده و کاربرد اساسی تابع SUBSTITUTE اکسل نمایش داده شده است و به صورت تو در تو از آن استفاده شده است ، شرح مسئله اینست که گاهی اوقات خروجی برخی نرم افزارها و یا داده های اینترنتی به جای نقطه که مشخص کننده اعداد بعد از اعشار است از کاما استفاده می کنند و حالا ما میخواهیم آخرین کاما را به دست آوریم و آن را با تقطه جایگزین کنیم.
- با تابع LEN طول کد کارکترها را به دست می آوریم
- تعداد کل کارکترها را منهای تعداد کل کارکترهای بدون کاما می کنیم
- حاصل به دست آمده تعداد کاماها و در واقع موقعیت آخرین کاما می شود و می توانیم از آن در آرگومان آخر استفاده کنیم.
=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",100)),100))
تصویر بالا همانطور که می بینید مثال دیگری از این تابع پرکاربرد است و می بینید که چگونه با ترکیب تابع TRIM و تابع SUBSTITUTE توانستیم داده های بعد از آخرین کاما را به دست آوریم و روش کار هم به شرح ذیل بوده است.
- ابتدا با تابع REPT تعداد 100 فاصله را جایگزین خط تیره کرده ایم .
- با کمک تابع RIGHT از سمت راست حاصل به دست آمده 100 کاراکتر جدا کرده ایم.
- فواصل اضافه را هم با تابع TRIM حذف کرده ایم.
البته این ترفند زمانی کارایی دارد که داده بعد از آخرین خط تیره بیش از 100 کاراکتر نباشد.
نکات مهم تابع SUBSTITUTE
این تابع به حروف کوچک و بزرگ حساس می باشد
این تابع وایدکارتها را پشتیبانی نیمکند یعنی از * و ؟ مانند تابع SEARCH استفاده نمیکند
خروجی این تابع متنی می باشد.