جان متوجه شد که اکسل سه راه برای الحاق مقادیر ارائه می دهد: استفاده از عملگر &، تابع CONCATENATE و تابع CONCAT جدید. او در مورد تفاوتهای بین این روشهای مختلف کنار هم قرار دادن ارزشها و بهترین استفاده از آن متعجب است.
در واقع، یک تابع جدید دیگر (TEXTJOIN) وجود دارد که می تواند برای به هم پیوستن مقادیر نیز استفاده شود. این بدان معنی است که اکسل اکنون چهار راه مختلف برای جمع کردن مقادیر به یک رشته دارد.
با این حال، قبل از توضیح تفاوتها، شاید بهتر باشد تعریف کنیم که در این مورد، در مورد «عملکردهای جدید» به چه معناست. به طور خاص به این معنی است که اگر آن نسخه از اکسل مبتنی بر اشتراک آفیس 365 باشد، توابع جدید برای کسانی که از اکسل 2016 استفاده می کنند در دسترس است. این بدان معناست که اگر اکسل 2016 مستقل دارید، به CONCAT یا TEXTJOIN دسترسی نخواهید داشت. آنها را فقط با اشتراک دریافت می کنید. اگر اشتراک Office 365 دارید و نمیتوانید از CONCAT یا TEXTJOIN استفاده کنید، باید بهروزرسانیها را بررسی کنید و مطمئن شوید که به آخرین نسخه بهروزرسانی شدهاید—این دو عملکرد از فوریه 2016 در دسترس هستند.
اکنون برای روش های سنتی ترکیب مقادیر: تفاوت بسیار کمی بین استفاده از عملگر & یا تابع CONCATENATE وجود دارد. بزرگترین تفاوت نظری این است که تابع CONCATENATE دارای محدودیت 255 پارامتر است که می توان با آن استفاده کرد و عملگر & ندارد. (من می گویم "تئوری" زیرا برای استفاده از 255 پارامتر با CONCATENATE باید کارهای زیادی انجام دهید.) شخصاً ترجیح می دهم از عملگر & بدون دلیل دیگری استفاده کنم، زیرا زمان کمتری برای تایپ کردن نیاز دارد و برای من واضح تر از رویکرد عملکردی
تابع CONCAT رویکردهای سنتی را بهتر انجام می دهد، بنابراین به شما اجازه می دهد از محدوده ها به عنوان پارامتر استفاده کنید. این در واقع بسیار جالب است. کاربرد زیر را در نظر بگیرید:
=A1 & A2 & A3 & A4
خیلی سرراست، درست است؟ خوب، با CONCAT می توانید این را ساده کنید:
=CONCAT(A1:A4)
اگر بخواهید از یک منطقه مستطیلی استفاده کنید، حتی بهتر می شود. روش قدیمی این است:
=A1 & A2 & A3 & A4 & B1 & B2 & B3 & B4
در اینجا نحوه انجام آن با CONCAT آمده است:
=CONCAT(A1:A4, B1:B4)
اگر کمی این مورد را تغییر دهید، می توانید به راحتی مقادیر را با ردیف در محدوده ترکیب کنید:
=CONCAT(A1:B4)
این معادل موارد زیر است:
=A1 & B1 & A2 & B2 & A3 & B3 & A4 & B4
اکنون، اجازه میدهیم تابع TEXTJOIN را در ترکیب قرار دهیم. این تابع دو پارامتر مورد نیاز را قبل از لیست سلول ها یا محدوده سلول هایی که می خواهید به هم متصل کنید اضافه می کند. این پارامترها به شما این امکان را می دهند که هم جداکننده اضافه کنید و هم نشان دهید که آیا سلول های خالی باید نادیده گرفته شوند. یک مثال در اینجا آمده است:
=TEXTJOIN(" ", TRUE, A1:B4)
در این استفاده، تابع به طور خودکار یک کاراکتر فاصله بین هر مقدار سلولی که به هم متصل می کند اضافه می کند. جداکننده به یک کاراکتر محدود نمی شود. می توانید از چندین کاراکتر استفاده کنید. این مطمئناً روش قدیمی انجام آن را شکست می دهد:
=A1 & " " & B1 & " " & A2 & " " & B2 & " " & A3 & " " & B3 & " " & A4 & " " & B4
دومین پارامتر TEXTJOIN که در این مثال روی TRUE تنظیم شده است، نشان میدهد که آیا میخواهید از سلولهای خالی در محدودههایی که به هم متصل میکنید بگذرید یا خیر. انجام این کار با هر رویکرد الحاقی دیگر غیرممکن است و عملکرد TEXTJOIN را بسیار قدرتمند می کند. بهعلاوه، از شر «جداکنندههای مضاعف» خلاص میشود، زیرا واقعاً بین هر مقداری که به رشته حاصل اضافه میکند، فقط یک جداکننده را شامل میشود.
از کدام یک از این چهار روش باید برای به هم پیوستن مقادیر خود استفاده کنید؟ بستگی به شما دارد، اما اگر در حال توسعه کتابهای کاری هستید که توسط کسانی که نسخههای قدیمیتر اکسل دارند استفاده میشوند، پیشنهاد میکنم به عملگر & یا تابع CONCATENATE بچسبید. با این حال، اگر کاملاً مطمئن هستید که کسانی که از کتاب کار استفاده می کنند همیشه آخرین نسخه اکسل را خواهند داشت، پس از CONCAT عبور کرده و تقریباً به طور کامل از تابع TEXTJOIN استفاده کنید.