فهرست مطالب
برای اینکه ببینید در عمل چگونه کار میکند، لطفاً به اسکرین شات زیر نگاهی بیندازید.
در C2، یک فرمول آرایه پویا وجود دارد که نتایج آن در سلول های زیادی ریخته می شود:
=UNIQUE(A2:A9)
در E2، تابع پیشوند است با کاراکتر @ که تقاطع ضمنی را فراخوانی می کند. در نتیجه، تنها اولین مقدار منحصر به فرد برگردانده می شود:
=@UNIQUE(A2:A9)
برای اطلاعات بیشتر، لطفاً به تقاطع ضمنی در اکسل مراجعه کنید.
مزایای آرایه های داینامیک اکسل
بی شک آرایه های پویا یکی از بهترین پیشرفت های اکسل در سال های اخیر هستند. مانند هر ویژگی جدید، آنها دارای نقاط قوت و ضعف هستند. خوشبختانه برای ما، نقاط قوت فرمولهای جدید آرایه پویا اکسل بسیار زیاد است!
ساده و قدرتمندتر
آرایههای پویا ایجاد فرمولهای قدرتمندتر را به روشی بسیار سادهتر ممکن میسازد. در اینجا چند مثال آورده شده است:
- استخراج مقادیر منحصر به فرد: فرمول های سنتی
به دلیل به روز رسانی انقلابی در موتور محاسبه Excel 365، فرمول های آرایه برای همه، نه فقط برای کاربران فوق العاده، بسیار ساده و قابل درک می شوند. این آموزش مفهوم آرایههای پویا جدید اکسل را توضیح میدهد و نشان میدهد که چگونه میتوانند کاربرگهای شما را کارآمدتر کنند و تنظیم آن را بسیار آسانتر کنند.
فرمولهای آرایه اکسل همیشه در انحصار متخصصان و فرمولها در نظر گرفته شدهاند. کارشناسان اگر کسی بگوید "این را می توان با فرمول آرایه انجام داد"، واکنش فوری بسیاری از کاربران این است که "اوه، راه دیگری وجود ندارد؟".
معرفی آرایه های پویا مدت ها مورد انتظار است و بیشتر مورد انتظار است. از تغییر خوش آمدید فرمولهای آرایه پویا به دلیل توانایی آنها در کار با چندین مقدار به روشی ساده، بدون هیچ ترفند و بدی، چیزی است که هر کاربر اکسل میتواند آن را درک کند و از ایجاد آن لذت ببرد.
آرایههای پویا اکسل
آرایههای پویا آرایههای قابل تغییر اندازه هستند که بهطور خودکار محاسبه میکنند و مقادیر را بر اساس فرمولی که در یک سلول وارد شده است به سلولهای متعدد برمیگرداند.
در بیش از 30 سال سابقه، مایکروسافت اکسل دستخوش تغییرات زیادی شده است، اما یک چیز ثابت مانده است - یک فرمول، یک سلول. حتی با فرمولهای آرایه سنتی، لازم بود یک فرمول را در هر سلولی که میخواهید نتیجه ظاهر شود وارد کنید. با آرایه های پویا، این قانون دیگر درست نیست. حال، هر فرمولی که آرایه ای از مقادیر را برمی گرداندانجام ندهید. اگر یک فرمول بتواند چندین مقدار را برگرداند، به طور پیش فرض این کار را انجام می دهد. این همچنین در مورد عملیات حسابی و توابع قدیمی همانطور که در این مثال نشان داده شده است صدق می کند.
توابع آرایه پویا تودرتو
برای یافتن راه حل برای کارهای پیچیده تر، می توانید توابع جدید آرایه پویا اکسل را ترکیب کنید. یا آنها را همراه با موارد قدیمی مانند نشان داده شده در اینجا و اینجا استفاده کنید.
ارجاعات نسبی و مطلق اهمیت کمتری دارند
به لطف رویکرد "یک فرمول، مقادیر بسیار"، نیازی به قفل کردن نیست. محدوده ای با علامت $ دارد، زیرا از نظر فنی، فرمول فقط در یک سلول است. بنابراین، در بیشتر موارد، استفاده از مراجع سلولی مطلق، نسبی یا مختلط (که همیشه منبع سردرگمی برای کاربران بی تجربه بوده است) واقعاً مهم نیست - به هر حال یک فرمول آرایه پویا نتایج درستی ایجاد می کند!
محدودیت های آرایه های پویا
آرایه های پویا جدید عالی هستند، اما مانند هر ویژگی جدید، چند نکته و ملاحظات وجود دارد که باید از آنها آگاه باشید.
نتایج را نمی توان در دسته بندی کرد. روش معمول
محدوده ریزش برگشتی توسط فرمول آرایه پویا را نمی توان با استفاده از ویژگی مرتب سازی اکسل مرتب کرد. هر گونه تلاشی منجر به خطای " شما نمی توانید بخشی از یک آرایه را تغییر دهید " خواهد شد. برای مرتب کردن نتایج از کوچکترین به بزرگترین یا برعکس، فرمول فعلی خود را در تابع SORT قرار دهید. به عنوان مثال، این روشی است که می توانید فیلتر کنیدو مرتب سازی را در یک زمان انجام دهید.
نمی توان هیچ مقداری را در محدوده ریزش حذف کرد
هیچ یک از مقادیر در محدوده ریخته شده را نمی توان حذف کرد به همین دلیل: شما نمی توانید بخشی از یک آرایه را تغییر دهید. این رفتار قابل انتظار و منطقی است. فرمولهای سنتی آرایه CSE نیز به این روش کار میکنند.
در جداول Excel پشتیبانی نمیشوند
این ویژگی (یا اشکال؟) کاملاً غیرمنتظره است. فرمول های آرایه پویا از داخل جداول اکسل کار نمی کنند، فقط در محدوده های معمولی کار می کنند. اگر بخواهید محدوده ای را به جدول تبدیل کنید، اکسل این کار را انجام می دهد. اما به جای نتایج، فقط یک #نشت خواهید دید! خطا.
با Excel Power Query کار نکنید
نتایج فرمول های آرایه پویا را نمی توان در Power Query بارگذاری کرد. مثلاً، اگر بخواهید با استفاده از Power Query دو یا چند محدوده نشت را با هم ادغام کنید، این کار جواب نمیدهد.
آرایههای پویا در مقابل فرمولهای آرایه سنتی CSE
با معرفی آرایههای پویا، ما می توانیم در مورد دو نوع Excel صحبت کنیم:
- Dynamic Excel که به طور کامل از آرایه ها، توابع و فرمول های پویا پشتیبانی می کند. در حال حاضر این فقط اکسل 365 و اکسل 2021 است.
- Excel قدیمی ، با نام مستعار اکسل سنتی یا پیش پویا، که در آن فقط فرمول های آرایه Ctrl + Shift + Enter پشتیبانی می شود. این اکسل 2019، اکسل 2016، اکسل 2013 و نسخه های قبلی است.
ناگفته نماند که آرایه های پویا از همه جهات بر فرمول های آرایه CSE برتری دارند. اگرچه آرایه سنتیفرمول ها به دلایل سازگاری حفظ می شوند، از این پس توصیه می شود از فرمول های جدید استفاده کنید.
در اینجا مهمترین تفاوت ها وجود دارد:
- یک فرمول آرایه پویا در یک سلول وارد می شود. و با یک کلید معمولی Enter کامل شد. برای تکمیل فرمول آرایه قدیمی، باید Ctrl + Shift + Enter را فشار دهید.
- فرمولهای آرایه جدید به طور خودکار به بسیاری از سلولها ریخته میشوند. فرمولهای CSE باید در محدودهای از سلولها کپی شوند تا نتایج متعددی را برگردانند.
- خروجی فرمولهای آرایه پویا با تغییر اندازه دادههای محدوده منبع به طور خودکار تغییر اندازه میدهد. اگر ناحیه برگشتی خیلی کوچک باشد، فرمولهای CSE خروجی را کوتاه میکنند و اگر ناحیه برگشتی خیلی بزرگ باشد، خطاها را در سلولهای اضافی برمیگردانند.
- یک فرمول آرایه پویا را میتوان به راحتی در یک سلول ویرایش کرد. برای تغییر فرمول CSE، باید کل محدوده را انتخاب و ویرایش کنید.
- حذف و درج ردیف ها در محدوده فرمول CSE امکان پذیر نیست - ابتدا باید همه فرمول های موجود را حذف کنید. با آرایه های پویا، درج یا حذف ردیف مشکلی ندارد.
سازگاری با عقب: آرایه های پویا در اکسل قدیمی
هنگامی که یک کتاب کار حاوی فرمول آرایه پویا را در Excel قدیمی باز می کنید، به طور خودکار به یک فرمول آرایه معمولی محصور در {پرانتز فرفری} تبدیل می شود. هنگامی که کاربرگ را دوباره در اکسل جدید باز می کنید، بریس های فرفری حذف می شوند.
در اکسل قدیمی، آرایه پویا جدیدتوابع و مراجع محدوده نشت با پیشوند _xlfn نشان می دهد که این عملکرد پشتیبانی نمی شود. علامت ref محدوده نشت (#) با تابع ANCHORARRAY جایگزین می شود.
به عنوان مثال، در اینجا یک فرمول UNIQUE در Excel 2013 ظاهر می شود:
بیشتر فرمولهای آرایه پویا (اما نه همه!) نتایج خود را در اکسل قدیمی نشان میدهند تا زمانی که تغییری در آنها ایجاد کنید. ویرایش یک فرمول بلافاصله آن را خراب می کند و یک یا چند #NAME را نمایش می دهد؟ مقادیر خطا.
فرمول های آرایه پویا اکسل کار نمی کنند
بسته به تابع، در صورت استفاده از نحو نادرست یا آرگومان های نامعتبر ممکن است خطاهای مختلفی رخ دهد. در زیر 3 خطای متداول که ممکن است در هر فرمول آرایه پویا با آنها مواجه شوید آورده شده است.
#SPILL! error
وقتی یک آرایه پویا چندین نتیجه را برمی گرداند، اما چیزی محدوده ریزش را مسدود می کند، یک #SPILL! خطا رخ می دهد.
برای رفع خطا، فقط باید سلول های موجود در محدوده ریخته شده را که کاملاً خالی نیستند پاک یا حذف کنید. برای شناسایی سریع همه سلولهایی که در مسیر قرار میگیرند، روی نشانگر خطا کلیک کنید و سپس روی Select Obstructing Cells کلیک کنید.
به غیر از غیر محدوده نشت خالی، این خطا ممکن است به دلایل دیگری ایجاد شود. برای اطلاعات بیشتر، لطفاً ببینید:
- Excel #SPILL Error - علل و رفع آنها
- چگونه #SPILL را رفع کنیم! خطا با VLOOKUP، INDEX MATCH، SUMIF
#REF! خطا
به دلیلپشتیبانی محدود از مراجع خارجی بین کتابهای کار، آرایههای پویا نیازمند باز بودن هر دو فایل هستند. اگر کتاب کار منبع بسته است، یک #REF! خطا نمایش داده می شود.
#NAME؟ خطا
یک #NAME؟ اگر بخواهید از یک تابع آرایه پویا در نسخه قدیمی اکسل استفاده کنید، خطا رخ می دهد. لطفاً به یاد داشته باشید که توابع جدید فقط در اکسل 365 و اکسل 2021 موجود هستند.
اگر این خطا در نسخههای اکسل پشتیبانیشده ظاهر شد، نام تابع را در سلول مشکلدار دوباره بررسی کنید. به احتمال زیاد اشتباه تایپ شده است :)
این نحوه استفاده از آرایه های پویا در اکسل است. امیدواریم که این قابلیت جدید فوق العاده را دوست داشته باشید! به هر حال، از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
اجازه دهید مفهوم را با یک مثال بسیار ابتدایی توضیح دهم. فرض کنید، برای مثال برای محاسبه درصدهای مختلف، باید دو گروه از اعداد را ضرب کنید.
در نسخههای پیش پویا اکسل، فرمول زیر فقط برای اولین سلول کار میکند، مگر اینکه آن را به صورت چندگانه وارد کنید. سلول ها را فشار دهید و Ctrl + Shift + Enter را فشار دهید تا صریحاً آن را به فرمول آرایه تبدیل کنید:
=A3:A5*B2:D2
اکنون، ببینید وقتی از همان فرمول در استفاده می شود چه اتفاقی می افتد Excel 365. شما آن را فقط در یک سلول (در مورد ما B3) تایپ میکنید، کلید Enter را فشار میدهید و تمام خشم را با نتایج یکباره پر میکنید:
پر کردن چند سلول با یک فرمول واحد ریزش نامیده می شود و محدوده پر شده سلول ها محدوده ریخته شدن نامیده می شود.
نکته مهمی که باید به آن توجه داشت این است که به روز رسانی اخیر فقط یک روش جدید نیست. مدیریت آرایه ها در اکسل در واقع، این یک تغییر اساسی در کل موتور محاسباتی است. با آرایههای پویا، دستهای از توابع جدید به کتابخانه عملکرد اکسل اضافه شدهاند و عملکردهای موجود سریعتر و مؤثرتر کار میکنند. در نهایت، آرایه های پویا جدید قرار است به طور کامل جایگزین فرمول های آرایه قدیمی شوند که بامیانبر Ctrl + Shift + Enter.
در دسترس بودن آرایه های پویا اکسل
آرایه های پویا در کنفرانس مایکروسافت Ignite در سال 2018 معرفی شدند و در ژانویه 2020 برای مشترکین Office 365 عرضه شدند. در حال حاضر، آنها در دسترس هستند اشتراکهای Microsoft 365 و Excel 2021.
آرایههای پویا در این نسخهها پشتیبانی میشوند:
- Excel 365 برای Windows
- Excel 365 برای Mac
- Excel 2021
- Excel 2021 برای Mac
- Excel برای iPad
- Excel برای iPhone
- Excel برای تبلت های Android
- اکسل برای گوشی های اندروید
- اکسل برای وب
عملکردهای آرایه پویا اکسل
به عنوان بخشی از عملکرد جدید، 6 عملکرد جدید در اکسل 365 معرفی شد. که آرایه ها را به صورت بومی مدیریت می کند و داده ها را در محدوده ای از سلول ها ارسال می کند. خروجی همیشه پویا است - وقتی هر تغییری در داده های منبع رخ می دهد، نتایج به طور خودکار به روز می شوند. از این رو نام گروه - توابع آرایه پویا .
این توابع جدید به راحتی با تعدادی از وظایف که به طور سنتی به عنوان مهره های شکستن سخت در نظر گرفته می شوند، کنار می آیند. به عنوان مثال، آنها می توانند موارد تکراری را حذف کنند، مقادیر منحصر به فرد را استخراج و شمارش کنند، جاهای خالی را فیلتر کنند، اعداد صحیح تصادفی و اعداد اعشاری تولید کنند، به ترتیب صعودی یا نزولی مرتب کنند، و موارد دیگر.
در زیر توضیح مختصری خواهید داشت. از آنچه هر تابع انجام می دهد و همچنین پیوندهایی به آموزش های عمیق:
- UNIQUE - موارد منحصر به فرد را از یکمحدوده سلولها.
- FILTER - دادهها را بر اساس معیارهایی که شما تعریف میکنید فیلتر میکند.
- SORT - محدوده سلولها را بر اساس یک ستون مشخص مرتب میکند.
- SORTBY - یک محدوده را مرتب میکند. سلول ها توسط یک محدوده یا آرایه دیگر.
- RANDARRAY - آرایه ای از اعداد تصادفی را ایجاد می کند.
- SEQUENCE - لیستی از اعداد متوالی را تولید می کند.
- TEXTSPLIT - رشته ها را با یک تقسیم می کند. جداکننده مشخص شده در میان ستونها یا/و ردیفها.
- TOCOL - تبدیل یک آرایه یا محدوده به یک ستون.
- TOROW - یک محدوده یا آرایه را به یک ردیف تبدیل میکند.
- WRAPCOLS - یک ردیف یا ستون را بر اساس تعداد مقادیر مشخص شده در هر ردیف به یک آرایه دو بعدی تبدیل می کند.
- WRAPROWS - یک سطر یا ستون را به آرایه دو بعدی بر اساس تعداد مشخص شده در هر ستون تغییر شکل می دهد. .
- TAKE - تعداد مشخصی از ردیفها و/یا ستونهای پیوسته را از ابتدا یا انتهای یک آرایه استخراج میکند.
علاوه بر این، دو جایگزین مدرن برای توابع محبوب Excel وجود دارد. ، که به طور رسمی در گروه نیستند، اما اهرم و تمام مزایای آرایه های پویا:
XLOOKUP - جانشین قدرتمندتر VLOOKUP، HLOOKUP و LOOKUP است که می تواند هم در ستون ها و هم در ردیف ها جستجو کند و چندین مقدار را برگرداند.
XMATCH - است. یک جانشین همه کاره تر از تابع MATCH که می تواند جستجوهای عمودی و افقی را انجام دهد و موقعیت نسبی آیتم مشخص شده را برگرداند.
فرمول های آرایه پویا اکسل
دردر نسخههای مدرن اکسل، رفتار آرایه پویا عمیقاً یکپارچه شده است و برای همه توابع ، حتی آنهایی که در ابتدا برای کار با آرایهها طراحی نشدهاند، بومی میشود. به بیان ساده، برای هر فرمولی که بیش از یک مقدار را برمی گرداند، اکسل به طور خودکار یک محدوده قابل تغییر اندازه ایجاد می کند که نتایج در آن خروجی می شوند. با توجه به این توانایی، توابع موجود اکنون می توانند جادو انجام دهند!
مثال های زیر فرمول های جدید آرایه پویا و همچنین تأثیر آرایه های پویا بر توابع موجود را نشان می دهد.
مثال 1. تابع آرایه پویا جدید
این مثال نشان می دهد که چگونه می توان با توابع آرایه پویا اکسل یک راه حل سریعتر و ساده تر انجام داد.
برای استخراج لیستی از مقادیر منحصر به فرد از یک ستون، به طور سنتی باید از یک فرمول CSE پیچیده مانند این استفاده کنید. در اکسل پویا، تنها چیزی که نیاز دارید یک فرمول UNIQUE به شکل اصلی آن است:
=UNIQUE(B2:B10)
شما فرمول را در هر سلول خالی وارد کرده و Enter را فشار دهید. اکسل فوراً تمام مقادیر مختلف لیست را استخراج می کند و آنها را در محدوده سلولی از سلولی که فرمول را وارد کرده اید (در مورد ما D2) شروع می کند. هنگامی که داده های منبع تغییر می کند، نتایج دوباره محاسبه و به طور خودکار به روز می شوند.
مثال 2. ترکیب چندین تابع آرایه پویا در یک فرمول
اگر وجود ندارد راهی برای انجام یک کار با یک عملکرد، زنجیره چند تایی با هم! برایبه عنوان مثال، برای فیلتر کردن داده ها بر اساس شرایط و ترتیب نتایج بر اساس حروف الفبا، تابع SORT را در اطراف FILTER به این صورت بپیچید:
=SORT(FILTER(A2:C13, B2:B13=F1, "No results"))
در جایی که A2:C13 داده های منبع هستند، B2:B13 عبارتند از مقادیری که باید بررسی شوند و F1 معیار است.
مثال 3. استفاده از توابع آرایه پویا جدید همراه با توابع موجود
به عنوان موتور محاسباتی جدید که در اکسل 365 به راحتی می تواند فرمول های معمولی را به آرایه تبدیل کند، هیچ چیزی نمی تواند مانع از ترکیب توابع جدید و قدیمی با هم شود.
به عنوان مثال، برای شمارش تعداد مقادیر منحصر به فرد در یک محدوده خاص، آرایه پویا را تودرتو کنید. تابع UNIQUE در COUNTA خوب قدیمی:
=COUNTA(UNIQUE(B2:B10))
مثال 4. توابع موجود از آرایه های پویا پشتیبانی می کنند
اگر طیف وسیعی از سلولها به تابع TRIM در نسخههای قدیمیتر مانند اکسل 2016 یا اکسل 2019، یک نتیجه را برای سلول اول برمیگرداند:
=TRIM(A2:A6)
در اکسل پویا، فرمول یکسان همه را پردازش میکند. از سلول ها و برمی گردد نتایج متعدد، همانطور که در زیر نشان داده شده است:
مثال 5. فرمول VLOOKUP برای برگرداندن چندین مقدار
همانطور که همه می دانند، تابع VLOOKUP برای برگرداندن یک واحد طراحی شده است. مقدار بر اساس شاخص ستونی که شما مشخص می کنید. با این حال، در اکسل 365، میتوانید آرایهای از اعداد ستونها را برای برگرداندن منطبقات از چندین ستون ارائه دهید:
=VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)
مثال 6. فرمول TRANSPOSE ساخته شدهeasy
در نسخه های قبلی اکسل، نحو تابع TRANSPOSE جایی برای اشتباه باقی نمی گذارد. برای چرخاندن داده ها در کاربرگ خود، باید ستون ها و ردیف های اصلی را بشمارید، همان تعداد سلول خالی را انتخاب کنید اما جهت را تغییر دهید (عملیاتی مبهوت کننده در کاربرگ های بزرگ!)، فرمول TRANSPOSE را در محدوده انتخاب شده تایپ کنید، و Ctrl + Shift + Enter را فشار دهید تا به درستی تکمیل شود. وای!
در اکسل پویا، فقط فرمول را در سمت چپ ترین سلول محدوده خروجی وارد کرده و Enter را فشار دهید:
=TRANSPOSE(A1:B6)
انجام شد!
محدوده ریختن - یک فرمول، سلول های متعدد
محدوده نشت محدوده ای از سلول ها است که حاوی مقادیر بازگردانده شده توسط فرمول آرایه پویا است.
وقتی هر سلولی در محدوده ریختهگری انتخاب میشود، حاشیه آبی نشان میدهد که همه چیز در داخل آن با فرمول موجود در سلول بالا سمت چپ محاسبه میشود. اگر فرمول را در سلول اول حذف کنید، همه نتایج از بین خواهند رفت.
محدوده نشت چیزی واقعا عالی است که زندگی کاربران اکسل را بسیار آسان می کند. . قبلاً، با فرمولهای آرایه CSE، باید حدس میزدیم که چند سلول آنها را کپی کنیم. اکنون، شما فقط فرمول را در سلول اول وارد کنید و اجازه دهید اکسل به بقیه رسیدگی کند.
توجه داشته باشید. اگر برخی از داده های دیگر محدوده نشت را مسدود کنند، یک خطای #SPILL رخ می دهد. پس از حذف داده های مانع، خطا برطرف خواهد شد.
برای اطلاعات بیشتر، لطفاً ببینیدمحدوده ریزش اکسل.
مرجع محدوده نشت (# نماد)
برای مراجعه به محدوده نشت، یک تگ هش یا نماد پوند (#) بعد از آدرس سلول سمت چپ در بالا قرار دهید. محدوده.
به عنوان مثال، برای یافتن تعداد اعداد تصادفی که توسط فرمول RANDARRAY در A2 تولید میشوند، مرجع دامنه نشت را به تابع COUNTA ارائه دهید:
=COUNTA(A2#)
برای جمع کردن مقادیر در محدوده نشت، از:
=SUM(A2#)
نکات:
- برای مراجعه سریع به یک محدوده نشت، به سادگی تمام سلول های داخل جعبه آبی را با استفاده از ماوس انتخاب کنید، و اکسل ref spill را برای شما ایجاد می کند.
- برخلاف یک مرجع محدوده معمولی، ref محدوده نشت پویا است و به تغییر اندازه محدوده واکنش نشان می دهد. به صورت خودکار.
برای جزئیات بیشتر، لطفاً به عملگر دامنه نشت مراجعه کنید.
تقاطع ضمنی و کاراکتر @
در آرایه پویا اکسل، یک تغییر مهم دیگر در زبان فرمول وجود دارد. - معرفی کاراکتر @، معروف به عملگر تقاطع ضمنی .
در مایکروسافت Excel، تقاطع ضمنی رفتار فرمولی است که بسیاری از مقادیر را به یک مقدار کاهش می دهد. در اکسل قدیمی، یک سلول فقط میتوانست حاوی یک مقدار باشد، بنابراین این رفتار پیشفرض بود و عملگر خاصی برای آن مورد نیاز نبود.
در اکسل جدید، همه فرمولها بهطور پیشفرض به عنوان فرمولهای آرایه در نظر گرفته میشوند. اگر نمی خواهید از عملگر تقاطع ضمنی برای جلوگیری از رفتار آرایه استفاده می شود