ترکیب و چسباندن داده چند سلول با تابع TEXTJOIN در اکسل
لیست گواهیهای تخصصی پرستاران، اجزای فیش حقوق یک پرسنل، یا آدرس کامل بیمارستان که در چند ستون جدا وارد شده، همیشه به یک ترکیب یکجا نیاز پیدا میکند. تابع TEXTJOIN این چند ستون را با یک جداکننده دلخواه در یک سلول میچسباند، و برخلاف علامت &، سلولهای خالی را هم خودش مدیریت میکند.
ساختار تابع TEXTJOIN
ساختار کلی تابع به این شکل است:
=TEXTJOIN(جداکننده, نادیدهگرفتنخالی, محدوده۱, محدوده۲, ...)
برای مثال، برای ترکیب چهار ستون گواهی تخصصی هر پرستار با کاما و فاصله بین آنها:
=TEXTJOIN("، ",TRUE,C2:F2)

چرا بهتر از علامت & است؛ نادیده گرفتن خودکار سلول خالی
وقتی یک پرستار فقط یک یا دو گواهی از چهار ستون دارد و بقیه ستونها واقعا خالی هستند، ترکیب با علامت & کاماهای اضافه بین سلولهای خالی باقی میگذارد. اما وقتی آرگومان دوم TEXTJOIN را TRUE بگذارید، هر سلول واقعا خالی داخل محدوده کامل نادیده گرفته میشود و کاما اضافه بین آنها نمیافتد.

ساخت یادداشت چندخطی فیش حقوق با CHAR(10)
جداکننده TEXTJOIN لازم نیست فقط یک کاما یا خط تیره باشد؛ با CHAR(10) به عنوان جداکننده، میشود اجزای حقوق پایه، حق مسکن، حق اولاد، اضافهکار و کسورات بیمه هر پرسنل را در یک سلول، هر کدام در یک خط جدا، کنار هم گذاشت. برای اینکه این خطها واقعا داخل سلول نمایش داده شوند، حتما باید گزینه Wrap Text آن سلول از تب Home فعال باشد.
نکته پیشرفته؛ ignore_empty با IF همیشه کار نمیکند
وقتی داخل TEXTJOIN بخواهید یک بخش صفر یا نامربوط را با IF حذف کنید (مثلا IF(اضافهکار>0,"...",""))، آرگومان ignore_empty=TRUE فقط سلولهای واقعا خالی را نادیده میگیرد؛ رشته خالی "" که از یک فرمول IF برمیگردد را نادیده نمیگیرد. نتیجه این است که اگر اضافهکار پرسنلی صفر باشد، به جای حذف کامل آن خط، یک خط خالی اضافه در وسط یادداشت باقی میماند.

راه حل ساده؛ کل فرمول TEXTJOIN را داخل یک SUBSTITUTE بگذارید تا هر جای که دو جداکننده پشت سر هم افتاده (همان خط خالی اضافه) به یک جداکننده تبدیل شود:
=SUBSTITUTE(TEXTJOIN(CHAR(10),TRUE,...),CHAR(10)&CHAR(10),CHAR(10))
نکات کاربردی
- به جای تک تک نوشتن سلول ها (مثل C2,D2,E2,F2)، می شود یک محدوده کامل مثل C2:F2 را مستقیم به TEXTJOIN داد؛ اگر ستون جدیدی به محدوده اضافه شود، فرمول بدون تغییر همان محدوده وسیع تر را می خواند.
- برای جداکننده های خاص مثل خط جدید، حتما از CHAR(10) استفاده کنید، نه تایپ مستقیم Enter داخل فرمول.
- قبل از اعتماد کامل به ignore_empty، وقتی داخل آرگومانها از IF یا فرمول دیگری استفاده می کنید، نتیجه را با دقت چک کنید؛ خط یا کاما اضافه ممکن است باقی بماند.
- TEXTJOIN از نسخه Excel 2019 و Microsoft 365 به بعد در دسترس است؛ در نسخه های قدیمی تر باید با ترکیب IF و & همان نتیجه را دستی ساخت.
📄 دانلود فایل اکسل نمونه «ترکیب داده چندسلول با TEXTJOIN» — شامل ترکیب مدارک و گواهی تخصصی پرستاران، ساخت یادداشت چندخطی فیش حقوق با CHAR(10)، و نسخه اصلاح شده با SUBSTITUTE برای رفع خط خالی اضافه.
منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting