Excelda ustun / qatorni massivga aylantirish: WRAPCOLS & amp; WRAPROWS funksiyalari

  • Buni Baham Ko'Ring
Michael Brown

Ustun yoki qiymatlar qatorini ikki o'lchovli massivga aylantirishning eng tezkor usuli bu WRAPCOLS yoki WRAPROWS funksiyasidan foydalanishdir.

Excelning dastlabki kunlaridan beri u raqamlarni hisoblash va tahlil qilishda juda yaxshi. Ammo massivlarni manipulyatsiya qilish an'anaviy ravishda qiyin bo'lgan. Dinamik massivlarning kiritilishi massiv formulalaridan foydalanishni ancha osonlashtirdi. Va endi, Microsoft massivlarni manipulyatsiya qilish va qayta shakllantirish uchun yangi dinamik massiv funktsiyalari to'plamini chiqarmoqda. Ushbu qo'llanma sizga ustun yoki qatorni qisqa vaqt ichida 2D massivga aylantirish uchun ikkita shunday funksiyadan, WRAPCOLS va WRAPROWSdan qanday foydalanishni o'rgatadi.

Excel WRAPCOLS funksiyasi

Exceldagi WRAPCOLS funksiyasi qiymatlar satri yoki ustunini har bir satr uchun belgilangan qiymatlar soni asosida ikki o'lchovli massivga aylantiradi.

Sintaksisda quyidagi argumentlar mavjud:

WRAPCOLS(vektor, wrap_count, [pad_with])

Bu yerda:

  • vektor (majburiy) - manba bir o'lchovli massiv yoki diapazon.
  • wrap_count (majburiy) - har bir ustun uchun maksimal qiymatlar soni.
  • pad_with (ixtiyoriy) - agar uni to'ldirish uchun elementlar etarli bo'lmasa, oxirgi ustun bilan to'ldiriladigan qiymat. Agar o'tkazib yuborilsa, etishmayotgan qiymatlar #N/A (standart) bilan to'ldiriladi.

Masalan, B5:B24 oralig'ini har bir ustunga 5 ta qiymatdan iborat 2 o'lchovli massivga o'zgartirish uchun, formula:

=WRAPROWS(B5:B24, 5)

Siz kiritasiz vektor argumenti bir o'lchovli massiv emas.

#NUM! xato

Agar wrap_count qiymati 0 yoki manfiy raqam bo'lsa, #NUM xatosi yuzaga keladi.

#SPILL! xato

Ko'pincha #SPILL xatosi natijalarni to'kish uchun etarli bo'sh hujayralar yo'qligini ko'rsatadi. Qo'shni hujayralarni tozalang va u yo'q bo'lib ketadi. Agar xatolik davom etsa, Excelda #SPILL nimani anglatishini va uni qanday tuzatish kerakligini tekshiring.

Bir o'lchovli diapazonni Excelda ikki o'lchovli massivga aylantirish uchun WRAPCOLS va WRAPROWS funksiyalaridan shunday foydalanish mumkin. O'qiganingiz uchun tashakkur va kelgusi hafta blogimizda ko'rishga umid qilaman!

Yuklab olish uchun mashq kitobi

WRAPCOLS va WRAPROWS funksiyalari - misollar (.xlsx fayli)

formula har qanday bitta hujayradagi va u avtomatik ravishda kerak bo'lganda ko'p hujayralarga to'kiladi. WRAPCOLS chiqishida qiymatlar wrap_countqiymatiga asoslanib, yuqoridan pastgacha vertikal ravishda joylashtirilgan. Hisobga erishilgandan so'ng, yangi ustun boshlanadi.

Excel WRAPROWS funksiyasi

Excel-dagi WRAPROWS funksiyasi siz belgilagan satrdagi qiymatlar soniga asoslanib, qiymatlar satri yoki ustunini ikki o'lchovli massivga aylantiradi.

Sintaksis quyidagicha:

WRAPROWS(vektor, wrap_count, [pad_with])

Bu erda:

  • vektor (zarur) - bir o'lchovli manba massiv yoki diapazon.
  • wrap_count (majburiy) - har bir satrdagi qiymatlarning maksimal soni.
  • pad_with (ixtiyoriy) - to'ldirish qiymati to'ldirish uchun elementlar etarli bo'lmasa, oxirgi qator bilan. Birlamchi parametr #N/A.

Masalan, B5:B24 diapazonini har bir satrda 5 ta qiymatga ega 2D massivga aylantirish uchun formula quyidagicha:

=WRAPROWS(B5:B24, 5)

Siz formulani to'kilgan diapazonning yuqori chap katakchasiga kiritasiz va u boshqa barcha hujayralarni avtomatik ravishda to'ldiradi. WRAPROWS funksiyasi wrap_count qiymatiga asoslanib, chapdan o'ngga gorizontal ravishda qiymatlarni joylashtiradi. Hisobga erishgandan so'ng, u yangi qatorni boshlaydi.

WRAPCOLS va WRAPROWS mavjudligi

Ikkala funktsiya ham faqat Microsoft 365 (Windows va Mac) uchun Excel va veb uchun Excel-da mavjud.

Avvalroq.versiyalarida ustundan massivga va qatordan massivga o'zgartirishlarni amalga oshirish uchun an'anaviy murakkabroq formulalardan foydalanishingiz mumkin. Ushbu qo'llanmada biz muqobil echimlarni batafsil muhokama qilamiz.

Maslahat. Teskari amalni bajarish, ya'ni 2D massivni bitta ustun yoki satrga o'zgartirish uchun mos ravishda TOCOL yoki TOROW funksiyasidan foydalaning.

Excelda ustun/satrni diapazonga qanday aylantirish mumkin - misollar

Endi siz asosiy foydalanishni tushunib oldingiz, keling, yana bir nechta aniq holatlarni batafsil ko‘rib chiqamiz.

Har bir ustun yoki satr uchun maksimal qiymatlar sonini o‘rnating

Bunga qarab asl ma'lumotlaringizning tuzilishini hisobga olgan holda, uni ustunlar (WRAPCOLS) yoki satrlarga (WRAPROWS) qayta tartiblash uchun mos deb topishingiz mumkin. Qaysi funksiyadan foydalanmasligingizdan qatʼiy nazar, u har bir ustun/satrdagi qiymatlarning maksimal sonini aniqlaydigan wrap_count argumentidir.

Masalan, B4:B23 diapazonini 2D massivga aylantirish uchun, Har bir ustun maksimal 10 ta qiymatga ega bo'lishi uchun quyidagi formuladan foydalaning:

=WRAPCOLS(B4:B23, 10)

Har bir satr maksimal 4 ta qiymatga ega bo'lishi uchun bir xil diapazonni satr bo'yicha o'zgartirish uchun formula :

=WRAPROWS(B4:B23, 4)

Quyidagi rasm bu qanday ko'rinishini ko'rsatadi:

Olingan massivda qiymatlar yo'q

To'ldirish uchun qiymatlar etarli bo'lmasa Olingan diapazonning barcha ustunlari/satrlari, WRAPROWS va WRAPCOLS 2D massiv tuzilishini saqlab qolish uchun #N/A xatoliklarini qaytaradi.

Standartni o'zgartirish uchunxatti-harakati uchun ixtiyoriy pad_with argumenti uchun maxsus qiymat berishingiz mumkin.

Masalan, B4:B21 diapazonini maksimal 5 qiymatli 2D massivga aylantirish va oxirgisini toʻldirish uchun Agar uni to'ldirish uchun etarli ma'lumot bo'lmasa, tire bilan qatorni quyidagi formuladan foydalaning:

=WRAPROWS(B4:B21, 5, "-")

Yetishmayotgan qiymatlarni nol uzunlikdagi satrlar (bo'shliqlar) bilan almashtirish uchun formula:

=WRAPROWS(B4:B21, 5, "")

Iltimos, natijalarni standart xatti-harakat bilan (D5-dagi formula) solishtiring, bunda pad_with kiritilmagan:

Bir nechta qatorlarni 2D diapazoniga birlashtirish

Bir nechta alohida satrlarni bitta 2D massivga birlashtirish uchun avval HSTACK funksiyasidan foydalanib satrlarni gorizontal ravishda staka qilasiz, so‘ngra WRAPROWS yoki WRAPCOLS yordamida qiymatlarni o‘rashingiz kerak.

Masalan, qiymatlarni birlashtirish uchun 3 qator (B5:J5, B7:G7 va B9:F9) va har birida 10 ta qiymatdan iborat ustunlarga oʻrang, formula:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

Bir nechta satrlardagi qiymatlarni birlashtirish uchun Har bir satr 5 ta qiymatdan iborat boʻlgan 2D diapazonida formula quyidagi shaklni oladi:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

C bir nechta ustunlarni 2D massiviga birlashtiring

Bir nechta ustunlarni 2D diapazoniga birlashtirish uchun avval ularni VSTACK funksiyasidan foydalanib vertikal ravishda stakalang, so‘ngra qiymatlarni satrlarga (WRAPROWS) yoki ustunlarga (WRAPCOLS) o‘rang.

Masalan, 3 ta ustundagi qiymatlarni (B5:J5, B7:G7 va B9:F9) har bir ustun 10 ta qiymatdan iborat boʻlgan 2D diapazoniga birlashtirish uchun formula:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

Birlashtirish uchunbir xil ustunlarni har bir satr 5 ta qiymatdan iborat boʻlgan 2D diapazoniga kiriting, quyidagi formuladan foydalaning:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

Masivni oʻrash va tartiblash

Manba diapazonida qiymatlar mavjud boʻlganda Chiqishni tartiblash uchun tasodifiy tartibda quyidagi tarzda davom eting:

  1. SORT funksiyasidan foydalanib, boshlang‘ich massivni o‘zingiz xohlagan tarzda tartiblang.
  2. Tartiblangan massivni WRAPCOLS-ga taqdim eting. yoki WRAPROWS.

Masalan, B4:B23 diapazonini har birida 4 ta qiymatdan iborat qatorlarga oʻrash va natijada A dan Z gacha boʻlgan diapazonni saralash uchun quyidagi formula tuzing:

=WRAPROWS(SORT(B4:B23), 4)

Bir xil diapazonni ustunlarga, har birida 10 ta qiymatga oʻrash va chiqishni alifbo tartibida tartiblash uchun formula:

=WRAPCOLS(SORT(B4:B23), 10)

Natijalar quyidagicha koʻrinadi. :

Maslahat. Olingan massivdagi qiymatlarni kamayish tartibida tartibga solish uchun SORT funksiyasining uchinchi argumentini ( sort_order ) -1 ga o'rnating.

Excel 365 uchun WRAPCOLS muqobili - 2010

WRAPCOLS funksiyasi qoʻllab-quvvatlanmaydigan eski Excel versiyalarida siz bir oʻlchovli massivdagi qiymatlarni ustunlarga oʻrash uchun oʻz formulangizni yaratishingiz mumkin. Buni 5 xil funksiyadan birgalikda foydalanish orqali amalga oshirish mumkin.

Qatorni 2D diapazoniga aylantirish uchun WRAPCOLS muqobil:

IFERROR(AGAR(ROW(A1)> n , "" , INDEX( satr_diapazoni , , QAT(A1) + (COLUMN(A1)-1)* n )), "")

WRAPCOLS ustunni 2D ga aylantirish uchun muqobil diapazon:

IFERROR(AGAR(QATR(A1)> n ,"", INDEX( ustun_diapazoni , QAT(A1) + (COLUMN(A1)-1)* n )), "")

Bu yerda n - har bir ustun uchun maksimal qiymatlar soni.

Quyidagi rasmda bir qatorli diapazonni (D4:J4) uch qatorli massivga aylantirish uchun quyidagi formuladan foydalanamiz.

=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")

Va bu formula bitta ustunli diapazonni (B4:B20) besh qatorli massivga o'zgartiradi:

=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")

Yuqoridagi echimlar o'xshash WRAPCOLS formulalarini taqlid qiladi va bir xil natijalarni beradi:

=WRAPCOLS(D4:J4, 3, "")

va

=WRAPCOLS(B4:B20, 5, "")

Iltimos, shuni yodda tutingki, WRAPCOLS dinamik massiv funksiyasidan farqli o'laroq, an'anaviy formulalar quyidagiga amal qiladi. bir formulali bir hujayrali yondashuv. Shunday qilib, bizning birinchi formulamiz D8 ga kiritiladi va 3 qator pastga va 3 ustun o'ngga ko'chiriladi. Ikkinchi formula D14 ga kiritiladi va 5 qator pastga va 4 ustun o'ngga ko'chiriladi.

Ushbu formulalar qanday ishlaydi

Ikkala formulaning markazida biz qator va ustun raqamlariga asoslangan holda berilgan massivdan qiymat qaytaruvchi INDEX funksiyasidan foydalanamiz:

INDEX(massiv, satr_num, [ustun_num])

Biz bir qatorli massiv bilan ishlayotganimiz uchun biz satr_num argumentini o'tkazib yuborishimiz mumkin, shuning uchun u birlamchi 1 ga teng. col_num formula ko'chirilgan har bir katak uchun avtomatik ravishda hisoblanadi. Buni shunday qilamiz:

ROW(A1)+(COLUMN(A1)-1)*3)

ROW funksiyasi A1 havolasining satr raqamini qaytaradi, bu 1.

COLUMN funksiyasi ustun raqamini qaytaradi.A1 ma'lumotnomasi, bu ham 1. 1ni ayirish uni nolga aylantiradi. Va 0 ni 3 ga ko'paytirish 0 ni beradi.

Keyin, siz ROW tomonidan qaytarilgan 1 va COLUMN tomonidan qaytarilgan 0 ni qo'shib, natijada 1ni olasiz.

Shunday qilib, yuqoridagi INDEX formulasi -maqsad diapazonining chap katakchasi (D8) bu transformatsiyadan o'tadi:

INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))

INDEX($D$4:$J$4, ,1)

ga o'zgaradi va 1-ustundagi qiymatni qaytaradi. belgilangan massivning, ya'ni D4-dagi "Olmalar".

Formula D9 yacheykaga ko'chirilganda, nisbiy hujayra havolalari qatorlar va ustunlarning nisbiy joylashuviga qarab o'zgaradi, mutlaq diapazon mos yozuvi esa o'zgarishsiz qoladi:

INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))

ga aylanadi:

INDEX($D$4:$J$4,, 2+(1-1)*3))

:

INDEX($D$4:$J$4,, 2))

ga aylanadi va qiymatni qaytaradi. Belgilangan massivning 2-ustun, ya'ni E4 da "O'riklar".

IF funktsiyasi satr raqamini tekshiradi va agar u siz ko'rsatgan qatorlar sonidan ko'p bo'lsa (bizning holimizda 3) bo'sh qatorni qaytaradi ( ""), aks holda INDEX funksiyasining natijasi:

IF(ROW(A1)>3, "", INDEX(…))

Nihoyat, IFERROR funksiyasi #REFni tuzatadi! formula zarur bo'lganidan ko'proq hujayralarga ko'chirilganda yuzaga keladigan xato.

Ustunni 2D diapazoniga aylantiruvchi ikkinchi formula xuddi shu mantiq bilan ishlaydi. Farqi shundaki, siz INDEX uchun satr_num argumentini aniqlash uchun QAT + USTUN kombinatsiyasidan foydalanasiz. Bu holda col_num parametri kerak emas, chunki faqat mavjudmanba massivida bitta ustun.

Excel 365 - 2010 uchun WRAPROWS muqobil

Excel 2019 va undan oldingi versiyalarida bir o'lchovli massivdagi qiymatlarni qatorlarga o'rash uchun siz foydalanishingiz mumkin WRAPROWS funksiyasiga quyidagi muqobil variantlar.

Qatorni 2D diapazonga aylantiring:

IF ERROR(AGAR(COLUMN(A1)> n , "", INDEX( ) satr_diapazoni , , USTUN(A1)+(QATR(A1)-1)* n )), "")

Ustunni 2D diapazoniga o'zgartiring:

IF HATA(AGAR( USTUN(A1)> n , "", INDEX( ustun_diapazoni , COLUMN(A1)+(QATR(A1)-1)* n )) , "")

Bu erda n - har bir satr uchun maksimal qiymatlar soni.

Bizning namunaviy ma'lumotlar to'plamida bir qatorli diapazonni (D4) aylantirish uchun quyidagi formuladan foydalanamiz. :J4) uch ustunli diapazonga. Formula D8 yacheykaga tushadi va keyin 3 ta ustun va 3 satr bo'ylab ko'chiriladi.

=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")

1 ustunli diapazonni (B4:B20) 5 ustunli diapazonga o'zgartirish uchun, D14 da quyidagi formulani kiriting va uni 5 ta ustun va 4 satr boʻylab sudrab oʻtkazing.

=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")

Excel 365 da bir xil natijalarga WRAPCOLS ekvivalent formulalari bilan erishish mumkin:

=WRAPROWS(D4:J4, 3, "")

va

=WRAPROWS(B4:B20, 5, "")

Ushbu formulalar qanday ishlaydi

Aslida, bu formulalar avvalgi misoldagi kabi ishlaydi. Farqi INDEX funksiyasi uchun satr_num va kol_num koordinatalarini qanday aniqlashda:

INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))

Yuqori uchun ustun raqamini olish uchun maqsad oralig'ida (D8) chap katakcha, siz bundan foydalanasizifoda:

COLUMN(A1)+(ROW(A1)-1)*3)

, u:

1+(1-1)*3

ga o'zgaradi va 1 ni beradi.

Natijada, quyidagi formula ko'rsatilgan massivning birinchi ustunidan olingan qiymatni qaytaradi, ya'ni "Olmalar":

INDEX($D$4:$J$4,, 1)

Hozircha natija avvalgisi bilan bir xil. misol. Ammo keling, boshqa hujayralarda nima sodir bo'lishini ko'rib chiqaylik...

D9 katakchada nisbiy hujayra havolalari quyidagicha o'zgaradi:

INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))

Shunday qilib, formula quyidagicha o'zgaradi:

INDEX($D$4:$J$4,, 1+(2-1)*3))

quyidagicha bo'ladi:

INDEX($D$4:$J$4,, 4))

va belgilangan massivning 4-ustunidagi qiymatni qaytaradi, ya'ni G4-dagi "Gilos".

IF funktsiyasi ustun raqamini tekshiradi va agar u siz ko'rsatgan ustunlar sonidan ko'p bo'lsa, bo'sh qatorni ("") qaytaradi, aks holda INDEX funktsiyasining natijasi:

IF(COLUMN(A1)>3, "", INDEX(…))

Yakuniy teginish sifatida IFERROR #REFni oldini oladi! Agar formulani zarur boʻlganidan koʻproq katakka koʻchirsangiz, “qoʻshimcha” kataklarda paydo boʻladigan xatolar.

WRAPCOLS yoki WRAPROWS funksiyasi ishlamayapti

Agar “oʻrash” funksiyalari mavjud boʻlmasa Excelda xatolik yuzaga kelgan boʻlsa, bu quyidagi sabablardan biri boʻlishi mumkin.

#NAME? xato

Excel 365 da #NAME? funksiya nomini noto'g'ri yozganingiz uchun xatolik yuz berishi mumkin. Boshqa versiyalarda bu funksiyalar qo'llab-quvvatlanmasligini ko'rsatadi. Vaqtinchalik yechim sifatida WRAPCOLS muqobil yoki WRAPROWS muqobilidan foydalanishingiz mumkin.

#VALUE! xato

Agar #VALUE xatolik yuz beradi

Maykl Braun - dasturiy vositalardan foydalangan holda murakkab jarayonlarni soddalashtirishga ishtiyoqi bo'lgan maxsus texnologiya ishqibozi. Texnologiya sohasida o'n yildan ortiq tajribaga ega bo'lgan holda, u Microsoft Excel va Outlook, shuningdek, Google Sheets va Docs dasturlarida o'z mahoratini oshirdi. Mayklning blogi o'z bilimi va tajribasini boshqalar bilan baham ko'rishga, samaradorlik va samaradorlikni oshirish uchun amal qilish oson maslahatlar va o'quv qo'llanmalariga bag'ishlangan. Tajribali mutaxassismisiz yoki yangi boshlovchi boʻlasizmi, Mayklning blogi ushbu muhim dasturiy vositalardan maksimal darajada foydalanish uchun qimmatli tushunchalar va amaliy maslahatlarni taqdim etadi.