Pretvorite stupac/redak u polje u Excelu: WRAPCOLS & WRAPROWS funkcije

  • Podijeli Ovo
Michael Brown

Najbrži način transformiranja stupca ili retka vrijednosti u dvodimenzionalni niz je pomoću funkcije WRAPCOLS ili WRAPROWS.

Od najranijih dana Excela, vrlo dobar u računanju i analizi brojeva. Ali manipuliranje nizovima tradicionalno je izazov. Uvođenje dinamičkih nizova uvelike je olakšalo korištenje formula polja. A sada, Microsoft izdaje skup novih funkcija dinamičkog niza za manipuliranje i preoblikovanje nizova. Ovaj vodič će vas naučiti kako koristiti dvije takve funkcije, WRAPCOLS i WRAPROWS, za transformaciju stupca ili retka u 2D polje u tren oka.

Funkcija Excel WRAPCOLS

Funkcija WRAPCOLS u Excelu pretvara red ili stupac vrijednosti u dvodimenzionalni niz na temelju navedenog broja vrijednosti po retku.

Sintaksa ima sljedeće argumente:

WRAPCOLS(vektor, wrap_count, [pad_with])

Gdje:

  • vektor (obavezno) - izvorni jednodimenzionalni niz ili raspon.
  • wrap_count (obavezno) - najveći broj vrijednosti po stupcu.
  • pad_with (neobavezno) - vrijednost koju treba dodati u zadnji stupac ako nema dovoljno stavki za popunjavanje. Ako se izostavi, vrijednosti koje nedostaju bit će dopunjene s #N/A (zadano).

Na primjer, da biste promijenili raspon B5:B24 u 2-dimenzionalni niz s 5 vrijednosti po stupcu, formula je:

=WRAPROWS(B5:B24, 5)

Unesiteargument vektor nije jednodimenzionalni niz.

#NUM! error

Pogreška #NUM javlja se ako je vrijednost wrap_count 0 ili negativan broj.

#SPILL! pogreška

Najčešće, pogreška #SPILL označava da nema dovoljno praznih ćelija u koje bi se rezultati prelili. Očistite susjedne ćelije i nestat će. Ako se pogreška nastavi pojavljivati, provjerite što #SPILL znači u Excelu i kako to popraviti.

Tako se koriste funkcije WRAPCOLS i WRAPROWS za pretvaranje jednodimenzionalnog raspona u dvodimenzionalni niz u Excelu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!

Vježbe za preuzimanje

Funkcije WRAPCOLS i WRAPROWS - primjeri (.xlsx datoteka)

formulu u bilo koju pojedinačnu ćeliju i automatski se prelijeva u onoliko ćelija koliko je potrebno. U izlazu WRAPCOLS, vrijednosti su raspoređene okomito, od vrha prema dnu, na temelju vrijednosti wrap_count. Nakon što se dosegne broj, pokreće se nova kolona.

Funkcija Excel WRAPROWS

Funkcija WRAPROWS u Excelu pretvara redak ili stupac vrijednosti u dvodimenzionalni niz na temelju broja vrijednosti po retku koji navedete.

Sintaksa je sljedeća:

WRAPROWS(vektor, wrap_count, [pad_with])

Gdje:

  • vektor (obavezno) - izvorni jednodimenzionalni polje ili raspon.
  • wrap_count (obavezno) - maksimalan broj vrijednosti po retku.
  • pad_with (opcionalno) - vrijednost za podmetanje sa zadnjim redom ako nema dovoljno stavki za popunjavanje. Zadana vrijednost je #N/A.

Na primjer, za transformaciju raspona B5:B24 u 2D niz koji ima 5 vrijednosti u svakom retku, formula je:

=WRAPROWS(B5:B24, 5)

Formulu unesete u gornju lijevu ćeliju raspona izlijevanja i ona automatski popunjava sve ostale ćelije. Funkcija WRAPROWS raspoređuje vrijednosti vodoravno, slijeva nadesno, na temelju vrijednosti wrap_count . Nakon što dosegne broj, počinje novi red.

Dostupnost WRAPCOLS i WRAPROWS

Obje funkcije dostupne su samo u Excelu za Microsoft 365 (Windows i Mac) i Excelu za web.

Ranijeverzije, možete koristiti tradicionalne složenije formule za izvođenje transformacija stupca u niz i reda u niz. Dalje u ovom vodiču, detaljno ćemo raspravljati o alternativnim rješenjima.

Savjet. Da biste izvršili obrnutu operaciju, tj. promijenili 2D niz u jedan stupac ili redak, upotrijebite funkciju TOCOL ili TOROW.

Kako pretvoriti stupac/redak u raspon u Excelu - primjeri

Sada kada ste shvatili osnovnu upotrebu, pogledajmo pobliže nekoliko specifičnih slučajeva.

Postavite najveći broj vrijednosti po stupcu ili retku

Ovisno o strukturu vaših izvornih podataka, možda ćete smatrati prikladnim da ih preuredite u stupce (WRAPCOLS) ili retke (WRAPROWS). Koju god funkciju upotrijebili, argument wrap_count određuje najveći broj vrijednosti u svakom stupcu/retku.

Na primjer, da transformirate raspon B4:B23 u 2D polje, tako da svaki stupac ima najviše 10 vrijednosti, upotrijebite ovu formulu:

=WRAPCOLS(B4:B23, 10)

Za preuređivanje istog raspona po retku, tako da svaki redak ima najviše 4 vrijednosti, formula je :

=WRAPROWS(B4:B23, 4)

Slika u nastavku pokazuje kako to izgleda:

Dopunite nedostajuće vrijednosti u rezultirajućem nizu

U slučaju da nema dovoljno vrijednosti za popunjavanje sve stupce/redove dobivenog raspona, WRAPROWS i WRAPCOLS vratit će #N/A pogreške kako bi zadržali strukturu 2D polja.

Za promjenu zadaneponašanje, možete dati prilagođenu vrijednost za izborni argument pad_with .

Na primjer, da transformirate raspon B4:B21 u 2D niz s maksimalnih 5 vrijednosti u širinu, i dopunite zadnji redak s crticama ako nema dovoljno podataka za popunjavanje, upotrijebite ovu formulu:

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

Za zamjenu vrijednosti koje nedostaju nizovima nulte duljine (prazna mjesta), formula je:

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

Usporedite rezultate sa zadanim ponašanjem (formula u D5) gdje je pad_with izostavljeno:

Spoji više redaka u 2D raspon

Da biste kombinirali nekoliko zasebnih redaka u jedno 2D polje, prvo složite retke vodoravno pomoću funkcije HSTACK, a zatim zamotajte vrijednosti pomoću WRAPROWS ili WRAPCOLS.

Na primjer, da biste spojili vrijednosti iz 3 retka (B5:J5, B7:G7 i B9:F9) i prelomite u stupce, od kojih svaki sadrži 10 vrijednosti, formula je:

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

Za kombiniranje vrijednosti iz više redaka u 2D raspon gdje svaki red sadrži 5 vrijednosti, formula ima ovaj oblik:

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

C kombinirajte više stupaca u 2D niz

Da biste spojili nekoliko stupaca u 2D raspon, prvo ih složite okomito pomoću funkcije VSTACK, a zatim zamotajte vrijednosti u retke (WRAPROWS) ili stupce (WRAPCOLS).

Na primjer, za kombiniranje vrijednosti iz 3 stupca (B5:J5, B7:G7 i B9:F9) u 2D raspon gdje svaki stupac sadrži 10 vrijednosti, formula je:

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

Za kombiniranjeiste stupce u 2D raspon gdje svaki redak sadrži 5 vrijednosti, upotrijebite ovu formulu:

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

Prelomi i sortiraj niz

U situaciji kada izvorni raspon ima vrijednosti u nasumičnim redoslijedom dok želite da izlaz bude sortiran, nastavite na ovaj način:

  1. Sortirajte početni niz onako kako želite pomoću funkcije SORT.
  2. Dostavite sortirani niz WRAPCOLS-u ili WRAPROWS.

Na primjer, za omotavanje raspona B4:B23 u retke, 4 vrijednosti u svakom, i sortiranje rezultirajućeg raspona od A do Z, izradite formulu poput ove:

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

Za omotavanje istog raspona u stupce, 10 vrijednosti u svakom, i sortiranje izlaza po abecedi, formula je:

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

Rezultati izgledaju kako slijedi :

Savjet. Da biste rasporedili vrijednosti u rezultirajućem nizu silaznim redoslijedom , postavite treći argument ( sort_order ) funkcije SORT na -1.

WRAPCOLS alternativa za Excel 365 - 2010

U starijim verzijama programa Excel gdje funkcija WRAPCOLS nije podržana, možete izgraditi vlastitu formulu za prelamanje vrijednosti iz jednodimenzionalnog niza u stupce. To se može učiniti korištenjem 5 različitih funkcija zajedno.

WRAPCOLS alternativa za pretvaranje retka u 2D raspon:

IFERROR(IF(ROW(A1)> n , "" , INDEX( row_range , , ROW(A1) + (COLUMN(A1)-1)* n )), "")

WRAPCOLS alternativa za pretvaranje stupca u 2D raspon:

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

Gdje je n je najveći broj vrijednosti po stupcu.

Na donjoj slici koristimo sljedeću formulu za pretvaranje raspona od jednog retka (D4:J4) u niz od tri retka.

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

A ova formula mijenja raspon od jednog stupca (B4:B20) u niz od pet redaka:

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

Gornja rješenja oponašaju analogne WRAPCOLS formule i daju iste rezultate:

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

i

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

Imajte na umu da za razliku od funkcije dinamičkog niza WRAPCOLS, tradicionalne formule slijede pristup jedna formula-jedna stanica. Dakle, naša prva formula je unesena u D8 i kopirana 3 retka prema dolje i 3 stupca udesno. Druga formula se unosi u D14 i kopira 5 redaka prema dolje i 4 stupca udesno.

Kako ove formule rade

U središtu obje formule koristimo funkciju INDEX koja vraća vrijednost iz priloženog niza na temelju broja retka i stupca:

INDEX(array, row_num, [column_num])

Budući da imamo posla s nizom od jednog retka, možemo izostaviti argument row_num , tako da je zadana vrijednost 1. Trik je u tome da col_num izračunava se automatski za svaku ćeliju u koju je formula kopirana. Evo kako to radimo:

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

Funkcija ROW vraća broj retka reference A1, što je 1.

Funkcija COLUMN vraća broj stupcareferenca A1, koja je također 1. Oduzimanje 1 pretvara ga u nulu. A množenje 0 s 3 daje 0.

Zatim zbrajate 1 vraćen od ROW i 0 vraćen od COLUMN i dobijete 1 kao rezultat.

Na ovaj način, INDEX formula u gornjem -lijeva ćelija odredišnog raspona (D8) prolazi ovu transformaciju:

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

mijenja se u

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

i vraća vrijednost iz 1. stupca navedenog polja, što je "Jabuke" u D4.

Kada se formula kopira u ćeliju D9, relativne reference ćelije mijenjaju se na temelju relativnog položaja redaka i stupaca, dok apsolutna referenca raspona ostaje nepromijenjena:

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

pretvara se u:

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

postaje:

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

i vraća vrijednost iz 2. stupac navedenog niza, koji je "Apricots" u E4.

Funkcija IF provjerava broj retka i ako je veći od broja redaka koji ste naveli (3 u našem slučaju) vraća prazan niz ( ""), inače rezultat funkcije INDEX:

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

Konačno, funkcija IFERROR ispravlja #REF! pogreška koja se javlja kada se formula kopira u više ćelija nego što je stvarno potrebno.

Druga formula koja pretvara stupac u 2D raspon radi s istom logikom. Razlika je u tome što koristite kombinaciju REDAK + STUPAC da biste izračunali row_num argument za INDEX. Parametar col_num nije potreban u ovom slučaju jer postoji samojedan stupac u izvornom nizu.

Alternativa WRAPROWS za Excel 365 - 2010

Za prelamanje vrijednosti iz jednodimenzionalnog niza u retke u programu Excel 2019 i starijim verzijama, možete koristiti sljedeće alternative funkciji WRAPROWS.

Pretvorite red u 2D raspon:

IFERROR(IF(COLUMN(A1)> n , "", INDEX( row_range , , COLUMN(A1)+(ROW(A1)-1)* n )), "")

Promjena stupca u 2D raspon:

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

Gdje je n najveći broj vrijednosti po retku.

U našem uzorku skupa podataka koristimo sljedeću formulu za pretvaranje raspona od jednog retka (D4 :J4) u raspon od tri stupca. Formula dolazi u ćeliju D8, a zatim se kopira u 3 stupca i 3 retka.

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

Da biste preoblikovali raspon od 1 stupca (B4:B20) u raspon od 5 stupaca, unesite donju formulu u D14 i povucite je preko 5 stupaca i 4 retka.

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

U programu Excel 365 isti se rezultati mogu postići s ekvivalentnim WRAPCOLS formulama:

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

i

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

Kako ove formule rade

U biti, ove formule rade kao u prethodnom primjeru. Razlika je u tome kako određujete koordinate row_num i col_num za funkciju INDEX:

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

Da biste dobili broj stupca za gornji lijeva ćelija u odredišnom rasponu (D8), koristite ovoizraz:

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

koji se mijenja u:

1+(1-1)*3

i daje 1.

Kao rezultat, formula u nastavku vraća vrijednost iz prvog stupca navedenog polja, a to je "Jabuke":

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

Do sada je rezultat isti kao u prethodnom primjer. Ali da vidimo što se događa u drugim ćelijama...

U ćeliji D9, relativne reference ćelija mijenjaju se na sljedeći način:

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

Dakle, formula se pretvara u:

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

postaje:

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

i vraća vrijednost iz 4. stupca navedenog polja, što je "Trešnje" u G4.

Funkcija IF provjerava broj stupca i ako je veći od broja stupaca koji ste naveli, vraća prazan niz (""), inače rezultat funkcije INDEX:

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

Kao završni detalj, IFERROR sprječava #REF! pogreške zbog pojavljivanja u "dodatnim" ćelijama ako kopirate formulu u više ćelija nego što je stvarno potrebno.

Funkcija WRAPCOLS ili WRAPROWS ne radi

Ako funkcije "preloma" nisu dostupne u vašem Excelu ili rezultira pogreškom, to je najvjerojatnije jedan od dolje navedenih razloga.

#NAME? error

U programu Excel 365, #NAME? može doći do pogreške jer ste pogrešno napisali naziv funkcije. U drugim verzijama označava da funkcije nisu podržane. Kao zaobilazno rješenje, možete koristiti alternativu WRAPCOLS ili alternativu WRAPROWS.

#VALUE! pogreška

Pogreška #VALUE javlja se ako

Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.