Konverti kolumnon / vicon al tabelo en Excel: WRAPCOLS & WRAPROWS funkcioj

  • Kundividu Ĉi Tion
Michael Brown

La plej rapida maniero por transformi kolumnon aŭ vicon de valoroj en dudimensian tabelon estas uzi la funkcion WRAPCOLS aŭ WRAPROWS.

Ekde la plej fruaj tagoj de Excel, ĝi estis tre bone kalkuli kaj analizi nombrojn. Sed manipuli tabelojn tradicie estis defio. La enkonduko de dinamikaj tabeloj multe plifaciligis la uzadon de tabelaj formuloj. Kaj nun, Mikrosofto liberigas aron da novaj dinamikaj tabelaj funkcioj por manipuli kaj re-formi tabelojn. Ĉi tiu lernilo instruos vin kiel uzi du tiajn funkciojn, WRAPCOLS kaj WRAPROWS, por transformi kolumnon aŭ vicon en 2D tabelon en neniu tempo.

Excel WRAPCOLS-funkcio

La funkcio WRAPCOLS en Excel transformas vicon aŭ kolumnon de valoroj en dudimensian tabelon bazitan sur la specifita nombro da valoroj por vico.

La sintakso havas la jenajn argumentojn:

WRAPCOLS(vektoro, wrap_count, [pad_with])

Kie:

  • vektoro (bezonata) - la fonto unudimensia tabelo aŭ intervalo.
  • wrap_count (postulata) - la maksimuma nombro da valoroj por kolumno.
  • pad_with (laŭvola) - la valoro por plenigi kun la lasta kolumno se estas nesufiĉaj eroj por plenigi ĝin. Se ellasitaj, la mankantaj valoroj estos plenigitaj kun #N/A (defaŭlte).

Ekzemple, por ŝanĝi la intervalon B5:B24 al 2-dimensia tabelo kun 5 valoroj po kolumno, la formulo estas:

=WRAPROWS(B5:B24, 5)

Vi enigas lala argumento vektora ne estas unudimensia tabelo.

#NUM! eraro

#NUM-eraro okazas se la valoro wrap_count estas 0 aŭ negativa nombro.

#SPILL! eraro

Plej ofte, #SPILL-eraro indikas, ke ne estas sufiĉe da malplenaj ĉeloj por verŝi la rezultojn enen. Purigu la najbarajn ĉelojn, kaj ĝi malaperos. Se la eraro daŭras, rigardu, kion signifas #SPILL en Excel kaj kiel ripari ĝin.

Tiel uzi la funkciojn WRAPCOLS kaj WRAPROWS por konverti unudimensian gamon en dudimensian tabelon en Excel. Mi dankas vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!

Praktiku laborlibron por elŝuto

WRAPCOLS kaj WRAPROWS-funkcioj - ekzemploj (.xlsx-dosiero)

formulo en iu unuopa ĉelo kaj ĝi aŭtomate disverŝas en tiom da ĉeloj kiom necesas. En la eligo WRAPCOLS, la valoroj estas aranĝitaj vertikale, de supre ĝis malsupre, surbaze de la valoro wrap_count. Post kiam la kalkulo estas atingita, nova kolumno komenciĝas.

Excel WRAPROWS-funkcio

La WRAPROWS-funkcio en Excel konvertas vicon aŭ kolumnon de valoroj en dudimensian tabelon bazitan sur la nombro da valoroj por vico kiun vi specifigas.

La sintakso estas jena:

WRAPROWS(vektoro, wrap_count, [pad_with])

Kie:

  • vektoro (bezonata) - la fonto unudimensia tabelo aŭ intervalo.
  • wrap_count (postulata) - la maksimuma nombro da valoroj por vico.
  • pad_with (laŭvola) - la valoro al pad kun la lasta vico se estas nesufiĉaj eroj por plenigi ĝin. La defaŭlto estas #N/A.

Ekzemple, por transformi la gamon B5:B24 en 2D tabelon havantan 5 valorojn en ĉiu vico, la formulo estas:

=WRAPROWS(B5:B24, 5)

Vi enigas la formulon en la supra-maldekstra ĉelo de la disverŝa intervalo, kaj ĝi aŭtomate plenigas ĉiujn aliajn ĉelojn. La funkcio WRAPROWS aranĝas la valorojn horizontale, de maldekstre dekstren, surbaze de la valoro wrap_count . Post atingi la kalkulon, ĝi komencas novan vicon.

WRAPCOLS kaj WRAPROWS havebleco

Ambaŭ funkcioj disponeblas nur en Excel por Microsoft 365 (Vindozo kaj Mac) kaj Excel por la reto.

Antaŭe.versioj, vi povas uzi tradiciajn pli kompleksajn formulojn por fari kolumn-al-tabelon kaj vico-al-tabelajn transformojn. Pli plu en ĉi tiu lernilo, ni diskutos la alternativajn solvojn detale.

Konsileto. Por fari inversan operacion, t.e. ŝanĝi 2D-tabelon al ununura kolumno aŭ vico, uzu la funkcion TOCOL aŭ TOROW, respektive.

Kiel konverti kolumnon/vicon al intervalo en Excel - ekzemploj

Nun kiam vi ekkomprenis la bazan uzadon, ni rigardu pli detale kelkajn pli specifajn kazojn.

Fiksu la maksimuman nombron da valoroj po kolumno aŭ vico

Depende de la strukturo de viaj originaj datumoj, vi eble trovos ĝin taŭga por esti rearanĝita en kolumnojn (WRAPCOLS) aŭ vicojn (WRAPROWS). Kiun ajn funkcion vi uzas, estas la argumento wrap_count kiu determinas la maksimuman nombron da valoroj en ĉiu kolumno/vico.

Ekzemple, por transformi la gamon B4:B23 en 2D tabelon, por ke ĉiu kolumno havu maksimume 10 valorojn, uzu ĉi tiun formulon:

=WRAPCOLS(B4:B23, 10)

Por rearanĝi la saman gamon laŭ vico, tiel ke ĉiu vico havu maksimume 4 valorojn, la formulo estas :

=WRAPROWS(B4:B23, 4)

La suba bildo montras kiel ĉi tio aspektas:

Alklaku mankantajn valorojn en la rezulta tabelo

En la okazo ke estas nesufiĉaj valoroj por plenigi ĉiuj kolumnoj/vicoj de la rezulta gamo, WRAPROWS kaj WRAPCOLS resendos #N/A-eraroj por konservi la strukturon de la 2D-abelo.

Por ŝanĝi la defaŭltankonduto, vi povas provizi kutiman valoron por la nedeviga argumento pad_with .

Ekzemple, por transformi la gamon B4:B21 en 2D tabelon kun maksimume 5 valoroj larĝa, kaj alŝutu la lastan. vico kun strekoj se ne estas sufiĉe da datumoj por plenigi ĝin, uzu ĉi tiun formulon:

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

Por anstataŭigi la mankantajn valorojn per nullongaj ĉenoj (blankoj), la formulo estas:

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

Bonvolu kompari la rezultojn kun la defaŭlta konduto (formulo en D5) kie pad_with estas preterlasita:

Kunfandi plurajn vicojn en 2D gamon

Por kombini kelkajn apartajn vicojn en ununuran 2D tabelon, vi unue staku la vicojn horizontale uzante la funkcion HSTACK, kaj poste envolvu la valorojn per WRAPROWS aŭ WRAPCOLS.

Ekzemple, por kunfandi la valorojn de 3 vicoj (B5:J5, B7:G7 kaj B9:F9) kaj envolvi en kolumnojn, ĉiu enhavante 10 valorojn, la formulo estas:

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

Por kombini valorojn de pluraj vicoj en 2D gamo kie ĉiu vico enhavas 5 valorojn, la formulo prenas ĉi tiun formon:

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

C kunigi plurajn kolumnojn en 2D-tabelon

Por kunfandi plurajn kolumnojn en 2D-amplekson, unue vi stakigas ilin vertikale uzante la VSTACK-funkcion, kaj poste envolvu la valorojn en vicojn (WRAPROWS) aŭ kolumnojn (WRAPCOLS).

Ekzemple, por kombini la valorojn de 3 kolumnoj (B5:J5, B7:G7 kaj B9:F9) en 2D gamon kie ĉiu kolumno enhavas 10 valorojn, la formulo estas:

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

Por kombini lasamaj kolumnoj en 2D gamon kie ĉiu vico enhavas 5 valorojn, uzu ĉi tiun formulon:

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

Envolvu kaj ordigu la tabelon

En situacio kiam la fonta gamo havas valorojn en hazarda ordo dum vi deziras ke la eligo estu ordigita, procedu tiamaniere:

  1. Ordigu la komencan tabelon kiel vi volas uzante la funkcion SORT.
  2. Liveri la ordigitan tabelon al WRAPCOLS. aŭ WRAPROWS.

Ekzemple, por envolvi la gamon B4:B23 en vicojn, po 4 valorojn en ĉiu, kaj ordigi la rezultan gamon de A ĝis Z, konstruu formulon kiel ĉi tio:

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

Por envolvi la saman gamon en kolumnojn, 10 valorojn en ĉiu, kaj ordigi la eligon alfabete, la formulo estas:

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

La rezultoj aspektas jene :

Konsileto. Por aranĝi la valorojn en la rezulta tabelo en malkreskanta ordo , agordu la trian argumenton ( sort_order ) de la funkcio SORT al -1.

WRAPCOLS-alternativo por Excel 365 - 2010

En pli malnovaj Excel-versioj, kie la funkcio WRAPCOLS ne estas subtenata, vi povas konstrui vian propran formulon por envolvi la valorojn de unudimensia tabelo en kolumnojn. Ĉi tio povas esti farita per uzado de 5 malsamaj funkcioj kune.

WRAPCOLS alternativo por konverti vicon en 2D gamon:

IFERROR(IF(ROW(A1)> n , "" , INDEX( vica_gamo , , ROW(A1) + (KOLONO(A1)-1)* n )), "")

WRAPCOLS alternativo por konverti kolumnon en 2D gamo:

IFERARO(IF(VICO(A1)> n ,"", INDEX( kolumna_gamo , VICO(A1) + (KOLONO(A1)-1)* n )), "")

Kie n estas la maksimuma nombro da valoroj por kolumno.

En la suba bildo, ni uzas la jenan formulon por igi unuvican gamon (D4:J4) en trivican tabelon.

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

Kaj ĉi tiu formulo ŝanĝas unu-kolumnan gamon (B4:B20) en kvin-vican tabelon:

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

La supraj solvoj imitas la analogajn WRAPCOLS-formulojn kaj produkti la samajn rezultojn:

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

kaj

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

Bonvolu memori, ke male al la dinamika tabelo WRAPCOLS-funkcio, la tradiciaj formuloj sekvas la unu-formulo-unu-ĉela aliro. Do, nia unua formulo estas enigita en D8 kaj kopiita 3 vicoj malsupren kaj 3 kolumnoj dekstre. La dua formulo estas enigita en D14 kaj kopiita 5 vicoj malsupren kaj 4 kolumnoj dekstre.

Kiel funkcias ĉi tiuj formuloj

En la koro de ambaŭ formuloj, ni uzas la INDEX-funkcion, kiu liveras valoron de la provizita tabelo bazita sur vico kaj kolumnombro:

INDEX(tabelo, vico_num, [kolumno_num])

Ĉar ni traktas unuvican tabelon, ni povas preterlasi la argumenton vica_num , do ĝi defaŭlte estas 1. La lertaĵo estas havi col_num aŭtomate kalkulita por ĉiu ĉelo kie la formulo estas kopiita. Kaj jen kiel ni faras ĉi tion:

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

La ROW-funkcio liveras la vicon-numeron de la referenco A1, kiu estas 1.

La KOLONON-funkcio liveras la kolumn-numeron dela referenco A1, kiu ankaŭ estas 1. Subtrahi 1 igas ĝin nul. Kaj multobligante 0 per 3 donas 0.

Tiam, oni adicias 1 redonita per VICO kaj 0 redonita per KOLUMNO kaj ricevas 1 kiel rezulto.

Tiel, la INDEX-formulo en la supra -maldekstra ĉelo de la celintervalo (D8) spertas ĉi tiun transformon:

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

ŝanĝiĝas al

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

kaj redonas la valoron de la 1-a kolumno de la specifita tabelo, kiu estas "Pomoj" en D4.

Kiam la formulo estas kopiita al ĉelo D9, la relativaj ĉelaj referencoj ŝanĝiĝas surbaze de relativa pozicio de vicoj kaj kolumnoj dum la absoluta intervalreferenco restas senŝanĝa:

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

iĝas:

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

iĝas:

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

kaj redonas la valoron de la 2-a kolumno de la specifita tabelo, kiu estas "Abrikotoj" en E4.

La IF-funkcio kontrolas la numeron de vico kaj se ĝi estas pli granda ol la nombro de vicoj kiujn vi specifis (3 en nia kazo) redonas malplenan ĉenon ( ""), alie la rezulto de la INDEX-funkcio:

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

Fine, la funkcio IFERROR fiksas #REF! eraro kiu okazas kiam la formulo estas kopiita al pli da ĉeloj ol vere bezonata.

La dua formulo, kiu konvertas kolumnon en 2D gamon, funkcias kun la sama logiko. La diferenco estas, ke vi uzas la kombinaĵon ROW + COLUMN por eltrovi la argumenton vic_num por INDEX. La parametro col_num ne estas bezonata en ĉi tiu kazo ĉar ekzistas nurunu kolumno en la fonta tabelo.

WRAPROWS-alternativo por Excel 365 - 2010

Por envolvi la valorojn de unudimensia tabelo en vicojn en Excel 2019 kaj pli frue, vi povas uzi la jenaj alternativoj al la funkcio WRAPROWS.

Transformu vicon en 2D gamon:

IFERARO(IF(KOLONON(A1)> n , "", INDEX( ) vico_gamo , , KOLUNO(A1)+(VICO(A1)-1)* n )), "")

Ŝanĝi kolumnon al 2D gamo:

IFERARO(IF( KOLUNO(A1)> n , "", INDEX( kolumna_gamo , KOLUNO(A1)+(VICO(A1)-1)* n )) , "")

Kie n estas la maksimuma nombro da valoroj por vico.

En nia ekzempla datumaro, ni uzas la sekvan formulon por konverti unu-vican gamon (D4). :J4) en tri-kolumnan gamon. La formulo alteriĝas en ĉelon D8, kaj tiam estas kopiita tra 3 kolumnoj kaj 3 vicoj.

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

Por transformi 1-kolumnan gamon (B4:B20) en 5-kolumnan gamon, enigu la suban formulon en D14 kaj trenu ĝin tra 5 kolumnoj kaj 4 vicoj.

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

En Excel 365, la samaj rezultoj povas esti atingitaj per la ekvivalentaj WRAPCOLS-formuloj:

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

kaj

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

Kiel funkcias ĉi tiuj formuloj

Esence, ĉi tiuj formuloj funkcias kiel en la antaŭa ekzemplo. La diferenco estas en kiel vi determinas la koordinatojn row_num kaj col_num por la INDEX-funkcio:

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

Por ricevi la kolumnumeron por la supra maldekstra ĉelo en la celintervalo (D8), vi uzas ĉi tionesprimo:

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

kiu ŝanĝiĝas al:

1+(1-1)*3

kaj donas 1.

Kiel rezulto, la suba formulo redonas la valoron de la unua kolumno de la specifita tabelo, kiu estas "Pomoj":

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

Ĝis nun, la rezulto estas la sama kiel en la antaŭa ekzemplo. Sed ni vidu kio okazas en aliaj ĉeloj...

En ĉelo D9, la relativaj ĉelaj referencoj ŝanĝiĝas jene:

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

Do, la formulo transformiĝas en:

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

fariĝas:

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

kaj liveras la valoron de la 4-a kolumno de la specifita tabelo, kiu estas "Ĉerizoj" en G4.

La IF-funkcio kontrolas la kolumnnumeron kaj se ĝi estas pli granda ol la nombro da kolumnoj, kiujn vi specifis, liveras malplenan ĉenon (""), alie la rezulto de la INDEX-funkcio:

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

Kiel fina tuŝo, IFERROR malhelpas #REF! eraroj de aperado en "krom" ĉeloj se vi kopias la formulon al pli da ĉeloj ol efektive bezonata.

WRAPCOLS aŭ WRAPROWS funkcio ne funkcias

Se la "wrap" funkcioj ne estas disponeblaj. en via Excel aŭ rezultigas eraron, plej verŝajne ĝi estas unu el subaj kialoj.

#NAME? eraro

En Excel 365, ĉu #NOMO? eraro povas okazi ĉar vi misliterumis la nomon de la funkcio. En aliaj versioj, ĝi indikas, ke la funkcioj ne estas subtenataj. Kiel solvo, vi povas uzi alternativon WRAPCOLS aŭ alternativon WRAPROWS.

#VALUE! eraro

#VALUE-eraro okazas se

Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.