ویژگی تصویر

بابلز لرن

  /  اکسل   /  تابع RIGHT در اکسل
بنر تبلیغاتی الف

تابع RIGHT (یا تابع راست در زبان عام) در اکسل برای گرفتن تعدادی مشخص از کاراکترها از انتهای یک رشته متنی استفاده می‌شود. این تابع ساده ولی پرکاربرد است و در ترکیب با سایر توابع متن مانند LEN، FIND، SUBSTITUTE و TRIM کاربردهای قدرتمندی پیدا می‌کند.

نحو و پارامترها

نحوتوضیح
=RIGHT(text, [num_chars])text: رشته‌ای که می‌خواهید از آن کاراکتر استخراج کنید.
num_chars (اختیاری): تعداد کاراکترهای دریافتی از سمت راست؛ اگر حذف شود مقدار پیش‌فرض 1 است.
  • اگر num_chars بیشتر از طول متن باشد، کل رشته برگردانده می‌شود.
  • اگر num_chars منفی باشد، خطای #VALUE! دریافت می‌کنید.
  • اگر text عدد باشد، اکسل آن را به متن تبدیل می‌کند و کاراکترها را از نمایش متنی عدد استخراج می‌کند.

مثال‌های پایه

=RIGHT("Hello",2)

این فرمول دو کاراکتر آخر رشته را برمی‌گرداند: “lo”.

=RIGHT(A1)

اگر num_chars حذف شده باشد، تنها یک کاراکتر آخر سلول A1 را برمی‌گرداند.

=RIGHT(12345,2)

در اینجا عدد به متن تبدیل شده و خروجی “45” خواهد بود.

کاربردهای واقعی و ترکیب‌ها

ترکیب RIGHT با توابع دیگر امکان استخراج پسوند فایل‌ها، عدد انتهایی، یا بخش آخر آدرس‌ها را فراهم می‌کند.

  • استخراج پسوند فایل (پس از آخرین نقطه):
=RIGHT(A1, LEN(A1) - FIND("@", SUBSTITUTE(A1, ".", "@", LEN(A1)-LEN(SUBSTITUTE(A1,".","")))))

این فرمول پیچیده نقطه آخر را با نشانه موقت “@” جایگزین می‌کند، سپس مکان آن را پیدا کرده و تعداد کاراکترهای بعد از آن را محاسبه می‌کند تا پسوند (مثلاً “xlsx”) را استخراج کند. این روش وقتی نام فایل چندین نقطه داشته باشد هم کار می‌کند.

  • استخراج آخرین کلمه از یک متن (مثلاً نام خانوادگی از نام کامل):
=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",99)),99))

ایده: فاصله‌ها را با بلاک بزرگ از فاصله جایگزین می‌کنیم تا آخرین بخش متن به انتهای رشته منتقل شود و سپس با RIGHT و TRIM آن بخش را جدا می‌کنیم. مقدار 99 باید بزرگتر از طول بیشتر رشته‌ها در داده‌های شما باشد.

  • تبدیل بخشی از متن به عدد:
=VALUE(RIGHT(A1,3))

اگر سه حرف آخر متن حاوی عدد باشند، تابع VALUE آن را به عدد تبدیل می‌کند تا برای محاسبات عددی آماده شود. در صورت وجود کاراکتر غیرعددی، خطا یا تبدیل ناموفق رخ می‌دهد.

نکات و موارد مرزی

  • اگر سلول شامل فضای اضافی در انتها باشد، ابتدا از TRIM یا CLEAN استفاده کنید: =RIGHT(TRIM(A1), n)
  • عدد اعشاری برای num_chars به عدد صحیح تبدیل (truncate) می‌شود؛ مثلاً 2.9 معادل 2 در نظر گرفته می‌شود.
  • برای متون یونی‌کد، کاراکترهای ترکیبی یا ایموجی‌ها ممکن است رفتار غیرمنتظره‌ای داشته باشند (چون بعضی کاراکترها با چند کد واحد نمایه می‌شوند). در این موارد Power Query یا ابزارهای پیشرفته‌تر مناسب‌تر هستند.
  • تابع RIGHT خود غیرقابل تغییر (non-volatile) است؛ به این معنی که عملکرد آن در محدوده‌های بزرگ نسبتاً سریع است، اما ترکیب‌های پیچیده با SUBSTITUTE/FIND ممکن است در داده‌های سنگین کند شود.

چند الگوی مفید (پیدا کردن بعد از آخرین جداکننده)

برای استخراج قسمت بعد از آخرین جداکننده مانند “/” یا “” (مثلاً نام فایل از مسیر) می‌توانید از الگوی مشابه زیر استفاده:

=RIGHT(A1, LEN(A1) - FIND("@", SUBSTITUTE(A1, "", "@", LEN(A1)-LEN(SUBSTITUTE(A1,"","")))))

این فرمول آخرین “” را پیدا کرده و متن پس از آن را برمی‌گرداند. به جای “” هر جداکننده دیگری را می‌توانید قرار دهید. نکته: در برخی نسخه‌ها نیاز است را به \ در فرمول‌ها تبدیل کنید (بسته به محیط). همچنین اگر داده‌های شما ممکن است جداکننده نداشته باشند، بهتر است با IFERROR یا شرط چک کنید.

راهکارهای جایگزین

  • Power Query: برای مجموعه‌داده‌های بزرگ، پردازش متن با Power Query پایدارتر و قابل خواندن‌تر است (مثلاً Split by Delimiter و انتخاب آخرین بخش).
  • Flash Fill: برای الگوهای تکراری، Flash Fill می‌تواند بدون نوشتن فرمول، خروجی را اتوماتیک پر کند (به خصوص در نسخه‌های جدید اکسل).

اشتباهات رایج و راه‌حل‌ها

  • استفاده از RIGHT بدون TRIM روی داده‌هایی که دارای فاصله انتهایی هستند — نتیجه دارای فاصله خواهد بود؛ پس TRIM یا CLEAN مفید است.
  • اعتماد به RIGHT برای ایموجی‌ها یا حروف ترکیبی — نتیجه ممکن است نادرست باشد؛ در این موارد از Power Query یا اسکریپت‌های پیشرفته استفاده کنید.
  • اگر num_chars بزرگ‌تر از LEN، انتظار خطا نداشته باشید — اکسل کل رشته را برمی‌گرداند؛ بنابراین می‌توان بدون شرط آن را استفاده کرد.

مثال‌های کاربردی کوتاه

ورودی (A1)فرمولخروجی
invoice_2023.pdf=RIGHT(A1,4)“.pdf”
نام خانوادگی=TRIM(RIGHT(SUBSTITUTE(A1,” “,REPT(” “,50)),50))آخرین کلمه
Order#12345=VALUE(RIGHT(A1,5))12345 (به صورت عدد)

خلاصه و توصیه‌های حرفه‌ای

تابع RIGHT ابزاری ساده اما بسیار کاربردی برای استخراج انتهای رشته‌هاست. با یادگیری ترکیب آن با LEN، FIND، SUBSTITUTE و TRIM می‌توانید اکثر نیازهای استخراج متن از سمت راست را برآورده کنید. برای پردازش دیتاست‌های بزرگ یا متن‌های با نویسه‌های پیچیده (مانند ایموجی یا حروف ترکیبی) توصیه می‌شود از Power Query یا روش‌های برنامه‌نویسی استفاده کنید تا دقت و پایداری بالاتری داشته باشید.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: