تابع WRAPCOLS در اکسل
تابع WRAPCOLS یکی از توابع جدید اکسل در مجموعه توابع آرایهای (dynamic array) است که برای «بستهبندی» (wrap) عناصر یک آرایه به صورت ستونهایی با طول ثابت استفاده میشود. این تابع بسیار مفید است وقتی بخواهید یک لیست یکبعدی را در چند ستون با تعداد سطر برابر تقسیم کنید یا وقتی میخواهید خروجی توابع داینامیک را به شکل جدولمانند مرتب کنید.
شرح کلی و کاربرد
تابع WRAPCOLS عناصر ورودی را به صورت ستونی گروهبندی میکند؛ به عبارت دیگر، به ازای هر گروه به اندازه wrap_count یک ستون جدید ساخته میشود. اگر تعداد عناصر با wrap_count بخشپذیر نباشد، سلولهای باقیمانده با مقدار جایگزین (pad_with) پر میشوند.
سینتکس
| سینتکس | توضیح |
|---|---|
WRAPCOLS(array, wrap_count, [pad_with]) | array: آرایه یا بازه ورودی؛ wrap_count: تعداد ردیفها در هر ستون؛ pad_with (اختیاری): مقدار جایگزین برای پر کردن خانههای خالی. |
پارامترها
- array: میتواند یک بردار افقی یا عمودی، یک آرایه ثابت ({1,2,3}) یا مرجع سلولی مانند A1:A12 باشد.
- wrap_count: یک عدد صحیح و مثبت که تعیین میکند هر ستون چند سطر داشته باشد.
- pad_with (اختیاری): مقداری که در صورت ناقص بودن گروه نهایی، جایگزین میشود. اگر مشخص نشود معمولاً به صورت رشته خالی نمایش داده میشود.
مثالهای پایهای
=WRAPCOLS({1,2,3,4,5,6},3)این فرمول آرایه {1,2,3,4,5,6} را به ستونهایی با سه ردیف تبدیل میکند و خروجی یک آرایه 3×2 خواهد بود: ستون اول شامل 1,2,3 و ستون دوم شامل 4,5,6 است.
=WRAPCOLS(A1:A10,4)اگر A1:A10 یک لیست عمودی از 10 مقدار باشد، این فرمول آن را در ستونهایی با 4 سطر قرار میدهد و نتیجه 4×3 (با دو مقدار خالی در ستون سوم که بسته به pad_with پر میشوند) خواهد بود.
=WRAPCOLS({ "a","b","c","d","e" },4,"-")آرایه 5 عنصری را به ستونهایی با 4 ردیف بستهبندی میکند؛ ستون اول شامل a,b,c,d و ستون دوم شامل e,”-“,”-“,”-” خواهد بود (سه مقدار با “-“).
مثال پیشرفته — ترکیب با توابع داینامیک
فرض کنید میخواهید خروجی SEQUENCE را به ستونهایی با 5 ردیف تبدیل کنید:
=WRAPCOLS(SEQUENCE(1,13),5)SEQUENCE(1,13) یک ردیف از 1 تا 13 تولید میکند. WRAPCOLS آن را در ستونهایی با 5 ردیف مرتب میکند؛ نتیجه 5×3 خواهد بود که سه خانه اضافه با مقدار پیشفرض خالی پر میشوند. این روش برای چاپ برچسبها یا تهیه گزارشهای ستونی کاربردی است.
نکات و خطاهای متداول
- wrap_count باید عدد صحیح و بزرگتر از صفر باشد. استفاده از صفر یا منفی منجر به خطا میشود.
- اگر آرایه ورودی دو بعدی باشد، رفتار تابع براساس ترتیب سطری/ستونی آرایه انجام میشود؛ بهتر است ابتدا با TRANSPOSE یا INDEX آرایه را به شکل یکبعدی لازم تبدیل کنید.
- در صورتی که wrap_count بزرگتر از تعداد عناصر باشد، یک ستون با wrap_count سطر تولید شده و بقیه سلولها با pad_with پر میشوند.
- این تابع در نسخههای قدیمی اکسل (قبل از Excel 365 / Excel 2021 که توابع آرایهای داینامیک پشتیبانی میشوند) دردسترس نیست.
مثال واقعی: تقسیم لیست اسامی برای چاپ کارت
فرض کنید در A1:A23 اسامی دارید و میخواهید کارتها را در ستونهایی با 8 اسامی نمایش دهید:
=WRAPCOLS(A1:A23,8,"")این فرمول لیست 23 تایی را در ستونهایی که هرکدام 8 سطر دارند مرتب میکند (سه ستون: 8+8+7)؛ سلولهای خالی در انتهای ستون سوم با مقدار “” پر میشوند. برای مرتبسازی عمودی به افقی یا تغییری دیگر میتوانید از TRANSPOSE استفاده کنید.
بهبودها و ترکیبهای پیشنهادی
- ترکیب با LET برای خوانایی و کارایی: اگر از آرایههای بزرگ استفاده میکنید، LET میتواند محاسبات میاننتیجه را ذخیره کند.
- ادغام با FILTER برای ساختن گزارشهای شرطی: اول FILTER بگیرید سپس WRAPCOLS را اعمال کنید تا فقط مواردی که شرط را دارند بستهبندی شوند.
- استفاده از TEXTJOIN برای خروجیگیری: میتوانید هر ستون حاصل را با TEXTJOIN به یک سلول متنی تبدیل کنید تا برای چاپ یا ایمیل آماده شود.
مقایسه با WRAPROWS
تابع WRAPROWS رفتار مشابهی دارد اما عناصر را به صورت ردیفهایی با تعداد مشخصی ستون میبندد. یعنی WRAPROWS برای «بستهبندی به ردیف» استفاده میشود در حالی که WRAPCOLS برای «بستهبندی به ستون» کاربرد دارد. انتخاب بین این دو وابسته به چیدمان نهایی دلخواه شماست.
خلاصهای از کاربردها
- تبدیل لیستهای یکبعدی به جدول با ستونهای همطول
- آمادهسازی داده برای چاپ، برچسبزنی یا گزارشهای چندستونی
- ترکیب با توابع داینامیک (SEQUENCE, FILTER, LET و غیره) برای پردازش پیشرفته
تابع WRAPCOLS ابزار ساده و در عین حال قدرتمندی برای سازماندهی مجدد آرایهها در اکسل است. با ترکیب مناسب با دیگر توابع داینامیک میتوان جریانهای دادهای انعطافپذیر و خوانایی ساخت که قبلاً با فرمولهای سنتی بسیار پیچیده میشدند.
آیا این مطلب برای شما مفید بود ؟




