توجه: در صورت مشاهده‌ی تخلف برای کسب امتیاز بیشتر (مانند ساخت چندین حساب کاربری برای رای دادن، استفاده از دیدگاه‌های بی‌اهمیت مانند تشکر و سلام و ... برای افزایش امتیاز و مواردی از این دست) کاربر مورد نظر در آن ماه از سیستم پاداش حذف می‌شود.
این وب‌سایت زیرمجموعه‌ای از وب‌سایت‌های پرسش و پاسخ فارسی است. در این وب‌سایت پرسش‌های مربوط به برنامه‌های کاربردی میکروسافت آفیس پاسخ داده می‌شود.
با شرکت در این مجموعه توسط پاسخ به پرسش‌های دیگران یا طرح پرسش‌های خود، یا تصحیح مطالب دیگران توسط دیدگاه‌ها، به گسترش فرهنگ همکاری‌های آن‌لاین کمک نمایید.
همچنین با شرکت در بحث‌ها و کسب امتیاز از امکانات و جوایزی که به مرور به کاربران برتر اهدا می‌شود، برخوردار گردید.
پرسش و پاسخ فارسی

در اکسل تفاوت تابع CONCATENATE با عملگر & چیست؟

0 امتیاز
1,236 نمایش پرسیده شده جمعه ۲۹ فروردین ۱۳۹۳ توسط prodo (7,935 امتیاز)

1 پاسخ

0 امتیاز

شباهت‌ها

از نظر نتیجه هر دو متن یکسانی رو تولید می‌کنن
هر دو هم در محیط اکسل هم محیط VBA قابل استفاده هستن

تفاوت (احتمالی)

یک تفاوت احتمالی وجود داره. از اون جایی که کد تابع CONCATENATE در دسترس ما نیست، می‌شه احتمالاً این حدس رو زد که در تابع CONCATENATE همه‌ی مقادیر پارامترها یک‌باره به یکدیگر متصل می‌شن و یک رشته‌ی حاصل رو می‌سازن.
در صورتی که در استفاده از عملگر & برای هر دو عملوند یک بار عمل اتصال اتفاق می‌افته. چون عملگر & یک عملگر دوتایی هست. یعنی مثلاً اگه بخوایم نحوه‌ی عمل‌کرد عملگر & رو گام به گام توضیح بدیم به صورت زیر خواهد شد

a & b & c & d ==> (((a & b) & c) & d)
==> ((CONCATENATE(a, b) & c) & d)
==> (CONCATENATE(CONCATENATE(a, b), c) & d)
==> CONCATENATE(CONCATENATE(CONCATENATE(a,b), c), d)))

که یعنی سه بار تابع CONCATENATE اجرا بشه. بنابراین احتمال داره سرعت اجرای تابعی بالاتر باشه.

نکته ۱:

از نظر کاربردهای معمولی این تفاوت سرعت ممکنه چندان مهم نباشه و شاید اصولاً تفاوت سرعتی وجود نداشته باشه. بنابراین استفاده از هر کدام از این دو بستگی به راحتی شما داره.

نکته‌ی ۲:

استفاده از عملگر & در برگه‌های اکسل به دلیل خوانایی اولویت داره. اما در VBA می‌تونین از هر کدام از دو صورت استفاده کنین

پاسخ داده شده شنبه ۶ اردیبهشت ۱۳۹۳ توسط programmer (12,773 امتیاز)
...