Sisällysluettelo
Nopea tapa muuttaa solualue yhdeksi riviksi solujen sarjan avulla. TOROW toiminto.
Microsoft Excel 365 on ottanut käyttöön useita uusia funktioita, joiden avulla voit tehdä erilaisia käsittelyjä matriisien kanssa. TOROW:n avulla voit tehdä alueesta riviin -muuntoja hetkessä. Tässä on luettelo tehtävistä, jotka tämä uusi funktio voi suorittaa:
Excelin TOROW-toiminto
Excelin TOROW-funktiota käytetään muuttamaan joukko tai solualue yhdeksi riviksi.
Funktio ottaa vastaan yhteensä kolme argumenttia, joista vain ensimmäistä tarvitaan.
TOROW(array, [ignore], [scan_by_column])Missä:
Array (pakollinen) - joukko tai alue, joka muunnetaan yhdeksi riviksi.
Älä välitä (valinnainen) - määrittää, jätetäänkö tyhjät kohdat ja/tai virheet huomiotta. Voi ottaa jonkin seuraavista arvoista:
- 0 tai jätetään pois (oletus) - kaikki arvot säilytetään.
- 1 - jätä tyhjät kohdat huomiotta
- 2 - jätä virheet huomiotta
- 3 - jätä tyhjät kohdat ja virheet huomiotta
Scan_by_column (valinnainen) - määrittelee, miten joukko skannataan:
- FALSE tai jätetään pois (oletusarvo) - skannaa matriisin vaakasuunnassa riveittäin.
- TRUE - skannaa array pystysuunnassa sarakkeittain.
Vinkkejä:
- Voit muuttaa joukon yhdeksi sarakkeeksi käyttämällä TOCOL-funktiota.
- Jos haluat tehdä käänteisen rivistä ruuduksi-muuntamisen, käytä joko WRAPCOLS-funktiota sarakkeiksi käärimiseen tai WRAPROWS-funktiota riveiksi käärimiseen.
- Jos haluat muuttaa rivit sarakkeiksi, käytä TRANSPOSE-toimintoa.
TOROW saatavuus
TOROW on uusi toiminto, jota tuetaan vain Excel for Microsoft 365:ssä (Windows ja Mac) ja Excel for the webissä.
TOROW:n peruskaava Excelissä
Jos haluat tehdä yksinkertaisen vaihteluväli-rivi-muunnoksen, käytä TOROW-kaavaa sen perusmuodossa. Tätä varten sinun on määriteltävä vain ensimmäinen argumentti ( array ).
Jos esimerkiksi haluat muuttaa kaksiulotteisen, 3 sarakkeesta ja 3 rivistä koostuvan matriisin yhdeksi riviksi, kaava on seuraava:
=TOROW(A3:C6)
Syötät kaavan vain yhteen soluun (tässä tapauksessa A10), ja se leviää automaattisesti niin moneen soluun, että kaikki tulokset mahtuvat siihen. Excelin termein tulostusaluetta, jota ympäröi ohut sininen kehys, kutsutaan vuotoalueeksi.
Miten tämä kaava toimii:
Ensin syötetty solualue muunnetaan kaksiulotteiseksi matriisiksi. Huomaa, että sarakkeet on erotettu pilkulla ja rivit puolipisteellä:
{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}
Tämän jälkeen TOROW-funktio lukee matriisin vasemmalta oikealle ja muuntaa sen yksiulotteiseksi vaakasuoraksi matriisiksi:
{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}
Tulos siirtyy soluun A10, josta se valuu oikeanpuoleiseen naapurisoluun.
Muunna alue riviksi jättämällä tyhjät kohdat ja virheet huomiotta.
Oletusarvoisesti TOROW-funktio säilyttää kaikki arvot lähdemassasta, mukaan lukien tyhjät solut ja virheet. Tulosteessa tyhjien solujen tilalla näkyy nolla-arvoja, mikä voi olla melko hämmentävää.
Osoitteeseen jättää tyhjät kohdat pois , aseta jätä huomiotta argumentin arvoksi 1:
=TOROW(A3:C5, 1)
Osoitteeseen jättää virheet huomiotta , aseta jätä huomiotta argumentti 2:een:
=TOROW(A3:C5, 2)
Ohittaa molemmat, aihiot ja virheet , käytetään 3:aa jätä huomiotta argumentti:
=TOROW(A3:C5, 3)
Alla olevassa kuvassa näkyvät kaikki kolme skenaariota toiminnassa:
Lukeminen vaaka- tai pystysuunnassa
Oletusarvon mukaan TOROW-funktio käsittelee matriisia vaakasuoraan vasemmalta oikealle. Jos haluat skannata arvot sarakkeittain ylhäältä alas, asetat kolmannen argumentin ( scan_by_column ) arvoksi TRUE tai 1.
Esimerkiksi, jos haluat lukea lähdealueen riveittäin, kaava E3:ssa on:
=TOROW(A3:C5)
Jos haluat skannata alueen sarakkeittain, kaava E8:ssa on:
=TOROW(A3:C5, ,TRUE)
Kummassakin tapauksessa tuloksena olevat taulukot ovat samankokoisia, mutta arvot on järjestetty eri järjestykseen.
Yhdistä useita alueita yhdeksi riviksi
Jos haluat yhdistää useita vierekkäisiä alueita yhdeksi riviksi, pinoat ne ensin vaakasuoraan tai pystysuoraan yhdeksi matriisiksi HSTACK- tai VSTACK-funktion avulla ja muunnat sitten yhdistetyn matriisin riviksi TOROW-funktion avulla.
Liiketoimintalogiikasta riippuen jokin seuraavista kaavoista suorittaa tehtävän.
Pinoaa taulukot vaakasuoraan ja muunna riveittäin.
Kun ensimmäinen alue on A3:C4 ja toinen alue on A8:C9, alla oleva kaava pinoaa nämä kaksi aluetta vaakasuoraan yhdeksi matriisiksi ja muuttaa sen sitten riviksi, jossa arvot luetaan vasemmalta oikealle. Tulos on E3 alla olevassa kuvassa.
=TOROW(HSTACK(A3:C4, A8:C9))
Pinoaminen vaakasuoraan ja muuntaminen sarakkeittain
Jos haluat lukea pinotun matriisin pystysuoraan ylhäältä alaspäin, aseta TOROW:n kolmanneksi argumentiksi TRUE, kuten alla olevassa kuvassa E5 näkyy:
=TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)
Pinoaa taulukot pystysuoraan ja muunna riveittäin.
Jos haluat liittää jokaisen seuraavan sarjan edellisen sarjan alareunaan ja lukea yhdistetyn sarjan vaakasuunnassa, E12:n kaava on seuraava:
=TOROW(VSTACK(A3:C4, A8:C9))
Pinoaa taulukot pystysuoraan ja muunna sarakkeittain
Jos haluat lisätä jokaisen seuraavan sarjan edellisen sarjan alareunaan ja skannata yhdistetyn sarjan pystysuoraan, kaava on seuraava:
=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)
Jotta ymmärtäisit logiikan paremmin, huomaa arvojen erilainen järjestys tuloksena olevissa taulukoissa:
Yksilöllisten arvojen poimiminen alueelta riville
Microsoft Excel 2016:sta alkaen meillä on hieno funktio nimeltä UNIQUE, jolla voidaan helposti saada yksilöllisiä arvoja yhdestä sarakkeesta tai rivistä. Se ei kuitenkaan pysty käsittelemään monisarakkeisia matriiseja. Voit poistaa tämän rajoituksen käyttämällä UNIQUE- ja TOROW-funktioita yhdessä.
Jos esimerkiksi haluat poimia kaikki eri (erilliset) arvot alueelta A2:C7 ja sijoittaa tulokset yhdelle riville, kaava on seuraava:
=UNIQUE(TOROW(A2:C7), TRUE)
Koska TOROW palauttaa yksiulotteisen vaakasuoran matriisin, asetamme 2. ( by_col ) argumentin UNIQUE arvoksi TRUE, jotta sarakkeita voidaan verrata toisiinsa.
Jos haluat, että tulokset järjestetään aakkosjärjestykseen, kiedo yllä oleva kaava SORT-funktioon:
=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )
Kuten UNIQUE:n kohdalla, myös by_col SORT-argumentin arvoksi asetetaan myös TRUE.
TOROW vaihtoehto Excel 365 - 2010
Excel-versioissa, joissa TOROW-toiminto ei ole käytettävissä, voit muuntaa alueen yhdeksi riviksi käyttämällä muutaman eri toiminnon yhdistelmää, jotka toimivat vanhemmissa versioissa. Nämä ratkaisut ovat monimutkaisempia, mutta ne toimivat.
Jos alue halutaan skannata vaakasuunnassa, yleinen kaava on:
INDEX( alue , QUOTIENTTI(SARAKE (A1)-1, SARAKKEET( alue ))+1, MOD(SARAKE(A1)-1, SARAKKEET( alue ))+1)Jos haluat skannata alueen pystysuunnassa, yleinen kaava on:
INDEX( alue , MOD(SARAKE(A1)-1, SARAKKEET( alue ))+1, QUOTIENTTI(SARAKE (A1)-1, SARAKKEET( alue ))+1)Esimerkkitietokantamme A3:C5 osalta kaavat ovat seuraavanlaiset:
Alueen skannaaminen riveittäin:
=INDEX($A$3:$C$5, QUOTIENTTI(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1, MOD(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1)
Tämä kaava on vaihtoehto TOROW-funktiolle, kun 3. argumentti on FALSE tai jätetään pois:
=TOROW(A3:C5)
Alueen skannaaminen sarakkeittain:
=INDEX($A$3:$C$5, MOD(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1, QUOTIENTTI(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1)
Tämä kaava vastaa TOROW-funktiota, kun 3. argumentti on TRUE:
=TOROW(A3:C5, ,TRUE)
Huomaa, että toisin kuin dynaaminen TOROW-toiminto, nämä perinteiset kaavat on syötettävä jokaiseen soluun, jossa haluat tulosten näkyvän. Tapauksessamme ensimmäinen kaava (riveittäin) menee E3:een ja kopioidaan M3:n kautta. Toinen kaava (sarakkeittain) päätyy E8:aan ja vedetään M8:n kautta.
Jotta kaavat kopioituvat oikein, lukitsemme alueen käyttämällä absoluuttisia viittauksia ($A$3:$C$5). Myös nimetty alue käy.
Jos olet kopioinut kaavat useampaan soluun kuin on tarpeen, "ylimääräisiin" soluihin ilmestyy #REF! -virhe. Voit korjata tämän kietomalla kaavan IFERROR-funktioon seuraavasti:
=IFERROR(INDEX($A$3:$C$5, QUOTIENT(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1, MOD(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1), "")
Miten nämä kaavat toimivat
Alla on yksityiskohtainen erittely ensimmäisestä kaavasta, joka järjestää arvot riveittäin:
=INDEX($A$3:$C$5, QUOTIENTTI(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1, MOD(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1)
Kaavan ytimessä käytämme INDEX-funktiota saadaksemme solun arvon sen suhteellisen sijainnin perusteella alueella.
The rivin numero lasketaan tällä kaavalla:
QUOTIENTTI(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1
Ideana on tuottaa toistuva numerosarja, kuten 1,1,1,1,2,2,2,2,3,3,3, ..., jossa jokainen numero toistuu niin monta kertaa kuin lähdealueella on sarakkeita. Ja näin teemme tämän:
QUOTIENT palauttaa jaon kokonaislukuosan.
Osoitteessa osoittaja , käytämme COLUMN(A1)-1, joka palauttaa sarjanumeron 0:sta ensimmäiseen soluun, johon kaava on syötetty. n (alueen arvojen kokonaismäärä miinus 1) viimeiseen soluun, johon kaava on syötetty. Tässä esimerkissä E2:ssa on 0 ja M3:ssa 8.
Osoitteessa nimittäjä , käytämme COLUMNS($A$3:$C$5)). Tämä palauttaa vakioluvun, joka on yhtä suuri kuin alueen sarakkeiden määrä (tässä tapauksessa 3).
Tämän seurauksena QUOTIENT-funktio palauttaa 0 kolmessa ensimmäisessä solussa (E3:G3), johon lisätään 1, joten rivin numero on 1.
Seuraavien kolmen solun (H3:J3) kohdalla QUOTIENT palauttaa arvon 1, ja +1 antaa rivinumeron 2. Ja niin edelleen.
Laskettaessa sarakkeen numero , muodostat sopivan numerosarjan MOD-toiminnon avulla:
MOD(SARAKE(A1)-1, SARAKKEET($A$3:$C$5))+1
Koska alueessamme on kolme saraketta, järjestyksen on näytettävä seuraavalta: 1,2,3,1,2,3,....
MOD-funktio palauttaa jäännösosan jakamisen jälkeen.
E3:ssa MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+
tulee
MOD(1-1, 3)+1)
ja palauttaa arvon 1.
F3:ssa MOD(COLUMN(B1)-1, COLUMNS($A$3:$C$5))+
tulee
MOD(2-1, 3)+1)
ja palauttaa 2.
Kun rivin ja sarakkeen numerot on määritetty, INDEX hakee helposti rivin ja sarakkeen leikkauspisteessä olevan arvon.
Kohdassa E3 INDEX($A$3:$C$5, 1, 1) palauttaa arvon viitatun alueen ensimmäiseltä riviltä ja ensimmäisestä sarakkeesta eli solusta A3.
F3:ssa INDEX($A$3:$C$5, 1, 2) palauttaa arvon ensimmäiseltä riviltä ja toiselta sarakkeelta eli solusta B3.
Ja niin edelleen.
Toinen kaava, jossa alue selataan sarakkeittain, toimii samalla tavalla. Erona on se, että käytämme MOD:ia rivinumeron laskemiseen ja QUOTIENT:ia sarakkeen numeron määrittämiseen.
TOROW-toiminto ei toimi
Jos TOROW-toiminto tuottaa virheen, se johtuu todennäköisesti jostain näistä syistä:
#NAME? virhe
Useimmissa Excel-funktioissa #NAME? -virhe on selvä merkki siitä, että funktion nimi on kirjoitettu väärin. TOROW:n tapauksessa se voi myös tarkoittaa, että funktio ei ole käytettävissä Excelissäsi. Jos Excel-versiosi on muu kuin 365, kokeile käyttää TOROW-vaihtoehtoa.
#NUM virhe
#NUM-virhe osoittaa, että palautettu matriisi ei mahdu riville. Useimmiten tämä tapahtuu, kun viittaat kokonaisiin sarakkeisiin ja/tai riveihin pienemmän alueen sijasta.
#SPILL-virhe
Useimmissa tapauksissa #SPILL-virhe viittaa siihen, että rivillä, johon olet syöttänyt kaavan, ei ole tarpeeksi tyhjiä soluja, joihin tulokset voitaisiin kaataa. Jos viereiset solut ovat silmämääräisesti tyhjiä, varmista, ettei niissä ole välilyöntejä tai muita ei-tulostettavia merkkejä. Lisätietoja on kohdassa Mitä #SPILL-virhe tarkoittaa Excelissä.
Näin voit käyttää TOROW-funktiota Excelissä 2-dimensionaalisen matriisin tai alueen muuntamiseen yhdeksi riviksi. Kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla!
Käytännön työkirja ladattavissa
Excel TOROW-toiminto - kaavaesimerkkejä (.xlsx-tiedosto)