Edukien taula
Balioen zutabe edo errenkada bat bi dimentsioko matrize bihurtzeko modurik azkarrena WRAPCOLS edo WRAPROWS funtzioa erabiltzea da.
Excel-en lehen egunetatik, izan da. oso ona zenbakiak kalkulatzen eta aztertzen. Baina array manipulatzea erronka bat izan da tradizionalki. Array dinamikoen sarrerak asko erraztu zuen array-formularen erabilera. Eta orain, Microsoft-ek array-funtzio dinamiko berrien multzoa kaleratzen du, arrayak manipulatzeko eta birmoldatzeko. Tutorial honek horrelako bi funtzio erabiltzen irakatsiko dizu, WRAPCOLS eta WRAPROWS, zutabe edo errenkada bat 2D array batean denbora gutxian eraldatzeko.
Excel WRAPCOLS funtzioa
Excel-eko WRAPCOLS funtzioak balioen errenkada edo zutabe bat bi dimentsioko matrize batean bihurtzen du errenkada bakoitzeko zehaztutako balio kopuruan oinarrituta.
Sintaxiak argumentu hauek ditu:
WRAPCOLS(bektore, wrap_count, [pad_with])Non:
- vector (beharrezkoa) - iturburuko dimentsio bakarreko matrizea edo barrutia.
- wrap_count (beharrezkoa) - zutabe bakoitzeko gehienezko balio kopurua.
- pad_with (aukerakoa) - azken zutabearekin bete beharreko balioa betetzeko elementu nahikorik ez badago. Salbatuz gero, falta diren balioak #N/A-rekin beteko dira (lehenetsia).
Adibidez, B5:B24 barrutia zutabe bakoitzeko 5 balio dituen 2 dimentsioko matrize batera aldatzeko, formula hau da:
=WRAPROWS(B5:B24, 5)
Sartzen duzu bektorea argumentua ez da dimentsio bakarreko matrizea.
#NUM! error
#NUM errore bat gertatzen da wrap_count balioa 0 edo zenbaki negatiboa bada.
#SPILL! error
Gehienetan, #SPILL errore batek adierazten du ez dagoela nahikoa gelaxka huts emaitzak emaitzak isurtzeko. Garbitu ondoko zelulak, eta desagertu egingo da. Erroreak jarraitzen badu, begiratu zer esan nahi duen #SPILL Excel-en eta nola konpondu.
Horrela erabili WRAPCOLS eta WRAPROWS funtzioak dimentsio bakarreko barruti bat Excel-en bi dimentsioko array bihurtzeko. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!
Landu koadernoa deskargatzeko
WRAPCOLS eta WRAPROWS funtzioak - adibideak (.xlsx fitxategia)
formula edozein gelaxka bakarrean eta automatikoki isurtzen da behar adina gelaxkatan. WRAPCOLS irteeran, balioak bertikalki antolatzen dira, goitik behera, wrap_countbalioan oinarrituta. Zenbaketara iritsi ondoren, zutabe berri bat hasten da.
Excel WRAPROWS funtzioa
Excel-eko WRAPROWS funtzioak balioen errenkada edo zutabe bat bi dimentsioko matrize batean bihurtzen du zuk zehazten duzun errenkada bakoitzeko balio kopuruaren arabera.
Sintaxia honako hau da:
WRAPROWS(bektore, wrap_count, [pad_with])Non:
- vector (beharrezkoa) - dimentsio bakarreko iturria array edo barrutia.
- wrap_count (beharrezkoa) - errenkada bakoitzeko gehienezko balio-kopurua.
- pad_with (aukerakoa) - bete beharreko balioa azken errenkadarekin hura betetzeko elementu nahikorik ez badago. Lehenetsia #N/A da.
Adibidez, B5:B24 barrutia errenkada bakoitzean 5 balio dituen 2D array batean eraldatzeko, formula hau da:
=WRAPROWS(B5:B24, 5)
Formula isurketa barrutiaren goiko ezkerreko gelaxkan sartzen duzu eta gainerako gelaxka guztiak automatikoki betetzen ditu. WRAPROWS funtzioak horizontalean antolatzen ditu balioak, ezkerretik eskuinera, wrap_count balioan oinarrituta. Zenbaketara iritsi ondoren, errenkada berri bat hasten da.
WRAPCOLS eta WRAPROWS erabilgarritasuna
Bi funtzioak Microsoft 365 (Windows eta Mac) Excel-en eta Weberako Excel-en soilik daude eskuragarri.
Lehenago.bertsioetan, ohiko formula konplexuagoak erabil ditzakezu zutabetik array eta errenkadatik array eraldaketak egiteko. Aurrerago tutorial honetan, irtenbide alternatiboak zehatz-mehatz eztabaidatuko ditugu.
Aholkua. Alderantzizko eragiketa bat egiteko, hau da, 2D array bat zutabe edo errenkada bakar batera aldatzeko, erabili TOCOL edo TOROW funtzioa, hurrenez hurren.
Nola bihurtu zutabea / errenkada barrutira Excel-en - adibideak
Oinarrizko erabilera ulertzen duzunean, ikus ditzagun kasu zehatzago batzuk.
Ezarri zutabe edo errenkada bakoitzeko gehienezko balio kopurua
ren arabera. zure jatorrizko datuen egitura, zutabeetan (WRAPCOLS) edo errenkadatan (WRAPCOLS) birantolatzeko egokia irudituko zaizu. Erabiltzen duzun funtzioa edozein dela ere, wrap_count argumentua da zutabe/errenkada bakoitzean gehienezko balio kopurua zehazten duena.
Adibidez, B4:B23 barrutia 2D array batean bihurtzeko, zutabe bakoitzak gehienez 10 balio izan ditzan, erabili formula hau:
=WRAPCOLS(B4:B23, 10)
Barruti bera errenkadaka berrantolatzeko, errenkada bakoitzak gehienez 4 balio izan ditzan, formula hau da. :
=WRAPROWS(B4:B23, 4)
Beheko irudiak hau nolakoa den erakusten du:
Pad falta diren balioak ondoriozko matrizean
Betetzeko balio nahikorik ez badago. Sortutako barrutiaren zutabe/errenkada guztiek, WRAPROWS eta WRAPCOLS-ek #N/A akatsak itzuliko dituzte 2D matrizearen egitura mantentzeko.
Lehenetsia aldatzekoportaera, aukerako pad_with argumenturako balio pertsonalizatu bat eman dezakezu.
Adibidez, B4:B21 barrutia 2D-ko matrize batean eraldatzeko gehienez 5 balio dituen zabalera, eta bete azkena. errenkada marratxoekin ez badago datu nahikorik betetzeko, erabili formula hau:
=WRAPROWS(B4:B21, 5, "-")
Falta diren balioak zero-luzerako kateekin ordezkatzeko (hutsuneak), formula hau da:
=WRAPROWS(B4:B21, 5, "")
Konparatu emaitzak portaera lehenetsiarekin (D5-ko formula), non pad_with baztertzen den:
Bateatu hainbat errenkada 2D barrutian
Errenkada bereizi batzuk 2D array bakar batean konbinatzeko, lehenik eta behin errenkadak horizontalean pilatzen dituzu HSTACK funtzioa erabiliz, eta, ondoren, balioak WRAPROWS edo WRAPCOLS erabiliz bilduko dituzu.
Adibidez, balioak bateratzeko. 3 errenkada (B5:J5, B7:G7 eta B9:F9) eta bildu zutabeetan, bakoitza 10 balio dituena, hau da formula:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
Hainbat errenkadatako balioak bateratzeko 2D barruti non errenkada bakoitzak 5 balio dituen, formula hau hartzen du:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
C konbinatu hainbat zutabe 2D array-n
Hainbat zutabe 2D barruti batean batzeko, lehenik eta behin pilatu bertikalki VSTACK funtzioa erabiliz, eta, ondoren, bildu balioak errenkadetan (WRAPROWS) edo zutabeetan (WRAPCOLS).
Adibidez, 3 zutabeetako balioak (B5:J5, B7:G7 eta B9:F9) 2D barruti batean konbinatzeko, non zutabe bakoitzak 10 balio dituen, formula hau da:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
Konbinatzekozutabe berdinak 2D barruti batean, non errenkada bakoitzak 5 balio dituen, erabili formula hau:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
Itzuli eta ordenatu matrizea
Sorburu-barrutiak balioak dituen egoeran. Ausazko ordena irteera ordenatu nahi duzun bitartean, jarraitu modu honetan:
- Ordenatu hasierako matrizea nahi duzun moduan SORT funtzioa erabiliz.
- Eman ordenatutako matrizea WRAPCOLS-i edo WRAPROWS.
Adibidez, B4:B23 barrutia errenkadetan biltzeko, 4 balio bakoitzean, eta ondoriozko barrutia Atik Zra ordenatzeko, eraiki honelako formula bat:
=WRAPROWS(SORT(B4:B23), 4)
Barruti bera zutabeetan biltzeko, bakoitzean 10 balio, eta irteera alfabetikoki ordenatzeko, hau da formula:
=WRAPCOLS(SORT(B4:B23), 10)
Emaitzak honela ikusten dira. :
Aholkua. Sortutako matrizeko balioak beheranzko ordenan antolatzeko, ezarri SORT funtzioaren hirugarren argumentua ( sort_order ) -1.
WRAPCOLS alternatiba Excel 365erako - 2010
WRAPCOLS funtzioa onartzen ez den Excel bertsio zaharretan, zure formula propioa eraiki dezakezu dimentsio bakarreko matrize bateko balioak zutabeetan biltzeko. Hau 5 funtzio ezberdin erabiliz egin daiteke batera.
WRAPCOLS alternatiba errenkada bat 2D barrutian bihurtzeko:
IFERROR(IF(ROW(A1)> n , "" , INDEX( errenkada_barrutia , , ERRENKADA(A1) + (ZUTABE(A1)-1)* n )), "")WRAPCOLS alternatiba zutabe bat 2D bihurtzeko barrutia:
IFERROR(IF(ROW(A1)> n ,"", AURKIBIDEA( zutabe_barrutia , ERRENKADA (A1) + (ZUTABE (A1)-1)* n )), "")Non n zutabe bakoitzeko balio-kopuru maximoa da.
Beheko irudian, honako formula hau erabiltzen dugu errenkada bateko barrutia (D4:J4) hiru errenkadako array bihurtzeko.
=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")
Eta formula honek zutabe bateko barruti bat (B4:B20) bost errenkadako array batean aldatzen du:
=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")
Goiko soluzioek WRAPCOLS formula analogoak imitatzen dituzte. eta emaitza berdinak atera:
=WRAPCOLS(D4:J4, 3, "")
eta
=WRAPCOLS(B4:B20, 5, "")
Kontuan izan WRAPCOLS matrize dinamikoaren funtzioak ez bezala, ohiko formulak jarraitzen dutela. formula bat-zelula bakarreko ikuspegia. Beraz, gure lehen formula D8-n sartzen da eta 3 errenkada behera eta 3 zutabe eskuinera kopiatzen dira. Bigarren formula D14-n sartzen da eta 5 errenkada behera eta 4 zutabe eskuinera kopiatzen dira.
Formula hauek nola funtzionatzen duten
Bi formulen muinean, INDEX funtzioa erabiltzen dugu, errenkada eta zutabe zenbaki batean oinarrituta emandako matrizetik balio bat itzultzen duena:
INDEX(matriz, errenkada_zenbakia, [zutabe_zenbakia])Errenkada bakarreko matrizearekin ari garenez, errenkada_zenbakia argumentua ezabatu dezakegu, beraz, lehenetsia 1 da. Trikimailua izatea da. col_num automatikoki kalkulatzen da formula kopiatzen den gelaxka bakoitzeko. Eta hona hemen nola egiten dugun hau:
ROW(A1)+(COLUMN(A1)-1)*3)
ERRENKADA funtzioak A1 erreferentziaren errenkada-zenbakia itzultzen du, hau da, 1.
ZUTABE-funtzioak zutabe-zenbakia itzultzen du.A1 erreferentzia, hau ere 1. 1 kentzean zero bihurtzen da. Eta 0z 3 biderkatuz, 0 ematen da.
Ondoren, ERRENKADAK itzultzen den 1 batu eta ZUBEA itzultzen den 0 batu eta ondorioz 1 lortzen da.
Horrela, goiko aldean INDEX formula -helmuga barrutiaren ezkerreko gelaxkak (D8) eraldaketa hau jasaten du:
INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))
INDEX($D$4:$J$4, ,1)
-ra aldatzen da eta 1. zutabeko balioa itzultzen du Zehaztutako arrayaren, hau da, "Sagarrak" D4n.
Formula D9 gelaxkan kopiatzen denean, gelaxka-erreferentzia erlatiboak errenkaden eta zutabeen posizio erlatiboan oinarrituta aldatzen dira, barrutiaren erreferentzia absolutua aldatzen ez den bitartean:
INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))
hau bihurtzen da:
INDEX($D$4:$J$4,, 2+(1-1)*3))
:
INDEX($D$4:$J$4,, 2))
bihurtzen da eta balioa itzultzen du. Zehaztutako arrayaren 2. zutabea, hau da, "Aprikotak" E4-n.
IF funtzioak errenkada-zenbakia egiaztatzen du eta zuk zehaztutako errenkada-kopurua baino handiagoa bada (3 gure kasuan) kate huts bat itzultzen du ( ""), bestela INDEX funtzioaren emaitza:
IF(ROW(A1)>3, "", INDEX(…))
Azkenik, IFERROR funtzioak #REF! Formula benetan behar baino gelaxka gehiagotan kopiatzen denean gertatzen den errorea.
Zutabe bat 2D barrutian bihurtzen duen bigarren formulak logika berdinarekin funtzionatzen du. Desberdintasuna da ERRENKADA + ZUTABE konbinazioa erabiltzen duzula INDEXeko errenkada_zenbakia argumentua asmatzeko. col_num parametroa ez da beharrezkoa kasu honetan, besterik ez baitagozutabe bat iturburu-matrizean.
WRAPROWS alternatiba Excel 365 - 2010
Dimentsio bakarreko matrize bateko balioak Excel 2019 eta lehenagoko errenkadetan biltzeko, erabil dezakezu WRAPROWS funtzioaren alternatiba hauek.
Bihurtu errenkada bat 2D barrutian:
IFERROR(IF(COLUMN(A1)> n , "", INDEX( ) row_range , , COLUMN(A1)+(ROW(A1)-1)* n )), "")Aldatu zutabe bat 2D barrutira:
IFERROR(IF( ZUTABE(A1)> n , "", AURKIBIDEA( zutabe_barrutia , ZUTABE(A1)+(ERRENKADA(A1)-1)* n )) , "")Non n errenkada bakoitzeko balio-kopuru maximoa den.
Gure lagin-datu multzoan, formula hau erabiltzen dugu errenkada bateko barruti bat bihurtzeko (D4 :J4) hiru zutabe barruti batean. Formula D8 gelaxkan kokatzen da eta, ondoren, 3 zutabe eta 3 errenkadatan kopiatzen da.
=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")
Zutabe bakarreko barruti bat (B4:B20) 5 zutabeko barruti batean birmoldatzeko, sartu beheko formula D14-n eta arrastatu 5 zutabe eta 4 errenkadetan zehar.
=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")
Excel 365-en, emaitza berdinak lor daitezke WRAPCOLS formula baliokideekin:
=WRAPROWS(D4:J4, 3, "")
eta
=WRAPROWS(B4:B20, 5, "")
Nola funtzionatzen duten formula hauek
Funtsean, formula hauek aurreko adibidean bezala funtzionatzen dute. Desberdintasuna INDEX funtziorako row_num eta col_num koordenatuak zehazten dituzunean dago:
INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))
Goiko zutabe-zenbakia lortzeko. helmuga barrutian ezkerreko gelaxka (D8), hau erabiltzen duzuadierazpena:
COLUMN(A1)+(ROW(A1)-1)*3)
hau aldatzen da:
1+(1-1)*3
eta 1 ematen du.
Ondorioz, beheko formulak zehaztutako matrizearen lehen zutabeko balioa itzultzen du, hau da, "Sagarrak":
INDEX($D$4:$J$4,, 1)
Orain arte, emaitza aurrekoaren berdina da. adibidea. Baina ikus dezagun zer gertatzen den beste gelaxketan...
D9 gelaxkan, gelaxka-erreferentzia erlatiboak honela aldatzen dira:
INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))
Beraz, formula honela bihurtzen da:
INDEX($D$4:$J$4,, 1+(2-1)*3))
:
INDEX($D$4:$J$4,, 4))
bihurtzen da eta zehaztutako matrizeko 4. zutabeko balioa itzultzen du, hau da, "Gereziak" G4-n.
IF funtzioak zutabe-zenbakia egiaztatzen du eta zuk zehaztutako zutabe kopurua baino handiagoa bada, kate huts bat ("") itzultzen du, bestela INDEX funtzioaren emaitza:
IF(COLUMN(A1)>3, "", INDEX(…))
Azken ukitu gisa, IFERROR-ek #REF! "gehiago" gelaxketan agertzeko erroreak formula benetan behar baino gelaxka gehiagotan kopiatzen baduzu.
WRAPCOLS edo WRAPROWS funtzioa ez dabil
"Wrap" funtzioak erabilgarri ez badira. Excel-en edo erroreren bat eragin, litekeena da beheko arrazoietako bat izatea.
#IZENA? error
Excel 365-en, #IZENA? errorea gerta daiteke funtzioaren izena gaizki idatzi duzulako. Beste bertsio batzuetan, funtzioak onartzen ez direla adierazten du. Konponbide gisa, WRAPCOLS alternatiba edo WRAPROWS alternatiba erabil dezakezu.
#VALUE! error
#VALUE errorea gertatzen bada