تابع CONCATTEXT در اکسل
در بسیاری از منابع فارسی، عبارت CONCATTEXT برای اشاره به عملکردی استفاده میشود که مقادیر متنی چند سلول را به یک رشته واحد ترکیب میکند. در اکسل مدرن نام رسمی این قابلیت معمولاً TEXTJOIN (یا تابعهای نزدیک مثل CONCAT و CONCATENATE) است. در این مقاله با تمرکز بر تابع TEXTJOIN و معادلها، نحو استفاده، مثالهای واقعی و نکات پیشرفته آشنا میشوید.
چرا از TEXTJOIN/CONCATTEXT استفاده کنیم؟
- ادغام مقادیر یک محدوده با یک جداکننده مشخص (مثل ویرگول، فاصله یا خط جدید).
- امکان حذف سلولهای خالی هنگام ترکیب (گزینه ignore_empty).
- قابلیت کار با محدودهها (ranges)، نه فقط ارجاع منفرد به هر سلول.
- خواناتر و کوتاهتر از استفاده از عملگر & یا تابع CONCATENATE برای تعداد زیاد سلولها.
نحو (Syntax) تابع TEXTJOIN
شکل کلی تابع TEXTJOIN به این صورت است:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)توضیح پارامترها:
- delimiter: رشته جداکننده بین مقادیر (مثلاً “, ” یا CHAR(10) برای شکست خط).
- ignore_empty: TRUE برای نادیدهگرفتن سلولهای خالی، FALSE برای در نظر گرفتن آنها (آیا جداکننده بین عناصر خالی هم افزوده شود یا نه).
- text1, text2, …: سلول، محدوده یا رشتههایی که باید ترکیب شوند.
مثالهای پایه
=TEXTJOIN(", ", TRUE, A2:A6)در این فرمول مقادیر سلولهای A2 تا A6 با کاما و فاصله جدا میشوند و سلولهای خالی نادیده گرفته میشوند. این روش برای ساختن لیستهای جداشده با کاما (CSV ساده) بسیار کاربردی است.
=TEXTJOIN(CHAR(10), TRUE, B2:B10)در این مثال از CHAR(10) استفاده شده تا هر مقدار در خط جدید قرار گیرد. برای نمایش صحیح باید سلول نتیجه Wrap Text فعال باشد.
مثال شرطی: ترکیب مقادیر بر اساس شرط
برای ترکیب فقط مقادیری که شرطی را دارند میتوان از ترکیب TEXTJOIN با تابعهای شرطی مانند IF یا FILTER استفاده کرد (در نسخههای اکسل با قابلیت آرایه دینامیک میتوان از FILTER بهره گرفت):
=TEXTJOIN(", ", TRUE, IF(C2:C20="پذیرفته", D2:D20, ""))این فرمول تمام مقادیر ستون D را که در همان ردیف ستون C مقدار “پذیرفته” داشتهاند، با کاما جدا میکند. در نسخههای قدیمی (بدون آرایه دینامیک) باید فرمول را با Ctrl+Shift+Enter تأیید کنید یا از ستون کمکی استفاده نمایید.
ترکیب با FILTER (اکسل 365/2021)
=TEXTJOIN(", ", TRUE, FILTER(D2:D100, C2:C100="پذیرفته"))در اکسلهای جدید با تابع FILTER میتوان به سادگی مقادیر موردنظر را فیلتر کرده و سپس با TEXTJOIN ترکیب نمود؛ کارایی و خوانایی بهتری دارد.
مقایسه سریع توابع متنی مرتبط
| تابع | ویژگی | مناسب برای |
|---|---|---|
| TEXTJOIN | میتواند محدودهها را با جداکننده ترکیب کند و سلولهای خالی را نادیده بگیرد | لیستها و جمعآوری مقادیر با جداکننده؛ خروجی خوانا |
| CONCAT | ترکیب رشتهها و محدودهها بدون امکان تعیین جداکننده یا نادیدهگرفتن خودکار خالیها | وقتی نیاز به جداکننده ندارید و میخواهید فقط بچسبانید |
| CONCATENATE | قدیمی؛ مشابه CONCAT اما محدودتر | سازگاری با فایلهای قدیمی |
| TEXT | فرمتدهی مقدار عددی به رشته | زمانی که میخواهید تاریخ/عدد قالببندی شده اضافه کنید |
نکات و ترفندهای حرفهای
- در محیطهای محلی، جداکننده آرگومانها ممکن است ; بهجای , باشد—بسته به Regional Settings اکسل خود دقت کنید.
- برای قرار دادن خط جدید داخل فرمول از CHAR(10) استفاده کنید و سپس Wrap Text را فعال نمایید.
- اگر محدوده شما شامل مقادیر خطا است، برای جلوگیری از خطا میتوانید از IFERROR یا FILTER برای حذف خطاها استفاده کنید.
- برای حذف تکراریها قبل از ترکیب میتوانید از UNIQUE در اکسل 365 استفاده کنید: TEXTJOIN(“, “, TRUE, UNIQUE(A2:A100)).
- در دیتای بزرگ، استفاده مکرر از TEXTJOIN با فرمولهای آرایهای ممکن است باعث کاهش سرعت شود؛ در این موارد ستونهای میانی یا Power Query گزینه بهتری هستند.
مثال کاربردی: ساخت آدرس کامل از اجزای جدا
=TEXTJOIN(", ", TRUE, TRIM(A2), TRIM(B2), TRIM(C2), IF(D2"", D2, ""))در این فرمول از TRIM برای حذف فاصلههای اضافی استفاده شده و اگر بخش D خالی باشد نادیده گرفته میشود. خروجی: یک آدرس مرتب با جداکننده کاما.
وقتی TEXTJOIN در دسترس نباشد
در نسخههای قدیمی اکسل که TEXTJOIN وجود ندارد، میتوان از ترکیب CONCATENATE یا عملگر & استفاده کرد یا با استفاده از VBA یا Power Query ساختار ادغام را پیادهسازی نمود. همچنین در Power BI / DAX تابعی مشابه به نام CONCATENATEX وجود دارد که رفتار شرطی و گروهبندی را پوشش میدهد.
خلاصه و بهترین کاربردها
- اگر میخواهید لیستی از مقادیر را با جداکننده بسازید و سلولهای خالی را نادیده بگیرید، TEXTJOIN بهترین گزینه است.
- برای عملیات شرطی و پردازش پیشرفته از ترکیب TEXTJOIN با FILTER، UNIQUE یا IF استفاده کنید.
- برای کار روی مجموعه دادههای بزرگ یا تبدیلهای پیچیده، Power Query یا DAX را هم بررسی کنید.
تابع CONCATTEXT در واقع نمایانگر مفهوم ادغام متون است؛ در اکسل امروزی این کار با TEXTJOIN انجام میشود که ابزار قدرتمند، انعطافپذیر و مناسب برای بسیاری از سناریوهای عملی است.
آیا این مطلب برای شما مفید بود ؟




