فہرست کا خانہ
ایک کالم یا قطار کی اقدار کو دو جہتی صف میں تبدیل کرنے کا تیز ترین طریقہ WRAPCOLS یا WRAPROWS فنکشن کا استعمال ہے۔
ایکسل کے ابتدائی دنوں سے، یہ نمبروں کا حساب لگانے اور تجزیہ کرنے میں بہت اچھا ہے۔ لیکن صفوں کو جوڑنا روایتی طور پر ایک چیلنج رہا ہے۔ متحرک صفوں کے تعارف نے صفوں کے فارمولوں کے استعمال کو بہت آسان بنا دیا۔ اور اب، مائیکروسافٹ صفوں کو جوڑ توڑ اور دوبارہ شکل دینے کے لیے نئے متحرک صف کے افعال کا ایک سیٹ جاری کر رہا ہے۔ یہ ٹیوٹوریل آپ کو سکھائے گا کہ اس طرح کے دو فنکشنز، WRAPCOLS اور WRAPROWS، کسی کالم یا قطار کو بغیر کسی وقت کے 2D صف میں تبدیل کرنے کے لیے کیسے استعمال کریں۔
Excel WRAPCOLS فنکشن
ایکسل میں WRAPCOLS فنکشن قدروں کی قطار یا کالم کو دو جہتی صفوں میں تبدیل کرتا ہے جس کی بنیاد پر فی قطار کی مخصوص تعداد کی بنیاد پر ہوتا ہے۔
نحو میں درج ذیل دلائل ہیں:
WRAPCOLS(ویکٹر، wrap_count، [pad_with])کہاں:
- ویکٹر (ضروری) - ماخذ ایک جہتی صف یا رینج۔
- wrap_count (ضروری) - فی کالم کی زیادہ سے زیادہ تعداد۔
- pad_with (اختیاری) - آخری کالم کے ساتھ پیڈ کرنے کی قدر اگر اسے بھرنے کے لیے ناکافی آئٹمز ہیں۔ اگر چھوڑ دیا جائے تو، گمشدہ اقدار کو #N/A (ڈیفالٹ) کے ساتھ پیڈ کیا جائے گا۔
مثال کے طور پر، رینج B5:B24 کو 2-جہتی صف میں تبدیل کرنے کے لیے فی کالم میں 5 اقدار کے ساتھ، فارمولا یہ ہے:
=WRAPROWS(B5:B24, 5)
آپ درج کریں۔ ویکٹر دلیل ایک جہتی صف نہیں ہے۔
#NUM! خرابی
اگر wrap_count قدر 0 یا منفی نمبر ہے تو #NUM غلطی ہوتی ہے۔
#SPILL! خرابی
اکثر، #SPILL کی خرابی اس بات کی نشاندہی کرتی ہے کہ نتائج کو پھیلانے کے لیے کافی خالی سیل نہیں ہیں۔ پڑوسی خلیوں کو صاف کریں، اور یہ ختم ہو جائے گا. اگر خرابی برقرار رہتی ہے، تو چیک کریں کہ ایکسل میں #SPILL کا کیا مطلب ہے اور اسے کیسے ٹھیک کیا جائے۔
یہ ہے کہ ایک جہتی رینج کو ایکسل میں دو جہتی صف میں تبدیل کرنے کے لیے WRAPCOLS اور WRAPROWS فنکشنز کا استعمال کریں۔ میں پڑھنے کے لیے آپ کا شکریہ ادا کرتا ہوں اور امید کرتا ہوں کہ آپ کو اگلے ہفتے ہمارے بلاگ پر ملوں گا!
ڈاؤن لوڈ کرنے کے لیے پریکٹس ورک بک
WRAPCOLS اور WRAPROWS فنکشنز - مثالیں (.xlsx فائل)
کسی ایک سیل میں فارمولہ اور یہ خود بخود ضرورت کے مطابق زیادہ سے زیادہ خلیوں میں پھیل جاتا ہے۔ WRAPCOLS آؤٹ پٹ میں، wrap_countقدر کی بنیاد پر، اوپر سے نیچے تک، قدروں کو عمودی طور پر ترتیب دیا جاتا ہے۔ گنتی مکمل ہونے کے بعد، ایک نیا کالم شروع ہوتا ہے۔
Excel WRAPROWS فنکشن
Excel میں WRAPROWS فنکشن ایک قطار یا قدروں کے کالم کو ایک دو جہتی صف میں تبدیل کرتا ہے جس کی بنیاد پر آپ کی طرف سے متعین کردہ ہر قطار کی قدروں کی تعداد ہے۔
نحو درج ذیل ہے:
WRAPROWS(vector, wrap_count, [pad_with])کہاں:
- ویکٹر (ضروری) - ذریعہ ایک جہتی صف یا حد آخری قطار کے ساتھ اگر اسے بھرنے کے لیے ناکافی اشیاء موجود ہوں۔ پہلے سے طے شدہ #N/A ہے۔
مثال کے طور پر، رینج B5:B24 کو ایک 2D صف میں تبدیل کرنے کے لیے جس میں ہر قطار میں 5 اقدار ہوں، فارمولہ یہ ہے:
=WRAPROWS(B5:B24, 5)
آپ اسپل رینج کے اوپری بائیں سیل میں فارمولہ درج کرتے ہیں، اور یہ خود بخود دیگر تمام سیلز کو آباد کرتا ہے۔ WRAPROWS فنکشن wrap_count قدر کی بنیاد پر اقدار کو افقی طور پر بائیں سے دائیں ترتیب دیتا ہے۔ گنتی تک پہنچنے کے بعد، یہ ایک نئی قطار شروع کرتا ہے۔
WRAPCOLS اور WRAPROWS کی دستیابی
دونوں فنکشنز صرف ایکسل برائے Microsoft 365 (ونڈوز اور میک) اور ویب کے لیے Excel میں دستیاب ہیں۔
پہلےورژن، آپ کالم سے صف اور قطار سے صف کی تبدیلیوں کو انجام دینے کے لیے روایتی زیادہ پیچیدہ فارمولے استعمال کر سکتے ہیں۔ اس ٹیوٹوریل میں مزید، ہم متبادل حل پر تفصیل سے بات کریں گے۔
ٹپ۔ ریورس آپریشن کرنے کے لیے، یعنی 2D صف کو ایک کالم یا قطار میں تبدیل کریں، بالترتیب TOCOL یا TOROW فنکشن استعمال کریں۔
کالم/رو کو ایکسل میں رینج میں کیسے تبدیل کیا جائے - مثالیں
اب جب کہ آپ کو بنیادی استعمال کی سمجھ آ گئی ہے، آئیے چند مزید مخصوص معاملات پر گہری نظر ڈالتے ہیں۔
فی کالم یا قطار کی زیادہ سے زیادہ تعداد سیٹ کریں
پر منحصر ہے آپ کے اصل ڈیٹا کی ساخت، آپ اسے کالم (WRAPCOLS) یا قطار (WRAPROWS) میں دوبارہ ترتیب دینے کے لیے موزوں محسوس کر سکتے ہیں۔ آپ جو بھی فنکشن استعمال کرتے ہیں، یہ wrap_count دلیل ہے جو ہر کالم/قطار میں اقدار کی زیادہ سے زیادہ تعداد کا تعین کرتی ہے۔
مثال کے طور پر، رینج B4:B23 کو 2D صف میں تبدیل کرنے کے لیے، تاکہ ہر کالم میں زیادہ سے زیادہ 10 اقدار ہوں، یہ فارمولہ استعمال کریں:
=WRAPCOLS(B4:B23, 10)
ایک ہی رینج کو قطار کے لحاظ سے دوبارہ ترتیب دینے کے لیے، تاکہ ہر قطار میں زیادہ سے زیادہ 4 اقدار ہوں، فارمولہ یہ ہے :
=WRAPROWS(B4:B23, 4)
نیچے دی گئی تصویر سے پتہ چلتا ہے کہ یہ کیسا لگتا ہے:
نتیجے میں آنے والی صف میں پیڈ غائب اقدار
بھرنے کے لیے ناکافی اقدار ہونے کی صورت میں نتیجے میں آنے والی رینج کے تمام کالم/قطاریں، WRAPROWS اور WRAPCOLS 2D صف کی ساخت کو برقرار رکھنے کے لیے #N/A غلطیاں واپس کریں گے۔
ڈیفالٹ کو تبدیل کرنے کے لیےبرتاؤ، آپ اختیاری pad_with دلیل کے لیے ایک حسب ضرورت قیمت فراہم کر سکتے ہیں۔
مثال کے طور پر، حد B4:B21 کو زیادہ سے زیادہ 5 قدروں کی چوڑی والی 2D صف میں تبدیل کرنے کے لیے، اور آخری پیڈ ڈیش کے ساتھ قطار اگر اسے بھرنے کے لیے کافی ڈیٹا نہیں ہے، تو یہ فارمولہ استعمال کریں:
=WRAPROWS(B4:B21, 5, "-")
لاپتہ اقدار کو زیرو لینتھ سٹرنگز (خالی جگہوں) سے بدلنے کے لیے، فارمولا یہ ہے:<3
=WRAPROWS(B4:B21, 5, "")
براہ کرم نتائج کا پہلے سے طے شدہ رویے (D5 میں فارمولہ) سے موازنہ کریں جہاں pad_with کو چھوڑ دیا گیا ہے:
متعدد قطاروں کو 2D رینج میں ضم کریں
ایک واحد 2D صف میں چند الگ قطاروں کو یکجا کرنے کے لیے، آپ سب سے پہلے HSTACK فنکشن کا استعمال کرتے ہوئے قطاروں کو افقی طور پر اسٹیک کریں، اور پھر WRAPROWS یا WRAPCOLS کا استعمال کرتے ہوئے قدروں کو لپیٹیں۔
مثال کے طور پر، سے اقدار کو ضم کرنے کے لیے 3 قطاریں (B5:J5، B7:G7 اور B9:F9) اور کالموں میں لپیٹیں، ہر ایک میں 10 اقدار ہیں، فارمولہ یہ ہے:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
ایک سے زیادہ قطاروں کی قدروں کو اکٹھا کرنے کے لیے 2D رینج جہاں ہر قطار میں 5 قدریں ہوتی ہیں، فارمولا یہ فارم لیتا ہے:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
C ایک سے زیادہ کالموں کو 2D صف میں شامل کریں
کئی کالموں کو 2D رینج میں ضم کرنے کے لیے، پہلے آپ انہیں VSTACK فنکشن کا استعمال کرتے ہوئے عمودی طور پر اسٹیک کریں، اور پھر اقدار کو قطاروں (WRAPROWS) یا کالموں (WRAPCOLS) میں لپیٹیں۔
مثال کے طور پر، 3 کالموں (B5:J5، B7:G7 اور B9:F9) کی اقدار کو 2D رینج میں جوڑنے کے لیے جہاں ہر کالم میں 10 ویلیوز ہوں، فارمولا ہے:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
کو یکجا کرنے کے لیےایک ہی کالم کو 2D رینج میں جہاں ہر قطار میں 5 قدریں ہوتی ہیں، یہ فارمولہ استعمال کریں:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
سرنی کو لپیٹ کر ترتیب دیں
اس صورت حال میں جب سورس رینج میں قدریں ہوں بے ترتیب ترتیب جب آپ آؤٹ پٹ کو ترتیب دینا چاہتے ہیں تو اس طرح آگے بڑھیں:
- ابتدائی صف کو اس طرح ترتیب دیں جس طرح آپ SORT فنکشن استعمال کرنا چاہتے ہیں۔
- ترتیب شدہ صف کو WRAPCOLS میں فراہم کریں۔ یا WRAPROWS.
مثال کے طور پر، رینج B4:B23 کو قطاروں میں لپیٹنے کے لیے، ہر ایک میں 4 قدریں، اور نتیجے میں آنے والی رینج کو A سے Z تک ترتیب دیں، اس طرح کا فارمولا بنائیں:
=WRAPROWS(SORT(B4:B23), 4)
اسی رینج کو کالموں میں لپیٹنے کے لیے، ہر ایک میں 10 قدریں، اور آؤٹ پٹ کو حروف تہجی کے حساب سے ترتیب دینے کے لیے، فارمولہ یہ ہے:
=WRAPCOLS(SORT(B4:B23), 10)
نتائج اس طرح نظر آتے ہیں :
ٹپ۔ نتیجے میں آرے میں اقدار کو نزولی ترتیب میں ترتیب دینے کے لیے، SORT فنکشن کی تیسری دلیل ( sort_order ) کو -1 پر سیٹ کریں۔
ایکسل 365 کے لیے WRAPCOLS متبادل - 2010
پرانے ایکسل ورژن میں جہاں WRAPCOLS فنکشن تعاون یافتہ نہیں ہے، آپ ایک جہتی صف سے کالموں میں اقدار کو سمیٹنے کے لیے اپنا فارمولا بنا سکتے ہیں۔ یہ 5 مختلف فنکشنز کو ایک ساتھ استعمال کرکے کیا جا سکتا ہے۔
ایک قطار کو 2D رینج میں تبدیل کرنے کے لیے WRAPCOLS متبادل:
IFERROR(IF(ROW(A1)> n , "" , INDEX( row_range , , ROW(A1) + (COLUMN(A1)-1)* n )), "")کالم کو 2D میں تبدیل کرنے کے لیے WRAPCOLS متبادل رینج:
IFERROR(IF(ROW(A1)> n ،""، INDEX( column_range , ROW(A1) + (COLUMN(A1)-1)* n )), "")جہاں n فی کالم قدروں کی زیادہ سے زیادہ تعداد ہے۔
نیچے دی گئی تصویر میں، ہم ایک قطار کی حد (D4:J4) کو تین قطار والی صف میں تبدیل کرنے کے لیے درج ذیل فارمولے کا استعمال کرتے ہیں۔
=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")
اور یہ فارمولہ ایک کالم رینج (B4:B20) کو پانچ قطار والی صف میں تبدیل کرتا ہے:
=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")
مندرجہ بالا حل یکساں WRAPCOLS فارمولوں کی تقلید کرتے ہیں۔ اور وہی نتائج پیدا کرتے ہیں:
=WRAPCOLS(D4:J4, 3, "")
اور
=WRAPCOLS(B4:B20, 5, "")
براہ کرم ذہن میں رکھیں کہ متحرک صف WRAPCOLS فنکشن کے برعکس، روایتی فارمولے کی پیروی کرتے ہیں ایک فارمولہ ایک سیل اپروچ۔ لہذا، ہمارا پہلا فارمولہ D8 میں درج کیا گیا ہے اور 3 قطاروں کو نیچے اور 3 کالموں کو دائیں طرف کاپی کیا گیا ہے۔ دوسرا فارمولہ D14 میں درج کیا گیا ہے اور 5 قطاروں کو نیچے اور 4 کالموں کو دائیں طرف کاپی کیا گیا ہے۔
یہ فارمولے کیسے کام کرتے ہیں
دونوں فارمولوں کے مرکز میں، ہم INDEX فنکشن استعمال کرتے ہیں جو ایک قطار اور کالم نمبر کی بنیاد پر فراہم کردہ صف سے ایک قدر واپس کرتا ہے:
INDEX(array, row_num, [column_num])جیسا کہ ہم ایک قطار کی صف کے ساتھ کام کر رہے ہیں، ہم row_num دلیل کو چھوڑ سکتے ہیں، لہذا یہ 1 پر ڈیفالٹ ہوجاتا ہے۔ چال یہ ہے کہ col_num ہر سیل کے لیے خود کار طریقے سے حساب کیا جاتا ہے جہاں فارمولہ کاپی کیا جاتا ہے۔ اور یہ ہے کہ ہم یہ کیسے کرتے ہیں:
ROW(A1)+(COLUMN(A1)-1)*3)
ROW فنکشن A1 حوالہ کا قطار نمبر لوٹاتا ہے، جو کہ 1 ہے۔
COLUMN فنکشن کالم نمبر کو لوٹاتا ہےA1 حوالہ، جو 1 بھی ہے۔ 1 کو گھٹانے سے یہ صفر ہو جاتا ہے۔ اور 0 کو 3 سے ضرب کرنے سے 0 ملتا ہے۔
پھر، آپ ROW کے ذریعے لوٹائے گئے 1 اور COLUMN کے ذریعے لوٹائے گئے 0 کو جوڑتے ہیں اور نتیجے کے طور پر 1 حاصل کرتے ہیں۔
اس طرح، اوپری حصے میں INDEX فارمولا منزل کی حد (D8) کا بائیں سیل اس تبدیلی سے گزرتا ہے:
INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))
INDEX($D$4:$J$4, ,1)
میں تبدیل ہوتا ہے اور پہلے کالم سے قدر واپس کرتا ہے۔ مخصوص صف کا، جو D4 میں "Apples" ہے۔
جب فارمولہ سیل D9 میں کاپی کیا جاتا ہے، تو قطاروں اور کالموں کی رشتہ دار پوزیشن کی بنیاد پر متعلقہ سیل کے حوالہ جات تبدیل ہوتے ہیں جبکہ مطلق حد کا حوالہ کوئی تبدیلی نہیں رہتا:
INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))
میں بدل جاتا ہے:
INDEX($D$4:$J$4,, 2+(1-1)*3))
بن جاتا ہے:
INDEX($D$4:$J$4,, 2))
اور اس سے قدر لوٹاتا ہے۔ مخصوص صف کا دوسرا کالم، جو E4 میں "Apricots" ہے۔
IF فنکشن قطار کے نمبر کو چیک کرتا ہے اور اگر یہ آپ کی بتائی ہوئی قطاروں کی تعداد سے زیادہ ہے (ہمارے معاملے میں 3) ایک خالی سٹرنگ لوٹاتا ہے ( "")، بصورت دیگر INDEX فنکشن کا نتیجہ:
IF(ROW(A1)>3, "", INDEX(…))
آخر میں، IFERROR فنکشن #REF کو ٹھیک کرتا ہے! غلطی جو اس وقت ہوتی ہے جب فارمولے کو ضرورت سے زیادہ سیلز میں کاپی کیا جاتا ہے۔
دوسرا فارمولا جو کالم کو 2D رینج میں تبدیل کرتا ہے اسی منطق کے ساتھ کام کرتا ہے۔ فرق یہ ہے کہ آپ INDEX کے لیے row_num دلیل معلوم کرنے کے لیے ROW + COLUMN کا مجموعہ استعمال کرتے ہیں۔ اس معاملے میں col_num پیرامیٹر کی ضرورت نہیں ہے کیونکہ وہاں صرف ہے۔سورس ارے میں ایک کالم۔
ایکسل 365 - 2010 کے لیے WRAPROWS متبادل
ایک جہتی صف سے اقدار کو ایکسل 2019 اور اس سے پہلے کی قطاروں میں لپیٹنے کے لیے، آپ استعمال کر سکتے ہیں WRAPROWS فنکشن کے لیے درج ذیل متبادل۔
ایک قطار کو 2D رینج میں تبدیل کریں:
IFERROR(IF(COLUMN(A1)> n , "", INDEX( row_range , , COLUMN(A1)+(ROW(A1)-1)* n )), "")کالم کو 2D رینج میں تبدیل کریں:
IFERROR(IF( COLUMN(A1)> n , "", INDEX( column_range , COLUMN(A1)+(ROW(A1)-1)* n )) , "")جہاں n فی قطار کی زیادہ سے زیادہ تعداد ہے۔
ہمارے نمونے کے ڈیٹا سیٹ میں، ہم ایک قطار کی حد (D4) کو تبدیل کرنے کے لیے درج ذیل فارمولے کا استعمال کرتے ہیں۔ :J4) تین کالم رینج میں۔ فارمولا سیل D8 میں آتا ہے، اور پھر اسے 3 کالموں اور 3 قطاروں میں کاپی کیا جاتا ہے۔
=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")
1 کالم رینج (B4:B20) کو 5 کالم رینج میں تبدیل کرنے کے لیے، درج ذیل فارمولے کو D14 میں درج کریں اور اسے 5 کالموں اور 4 قطاروں میں گھسیٹیں۔
=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")
ایکسل 365 میں، وہی نتائج مساوی WRAPCOLS فارمولوں کے ساتھ حاصل کیے جا سکتے ہیں:
=WRAPROWS(D4:J4, 3, "")
اور
=WRAPROWS(B4:B20, 5, "")
یہ فارمولے کیسے کام کرتے ہیں
بنیادی طور پر، یہ فارمولے پچھلی مثال کی طرح کام کرتے ہیں۔ فرق یہ ہے کہ آپ INDEX فنکشن کے لیے row_num اور col_num کوآرڈینیٹ کا تعین کیسے کرتے ہیں:
INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))
اوپری کے لیے کالم نمبر حاصل کرنے کے لیے منزل کی حد (D8) میں بائیں سیل، آپ اسے استعمال کرتے ہیں۔اظہار:
COLUMN(A1)+(ROW(A1)-1)*3)
جو بدل جاتا ہے:
1+(1-1)*3
اور دیتا ہے 1۔
نتیجے کے طور پر، ذیل کا فارمولا مخصوص صف کے پہلے کالم سے قدر لوٹاتا ہے، جو کہ "Apples" ہے:
INDEX($D$4:$J$4,, 1)
اب تک، نتیجہ وہی ہے جیسا کہ پچھلے مثال. لیکن آئیے دیکھتے ہیں کہ دوسرے سیلز میں کیا ہوتا ہے…
سیل D9 میں، سیل کے متعلقہ حوالہ جات اس طرح تبدیل ہوتے ہیں:
INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))
تو، فارمولہ اس میں تبدیل ہوتا ہے:
INDEX($D$4:$J$4,, 1+(2-1)*3))
بنتا ہے:
INDEX($D$4:$J$4,, 4))
اور مخصوص صف کے چوتھے کالم سے قدر لوٹاتا ہے، جو G4 میں "Cherries" ہے۔
IF فنکشن کالم نمبر کو چیک کرتا ہے اور اگر یہ آپ کے بتائے ہوئے کالموں کی تعداد سے زیادہ ہے، تو ایک خالی سٹرنگ ("") لوٹاتا ہے، بصورت دیگر INDEX فنکشن کا نتیجہ:
IF(COLUMN(A1)>3, "", INDEX(…))
ایک مکمل رابطے کے طور پر، IFERROR #REF کو روکتا ہے! اگر آپ فارمولے کو درحقیقت ضرورت سے زیادہ سیلز میں کاپی کرتے ہیں تو "اضافی" سیلز میں نمودار ہونے سے خرابیاں۔
WRAPCOLS یا WRAPROWS فنکشن کام نہیں کر رہا ہے
اگر "لفاف" فنکشن دستیاب نہیں ہیں آپ کے ایکسل میں یا کسی غلطی کے نتیجے میں، یہ ذیل کی وجوہات میں سے ایک ہونے کا زیادہ امکان ہے۔
#NAME؟ خرابی
ایکسل 365 میں، ایک #NAME؟ غلطی ہو سکتی ہے کیونکہ آپ نے فنکشن کا نام غلط لکھا ہے۔ دوسرے ورژن میں، یہ اشارہ کرتا ہے کہ افعال تعاون یافتہ نہیں ہیں۔ ایک حل کے طور پر، آپ WRAPCOLS متبادل یا WRAPROWS متبادل استعمال کر سکتے ہیں۔
#VALUE! خرابی
ایک #VALUE غلطی ہوتی ہے اگر