Kazalo
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:
- Začetno polje razvrstite na želeni način s funkcijo SORT.
- 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)