Pretvarjanje stolpca / vrstice v polje v Excelu: funkcije WRAPCOLS &; WRAPROWS

  • Deliti To
Michael Brown

Stolpec ali vrstico vrednosti najhitreje pretvorite v dvodimenzionalno polje s funkcijo WRAPCOLS ali WRAPROWS.

Excel je že od prvih dni delovanja zelo dober pri izračunavanju in analiziranju številk. Vendar je bilo manipuliranje z polji tradicionalno zahtevno. Z uvedbo dinamičnih polj je bila uporaba formul za polja veliko lažja. Microsoft zdaj objavlja niz novih funkcij dinamičnih polj za manipulacijo in preoblikovanje polj. V tem vodniku se boste naučili uporabljati dve taki funkciji,WRAPCOLS in WRAPROWS, s katerima stolpec ali vrstico v trenutku spremenite v 2D-polje.

    Funkcija Excel WRAPCOLS

    Funkcija WRAPCOLS v Excelu pretvori vrstico ali stolpec vrednosti v dvodimenzionalno polje na podlagi določenega števila vrednosti v vrstici.

    Sintaksa ima naslednje argumente:

    WRAPCOLS(vektor, wrap_count, [pad_with])

    Kje:

    • vektor (obvezno) - izvorno enodimenzionalno polje ali območje.
    • wrap_count (obvezno) - največje število vrednosti na stolpec.
    • pad_with (neobvezno) - vrednost, s katero se zapolni zadnji stolpec, če ni dovolj elementov za njegovo zapolnitev. Če se izpusti, se manjkajoče vrednosti zapolnijo z #N/A (privzeto).

    Če želite na primer spremeniti območje B5:B24 v dvodimenzionalno polje s 5 vrednostmi na stolpec, je formula naslednja:

    =WRAPROWS(B5:B24, 5)

    Vnesite formulo v katero koli posamezno celico in samodejno se razširi v toliko celic, kolikor je potrebno. V izpisu WRAPCOLS so vrednosti razporejene navpično, od zgoraj navzdol, na podlagi wrap_count Ko je število doseženo, se začne nov stolpec.

    Funkcija Excel WRAPROWS

    Funkcija WRAPROWS v Excelu pretvori vrstico ali stolpec vrednosti v dvodimenzionalno polje na podlagi števila vrednosti v vrstici, ki ga določite.

    Sintaksa je naslednja:

    WRAPROWS(vektor, wrap_count, [pad_with])

    Kje:

    • vektor (obvezno) - izvorno enodimenzionalno polje ali območje.
    • wrap_count (obvezno) - največje število vrednosti v vrstici.
    • pad_with (neobvezno) - vrednost, s katero se zapolni zadnja vrstica, če ni dovolj elementov za njeno zapolnitev. Privzeto je #N/A.

    Na primer, za pretvorbo območja B5:B24 v 2D-polje s 5 vrednostmi v vsaki vrstici je formula naslednja:

    =WRAPROWS(B5:B24, 5)

    Formulo vnesete v zgornjo levo celico območja razlitja, ki samodejno zapolni vse druge celice. Funkcija WRAPROWS razporedi vrednosti vodoravno, od leve proti desni, na podlagi wrap_count Ko je število doseženo, se začne nova vrstica.

    Razpoložljivost WRAPCOLS in WRAPROWS

    Obe funkciji sta na voljo samo v Excelu za Microsoft 365 (Windows in Mac) in Excelu za splet.

    V prejšnjih različicah lahko uporabite tradicionalne bolj zapletene formule za izvajanje pretvorb med stolpci in vrsticami. V nadaljevanju tega vodnika bomo podrobno obravnavali alternativne rešitve.

    Nasvet. Če želite izvesti obratno operacijo, tj. spremeniti 2D-polje v en sam stolpec ali vrstico, uporabite funkcijo TOCOL oziroma TOROW.

    Kako pretvoriti stolpec / vrstico v obseg v Excelu - primeri

    Zdaj, ko ste spoznali osnovno uporabo, si podrobneje oglejmo nekaj bolj specifičnih primerov.

    Nastavitev največjega števila vrednosti v stolpcu ali vrstici

    Glede na strukturo izvirnih podatkov se vam bo morda zdelo primerno, da jih preuredite v stolpce (WRAPCOLS) ali vrstice (WRAPROWS). Ne glede na to, katero funkcijo boste uporabili, je wrap_count ki določa največje število vrednosti v vsakem stolpcu/vrstici.

    Če želite na primer območje B4:B23 pretvoriti v 2D-polje, tako da ima vsak stolpec največ 10 vrednosti, uporabite to formulo:

    =WRAPCOLS(B4:B23, 10)

    Če želite isto območje preurediti po vrsticah, tako da ima vsaka vrstica največ 4 vrednosti, je formula naslednja:

    =WRAPROWS(B4:B23, 4)

    Spodnja slika prikazuje, kako je to videti:

    Podlaganje manjkajočih vrednosti v dobljenem polju

    Če ni dovolj vrednosti za zapolnitev vseh stolpcev/vrstic dobljenega območja, bosta WRAPROWS in WRAPCOLS vrnila napake #N/A, da se ohrani struktura 2D-polja.

    Če želite spremeniti privzeto obnašanje, lahko za neobvezni element pad_with argument.

    Če želite na primer območje B4:B21 pretvoriti v 2D-polje, široko največ 5 vrednosti, in zadnjo vrstico zapolniti s pomišljaji, če ni dovolj podatkov, da bi jo zapolnili, uporabite to formulo:

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

    Za zamenjavo manjkajočih vrednosti z nizi ničelne dolžine (praznimi mesti) je formula naslednja:

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

    Primerjajte rezultate s privzetim vedenjem (formula v D5), kjer pad_with je izpuščen:

    Združitev več vrstic v 2D območje

    Če želite združiti več ločenih vrstic v eno samo 2D-polje, najprej vodoravno zložite vrstice s funkcijo HSTACK, nato pa zavijte vrednosti s funkcijama WRAPROWS ali WRAPCOLS.

    Če želite na primer združiti vrednosti iz treh vrstic (B5:J5, B7:G7 in B9:F9) in jih zapakirati v stolpce, od katerih vsak vsebuje 10 vrednosti, je formula naslednja:

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

    Če želite združiti vrednosti iz več vrstic v območje 2D, v katerem vsaka vrstica vsebuje 5 vrednosti, je formula takšna:

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

    Združite več stolpcev v 2D-polje

    Če želite združiti več stolpcev v 2D območje, jih najprej zlagajte navpično s funkcijo VSTACK, nato pa vrednosti zavijte v vrstice (WRAPROWS) ali stolpce (WRAPCOLS).

    Če želite na primer združiti vrednosti iz treh stolpcev (B5:J5, B7:G7 in B9:F9) v območje 2D, kjer vsak stolpec vsebuje 10 vrednosti, je formula naslednja:

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

    Če želite iste stolpce združiti v 2D območje, kjer vsaka vrstica vsebuje 5 vrednosti, uporabite to formulo:

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

    zavijte in razvrstite polje

    Če so v izvornem območju vrednosti v naključnem vrstnem redu, medtem ko želite, da je izhod razvrščen, ravnajte na ta način:

    1. Začetno polje razvrstite na želeni način s funkcijo SORT.
    2. Podajte razvrščeno polje v WRAPCOLS ali WRAPROWS.

    Na primer, če želite obseg B4:B23 zapakirati v vrstice s po 4 vrednostmi v vsaki in razvrstiti dobljeni obseg od A do Z, sestavite naslednjo formulo:

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

    Če želite isto območje zapakirati v stolpce z 10 vrednostmi v vsakem in rezultat razvrstiti po abecedi, je formula naslednja:

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

    Rezultati so naslednji:

    Nasvet. Če želite vrednosti v dobljenem polju razvrstiti v padajoči vrstni red , nastavite tretji argument ( sort_order ) funkcije SORT na -1.

    Alternativa WRAPCOLS za Excel 365 - 2010

    V starejših različicah programa Excel, kjer funkcija WRAPCOLS ni podprta, lahko sestavite lastno formulo za zavijanje vrednosti iz enodimenzionalnega polja v stolpce. To lahko storite tako, da skupaj uporabite 5 različnih funkcij.

    WRAPCOLS alternativa za pretvorbo vrstice v 2D območje:

    IFERROR(IF(ROW(A1)> n , "", INDEX( vrstica_razpon , , , VRSTICA(A1) + (STOLPEC(A1)-1)* n )), "")

    WRAPCOLS alternativa za pretvorbo stolpca v 2D območje:

    IFERROR(IF(ROW(A1)> n , "", INDEX( column_range , VRSTICA(A1) + (STOLPEC(A1)-1)* n )), "")

    Kje: n je največje število vrednosti na stolpec.

    Na spodnji sliki z naslednjo formulo spremenimo enovrstično območje (D4:J4) v trivrstično polje.

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

    Ta formula spremeni obseg enega stolpca (B4:B20) v niz petih vrstic:

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

    Zgornje rešitve posnemajo analogne formule WRAPCOLS in dajejo enake rezultate:

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

    in .

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

    Ne pozabite, da za razliko od funkcije WRAPCOLS dinamičnega polja tradicionalne formule upoštevajo pristop ena formula - ena celica. Tako je naša prva formula vnesena v D8 in kopirana 3 vrstice navzdol in 3 stolpce desno. Druga formula je vnesena v D14 in kopirana 5 vrstic navzdol in 4 stolpce desno.

    Kako te formule delujejo

    V središču obeh formul je funkcija INDEX, ki na podlagi številke vrstice in stolpca vrne vrednost iz predloženega polja:

    INDEX(polje, številka vrstice, [številka stolpca])

    Ker imamo opravka z enovrstičnim poljem, lahko izpustimo vrstica_številka zato je privzeta vrednost 1. Trik je v tem, da col_num se samodejno izračuna za vsako celico, v katero je kopirana formula. In tukaj je opisano, kako to storimo:

    VRSTICA(A1)+(STOLPEC(A1)-1)*3)

    Funkcija ROW vrne številko vrstice reference A1, ki je 1.

    Funkcija COLUMN vrne številko stolpca reference A1, ki je prav tako 1. Če odštejemo 1, dobimo nič, če pomnožimo 0 s 3, dobimo 0.

    Nato seštejete 1, ki ga vrne vrstica, in 0, ki ga vrne stolpec, ter kot rezultat dobite 1.

    Na ta način se formula INDEX v zgornji levi celici ciljnega območja (D8) preoblikuje:

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

    spremembe

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

    in vrne vrednost iz 1. stolpca navedenega polja, ki je "Jabolka" v D4.

    Ko formulo kopiramo v celico D9, se relativne reference celic spremenijo glede na relativni položaj vrstic in stolpcev, medtem ko absolutna referenca območja ostane nespremenjena:

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

    se spremeni v:

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

    postane:

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

    in vrne vrednost iz 2. stolpca navedenega polja, ki je "Apricots" v E4.

    Funkcija IF preveri številko vrstice in če je ta večja od števila vrstic, ki ste ga določili (v našem primeru 3), vrne prazen niz (""), sicer pa rezultat funkcije INDEX:

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

    Nazadnje funkcija IFERROR odpravi napako #REF!, ki se pojavi, ko se formula kopira v več celic, kot je dejansko potrebno.

    Druga formula, ki pretvori stolpec v območje 2D, deluje po isti logiki. Razlika je v tem, da kombinacijo ROW + COLUMN uporabite za določitev vrstica_številka argument za INDEX. col_num v tem primeru ni potreben, saj je v izvornem polju samo en stolpec.

    Alternativa WRAPROWS za Excel 365 - 2010

    Če želite vrednosti iz enodimenzionalnega polja zapakirati v vrstice v Excelu 2019 in prejšnjih programih, lahko uporabite naslednje alternative funkciji WRAPROWS.

    Vrstico pretvorite v 2D območje:

    IFERROR(IF(COLUMN(A1)> n , "", INDEX( vrstica_razpon , , , STOLPEC(A1)+(VRSTICA(A1)-1)* n )), "")

    Spremenite stolpec v 2D območje:

    IFERROR(IF(COLUMN(A1)> n , "", INDEX( column_range , STOLPEC(A1)+(VRSTICA(A1)-1)* n )), "")

    Kje: n je največje število vrednosti v vrstici.

    V našem vzorčnem podatkovnem nizu uporabimo naslednjo formulo za pretvorbo obsega ene vrstice (D4:J4) v obseg treh stolpcev. Formula se nahaja v celici D8, nato pa se kopira čez 3 stolpce in 3 vrstice.

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

    Če želite preoblikovati obseg z enim stolpcem (B4:B20) v obseg s petimi stolpci, vnesite spodnjo formulo v D14 in jo povlecite čez 5 stolpcev in 4 vrstice.

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

    V Excelu 365 lahko enake rezultate dosežete z enakovrednimi formulami WRAPCOLS:

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

    in .

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

    Kako te formule delujejo

    Te formule delujejo podobno kot v prejšnjem primeru. Razlika je v tem, kako določite vrstica_številka in . col_num koordinate za funkcijo INDEX:

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

    Če želite dobiti številko stolpca za zgornjo levo celico v ciljnem območju (D8), uporabite ta izraz:

    STOLPEC(A1)+(VRSTICA(A1)-1)*3)

    ki se spremeni v:

    1+(1-1)*3

    in daje 1.

    Spodnja formula vrne vrednost iz prvega stolpca navedenega polja, ki je "Jabolka":

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

    Rezultat je enak kot v prejšnjem primeru. Poglejmo, kaj se zgodi v drugih celicah...

    V celici D9 se relativna sklicevanja na celice spremenijo, kot sledi:

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

    Tako se formula spremeni v:

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

    postane:

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

    in vrne vrednost iz 4. stolpca navedenega polja, ki je "Cherries" v G4.

    Funkcija IF preveri število stolpcev in če je večje od števila stolpcev, ki ste ga določili, vrne prazen niz (""), sicer pa rezultat funkcije INDEX:

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

    Na koncu funkcija IFERROR preprečuje, da bi se napake #REF! pojavile v "dodatnih" celicah, če kopirate formulo v več celic, kot je dejansko potrebno.

    Funkcija WRAPCOLS ali WRAPROWS ne deluje

    Če funkcije "ovijanja" v Excelu niso na voljo ali se pojavi napaka, je to najverjetneje eden od naslednjih razlogov.

    #NAME?

    V Excelu 365 se lahko pojavi napaka #NAME?, ker ste napačno zapisali ime funkcije. V drugih različicah pomeni, da funkcije niso podprte. Kot obvoznico lahko uporabite alternativo WRAPCOLS ali WRAPROWS.

    #VALUE! napaka

    Napaka #VALUE se pojavi, če vektor argument ni enodimenzionalno polje.

    #NUM! napaka

    Napaka #NUM se pojavi, če wrap_count vrednost je 0 ali negativno število.

    #SPILL! napaka

    Najpogosteje napaka #SPILL pomeni, da ni dovolj praznih celic, v katere bi lahko prelili rezultate. Počistite sosednje celice in napaka bo izginila. Če se napaka nadaljuje, preverite, kaj pomeni #SPILL v Excelu in kako jo odpraviti.

    To je način uporabe funkcij WRAPCOLS in WRAPROWS za pretvorbo enodimenzionalnega območja v dvodimenzionalno polje v Excelu. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Praktični delovni zvezek za prenos

    Funkciji WRAPCOLS in WRAPROWS - primeri (.xlsx datoteka)

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.