تابع WRAPROWS در اکسل
تابع WRAPROWS یکی از توابع جدید اکسل (Microsoft 365) است که برای «بازپیچیدن» (wrap) یک آرایهٔ تکبعدی به آرایهای دوبعدی با تعداد ستون مشخص به کار میرود. این تابع زمانی مفید است که بخواهید لیستی طولانی را در چند ستون مرتب کنید یا خروجی یک فرمول را به جدول با ابعاد دلخواه تبدیل نمایید.
ساختار و نحو تابع
نحو تابع به صورت زیر است:
=WRAPROWS(array, wrap_count, [pad_with])توضیحات پارامترها:
- array: آرایه یا محدودهای که میخواهید بازچینش شود (مثلاً A1:A12 یا خروجی تابعی مثل SEQUENCE).
- wrap_count: تعداد ستونهایی که میخواهید در هر ردیف ایجاد شود (عدد صحیح مثبت).
- pad_with (اختیاری): مقداری که برای پر کردن خانههای خالی در صورت نامتقارن بودن آرایه استفاده میشود. اگر مشخص نشود، بهصورت پیشفرض رشتهٔ خالی (“”) قرار میگیرد.
مثالهای پایه
مثال 1: شمارهگذاری و تقسیم به ردیفها
=WRAPROWS(SEQUENCE(10), 3)این فرمول اعداد 1 تا 10 را تولید میکند و در جدولهایی با 3 ستون در هر ردیف قرار میدهد. خروجی چهار ردیف خواهد داشت؛ در ردیف آخر دو خانه خالی قرار میگیرد.
مثال 2: استفاده از pad_with برای مقداردهی خانههای خالی
=WRAPROWS(A1:A10, 4, "-")در این حالت اگر A1:A10 ده مقدار داشته باشد و شما هر ردیف را 4 ستونی تعریف کردهاید، ردیف آخر دو خانه خالی خواهد داشت که با “-” پر میشوند.
مثال عملی — تبدیل لیست عمودی به جدول چندستونی
فرض کنید در ستون A از A1 تا A11 فهرستی از نامها دارید و میخواهید آنها را در جدول 4 ستونی نمایش دهید. کافی است از فرمول زیر استفاده کنید:
=WRAPROWS(A1:A11, 4)این فرمول نامها را از چپ به راست و از بالا به پایین قرار میدهد؛ یعنی ابتدا چهار مقدار اول در ردیف اول، چهار مقدار بعدی در ردیف دوم و باقی در ردیف سوم ظاهر میشوند.
نمونه تصویری (قبل و بعد)
| لیست اولیه (ستون A) | نتیجه با =WRAPROWS(A1:A7, 3) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
موارد پیشرفته و ترکیب با توابع دیگر
WRAPROWS وقتی با توابع دیگر ترکیب میشود بسیار قدرتمند است:
- با FILTER: مرتبسازی و فیلتر کردن لیست و سپس چیدمان مجدد. مثال: =WRAPROWS(FILTER(A1:A100, B1:B100=”Yes”), 4)
- با SORT: مرتبسازی پیش از بازچینش. مثال: =WRAPROWS(SORT(A1:A20), 5)
- با INDEX برای واکشی عنصر مشخص: INDEX(WRAPROWS(…), row, column) — این روش دستیابی به مقدار در ردیف و ستون مشخص را ساده میکند.
- با LET برای خوانایی و بازاستفاده از مقادیر میانی: LET(lst, FILTER(…), WRAPROWS(lst, n))
مثال ترکیبی:
=WRAPROWS(FILTER(A2:A100, C2:C100="Approved"), 3, "—")این فرمول تمام مقادیر ستون A را که در ستون C برابر “Approved” هستند فیلتر میکند و در جدولهایی با 3 ستون مرتب میسازد؛ اگر خانهای خالی بود با “—” پر میشود.
نکات کاربردی و بهترین شیوهها
- WRAPROWS ترتیب عناصر را حفظ میکند (چپ به راست، سپس ردیف بعدی). برای تغییر ترتیب از توابعی مثل TRANSPOSE یا INDEX استفاده کنید.
- اگر نیاز دارید تعداد ردیف معین شود (بهجای ستون)، از تابع WRAPCOLS استفاده کنید که مشابه WRAPROWS ولی جهت را تغییر میدهد.
- در گزارشها و داشبوردها که نمایش فشرده از دادهها میخواهید، WRAPROWS کمک میکند ستونهای فراوان را به جداول عرضی تبدیل کنید تا نمای بهتری کسب شود.
- برای جلوگیری از ارور در نسخههای قدیمی اکسل، ابتدا بررسی کنید که کاربر یا سیستم Microsoft 365 با Dynamic Array را پشتیبانی میکند؛ در نسخههای قدیمی تابع در دسترس نیست.
- اگر میخواهید فرمول پویا باشد و تعداد ستونها براساس مقدار دیگری تغییر کند میتوانید از یک سلول مرجع به عنوان wrap_count استفاده کنید: =WRAPROWS(A1:A20, E1)
ملاحظات سازگاری و محدودیتها
تابع WRAPROWS تنها در نسخههای جدید اکسل که Dynamic Arrays پشتیبانی میکنند (Microsoft 365 و بعضی نسخههای آنلاین) در دسترس است. در اکسل 2016 یا 2019 محلی این تابع وجود ندارد و باید از راهحلهای جایگزین (مانند INDEX+SEQUENCE یا VBA) استفاده کنید.
مثال عملی پیشرفته با LET و INDEX
=LET(list, FILTER(A2:A50, B2:B50="Active"),
nCols, 4,
tbl, WRAPROWS(list, nCols, ""),
INDEX(tbl, 2, 3))در این نمونه با LET ابتدا لیست فعالها فیلتر میشود، سپس تعداد ستونها تعیین میشود، جدول ساخته میشود و در نهایت مقدار ردیف دوم ستون سوم آن جدول توسط INDEX بازگردانده میشود. این روش خوانایی و نگهداری فرمول را بهتر میکند.
خلاصه و جمعبندی
WRAPROWS تابعی ساده اما قدرتمند برای بازآرایش آرایههای یکبعدی به آرایههای دوبعدی با تعداد ستون مشخص است. برای ایجاد نمایشهای جدولمانند، تهیه گزارشهای جمعوجور و ترکیب با توابع فیلتر و مرتبسازی بسیار مفید است. پیش از استفاده، از سازگاری نسخه اکسل اطمینان حاصل کنید و برای سناریوهای پیچیدهتر از LET و INDEX بهره ببرید.
اگر پرسشی در مورد پیادهسازی خاص یا مثالهایی بر پایه دادههای شما دارید، میتوانم فرمول مناسب و نمونههای دقیقتری آماده کنم.
آیا این مطلب برای شما مفید بود ؟




