تابع LEFT در اکسل
تابع LEFT یکی از توابع پایهای متنی در اکسل است که برای استخراج تعداد مشخصی از کاراکترهای اولیه (از سمت چپ) یک متن استفاده میشود. این تابع در تحلیل دادهها، پاکسازی رشتهها و بازکردن الگوهای متنی بسیار مفید است و کار با نامها، کدها و شمارههای ترکیبی را آسان میکند.
روش نوشتن تابع
ساختار کلی تابع LEFT به شکل زیر است:
=LEFT(text, [num_chars])در اینجا text رشته یا سلولی است که میخواهید بخشی از آن را استخراج کنید و num_chars تعداد کاراکترهایی است که از چپ باید برداشته شود. اگر num_chars حذف شود مقدار پیشفرض 1 خواهد بود.
قوانین و نکات مهم
- اگر num_chars منفی باشد، اکسل خطا برمیگرداند.
- اگر num_chars بزرگتر از طول متن باشد، کل متن بازگردانده میشود.
- مقدار num_chars اعشاری باشد، اکسل آن را به عدد صحیح پایینتبدیل (truncate) میکند.
- نتیجه تابع همیشه به صورت متن (string) بازمیگردد، حتی اگر ورودی عددی باشد.
مثالهای کاربردی
در ادامه مثالهای متداول و نحوه استفاده حرفهای از LEFT را میبینید.
| ورودی (A) | فرمول (B) | نتیجه (C) |
|---|---|---|
| ABC123 | =LEFT(A1,3) | ABC |
| محمدرضا | =LEFT(A2,4) | محمد |
| 20250401 | =VALUE(LEFT(A3,4)) | 2025 (عدد) |
| فروشگاه-001 | =LEFT(A4,FIND("-",A4)-1) | فروشگاه |
توضیح فرمولها
در مثال سوم از تابع VALUE استفاده شده تا خروجی متنی LEFT به عدد تبدیل شود. در مثال چهارم برای جدا کردن بخشی قبل از کاراکتر “-” از تابع FIND استفاده شده که محل “-” را پیدا کرده و با LEFT بخشی قبل از آن استخراج میشود.
استخراج اولین کلمه از یک متن
یکی از کاربردهای رایج LEFT استخراج اولین کلمه (یا عبارت تا اولین فاصله) است. بهترین روش ترکیب LEFT با FIND یا استفاده از توابع جدیدتر مانند TEXTBEFORE است.
=LEFT(A1, FIND(" ", A1) - 1)این فرمول تا اولین فاصله در A1 را برمیدارد. اگر احتمال داشته باشد که فاصله وجود نداشته باشد، باید خطا را مدیریت کنیم:
=LEFT(A1, IFERROR(FIND(" ", A1) - 1, LEN(A1)))در این نسخه اگر فاصله پیدا نشود کل متن برگردانده میشود (با LEN).
ترکیب با توابع دیگر برای سناریوهای پیچیده
LEFT در کنار توابع LEN، RIGHT، MID، FIND، SEARCH و SUBSTITUTE کاربردهای بیشتری پیدا میکند. نمونههایی از کاربردهای حرفهای:
- استخراج کدهای شهری یا پیششماره: LEFT(Phone,3)
- گرفتن شناسه از جلوی شناسه-تاریخ: LEFT(ID, FIND(“-“,ID)-1)
- کار با دادههای ورودی که ممکن است خالی باشند: IF(A1=””, “”, LEFT(A1,3))
مسائل مربوط به زبانها و کاراکترهای چندبایتی
در بیشتر نسخههای اکسل مدرن LEFT بر اساس کاراکترها عمل میکند و فرقی برای فارسی، عربی یا لاتین قائل نیست. با این حال در برخی محیطهای قدیمی یا در زمانی که از تابع LEFTB استفاده میشود، شمارش بر اساس بایت محاسبه میشود که ممکن است برای زبانهای DBCS متفاوت باشد. همچنین کاراکترهایی مانند ایموجی ممکن است در برخی موارد به عنوان دو کد واحد (surrogate pair) شمارش شوند و نتیجتاً LEFT ممکن است باعث جدا شدن نیمهای از ایموجی شود؛ بنابراین در شرایطی که متون شامل ایموجیها یا کاراکترهای ترکیبی هستند، باید دقت بیشتری داشته باشید.
اشتباهات رایج و رفع آنها
- استفاده از LEFT روی اعداد و انتظار خروجی عدد: خروجی متن است — از VALUE استفاده کنید.
- غیرقابل پیشبینی بودن وقتی num_chars را بزرگتر از LEN میگذارید: این حالت امن است و کل متن برمیگردد.
- خطا هنگام استفاده از FIND و نبود کاراکتر جداکننده: از IFERROR یا ترکیب با LEN استفاده کنید.
مثال عملی — استخراج شناسه کاربر قبل از “_”
فرض کنید در ستون A رشتههایی مثل “user123_profile” دارید و میخواهید بخش قبل از “_” را جدا کنید:
=LEFT(A1, FIND("_", A1) - 1)این فرمول مکان “_” را پیدا میکند و همه کاراکترهای قبل از آن را برمیگرداند. اگر “_” ممکن است وجود نداشته باشد از:
=LEFT(A1, IFERROR(FIND("_", A1)-1, LEN(A1)))استفاده کنید تا در صورت نبود “_” کل رشته حفظ شود.
نکات عملی و بهینهسازی برای فایلهای بزرگ
- در فایلهای حجیم از توابع پیچیده در هر سلول خودداری کنید؛ بهتر است محاسبات میانی را در ستونهای کمکی نگه دارید.
- برای جداسازیهای ساده که هر بار روی همان الگو تکرار میشود، میتوانید از Text to Columns اکسل یا توابع جدیدی مانند TEXTBEFORE/ TEXTSPLIT (در نسخههای جدید) استفاده کنید که گاهی سریعتر و خواناترند.
- همیشه نوع داده خروجی را در نظر بگیرید — متن یا عدد — و در صورت نیاز تبدیل کنید.
خلاصه
تابع LEFT ابزاری ساده اما قدرتمند برای استخراج بخشهای ابتدایی رشتهها در اکسل است. با ترکیب مناسب با توابعی مثل FIND، LEN و VALUE میتوانید اکثر نیازهای پردازش متن را پوشش دهید. در نسخههای جدیدتر توابع جدیدی وجود دارند که گاهی کار را سادهتر میکنند، اما LEFT همچنان پایهای و کاربردی باقی میماند.
آیا این مطلب برای شما مفید بود ؟




