I början av 2023 introducerade Google flera nya funktioner för Kalkylark, inklusive åtta för att arbeta med arrayer. Med dessa funktioner kan du omvandla en array till en rad eller kolumn, skapa en ny array från en rad eller kolumn eller lägga till en aktuell array.
Med mer flexibilitet för att arbeta med matriser och gå längre än den grundläggande ARRAYFORMULA-funktionen, låt oss titta på hur man använder dessa matrisfunktioner med formler i Google Sheets .
Innehållsförteckning
Tips : Vissa av dessa funktioner kan se bekanta ut för dig om du också använder Microsoft Excel.
Förvandla en array: TOROW och TOCOL
Om du har en array i din datauppsättning som du vill omvandla till en enda rad eller kolumn kan du använda funktionerna TOROW och TOCOL.
Syntaxen för varje funktion är densamma, TOROW(array, ignore, scan) och TOCOL(array, ignore, scan) där endast det första argumentet krävs för båda.
- Array : Arrayen du vill transformera, formaterad som "A1:D4."
- Ignorera : Som standard ignoreras inga parametrar (0), men du kan använda 1 för att ignorera tomrum, 2 för att ignorera fel, eller 3 för att ignorera tomrum och fel.
- Scan : Detta argument bestämmer hur värdena i arrayen ska läsas. Som standard skannar funktionen efter rad eller med värdet False, men du kan använda True för att skanna efter kolumn om du föredrar det.
Låt oss gå igenom några exempel med funktionerna TOROW och TOCOL och deras formler.
I det här första exemplet tar vi vår array A1 till C3 och gör om den till en rad med standardargumenten med denna formel:
=TOROW(A1:C3)
Som du kan se är arrayen nu i en rad. Eftersom vi använde standardavsökningsargumentet läser funktionen från vänster till höger (A, D, G), nedåt, sedan från vänster till höger igen (B, E, H) tills den är klar – skannas efter rad.
För att läsa arrayen för kolumn istället för rad kan vi använda True för skanningsargumentet . Vi lämnar ignoreringsargumentet tomt. Här är formeln:
=TOROW(A1:C3,,TRUE)
Nu ser du att funktionen läser arrayen från topp till botten (A, B, C), topp till botten (D, E, F) och topp till botten (G, H, I).
TOCOL-funktionen fungerar på samma sätt men omvandlar arrayen till en kolumn. Med samma intervall, A1 till C3, här är formeln som använder standardargumenten:
=TOCOL(A1:C3)
Återigen, med standardinställningen för skanningsargumentet, läser funktionen från vänster till höger och ger resultatet som sådant.
För att läsa arrayen för kolumn istället för rad, infoga True för skanningsargumentet så här:
=TOCOL(A1:C3,,TRUE)
Nu ser du att funktionen läser arrayen uppifrån och ner istället.
Skapa en ny array från rader eller kolumner: CHOOSEROWS och CHOOSECOLS
Du kanske vill skapa en ny array från en befintlig. Detta låter dig skapa ett nytt cellområde med endast specifika värden från en annan. För detta använder du funktionerna CHOOSEROWS och CHOOSECOLS Google Kalkylark .
Syntaxen för varje funktion är liknande, CHOOSEROWS (array, row_num, row_num_opt) och CHOOSECOLS (array, col_num, col_num_opt), där de två första argumenten krävs för båda.
- Array : Den befintliga arrayen, formaterad som "A1:D4."
- Row_num eller Col_num : Numret på den första raden eller kolumnen som du vill returnera.
- Row_num_opt eller Col_num_opt : Siffrorna för ytterligare rader eller kolumner som du vill returnera. Google föreslår att du använder negativa tal för att returnera rader nerifrån och upp eller kolumner från höger till vänster.
Låt oss titta på några exempel med CHOOSEROWS och CHOOSECOLS och deras formler.
I det här första exemplet kommer vi att använda arrayen A1 till B6. Vi vill returnera värdena i raderna 1, 2 och 6. Här är formeln:
=VÄLJER(A1:B6;1;2;6)
Som du kan se fick vi de tre raderna för att skapa vår nya array.
För ett annat exempel kommer vi att använda samma array. Den här gången vill vi returnera raderna 1, 2 och 6 men med 2 och 6 i omvänd ordning. Du kan använda positiva eller negativa tal för att få samma resultat.
Om du använder negativa tal använder du den här formeln:
=VÄLJER(A1:B6,1,-1,-5)
För att förklara, 1 är den första raden att returnera, -1 är den andra raden att returnera vilket är den första raden som börjar längst ner, och -5 är den femte raden från botten.
Med positiva siffror skulle du använda den här formeln för att få samma resultat:
=VÄLJER(A1:B6;1;6;2)
CHOOSECOLS-funktionen fungerar på liknande sätt, förutom att du använder den när du vill skapa en ny array från kolumner istället för rader.
Med hjälp av matrisen A1 till D6 kan vi returnera kolumner 1 (kolumn A) och 4 (kolumn D) med denna formel:
=VÄLJKOL(A1:D6;1;4)
Nu har vi vår nya array med bara dessa två kolumner.
Som ett annat exempel kommer vi att använda samma array som börjar med kolumn 4. Vi lägger sedan till kolumner 1 och 2 med 2 (kolumn B) först. Du kan använda antingen positiva eller negativa tal:
=VÄLJKOL(A1:D6;4;2;1)
=VÄLJKOL(A1:D6;4;-3;-4)
Som du kan se i skärmdumpen ovan, med formlerna i cellerna snarare än formelfältet, får vi samma resultat med båda alternativen.
Obs ! Eftersom Google föreslår att du använder negativa siffror för att vända placeringen av resultaten, tänk på detta om du inte får de korrekta resultaten med positiva siffror.
Wrap för att skapa en ny array: WRAPROWS och WRAPCOLS
Om du vill skapa en ny array från en befintlig men linda kolumnerna eller raderna med ett visst antal värden i varje, kan du använda funktionerna WRAPROWS och WRAPCOLS.
Syntaxen för varje funktion är densamma, WRAPROWS (intervall, count, pad) och WRAPCOLS (intervall, count, pad), där de två första argumenten krävs för båda.
- Område : Det befintliga cellintervallet du vill använda för en array, formaterad som "A1:D4."
- Antal : Antalet celler för varje rad eller kolumn.
- Pad : Du kan använda detta argument för att placera text eller ett enstaka värde i tomma celler. Detta ersätter #N/A-felet du kommer att få för de tomma cellerna. Inkludera texten eller värdet inom citattecken.
Låt oss gå igenom några exempel med funktionerna WRAPROWS och WRAPCOLS och deras formler.
I det här första exemplet använder vi cellområdet A1 till E1. Vi skapar en ny rad med tre värden på varje rad. Här är formeln:
=WRAPROWS(A1:E1,3)
Som du kan se har vi en ny array med rätt resultat, tre värden på varje rad. Eftersom vi har en tom cell i arrayen, visas #N/A-felet. För nästa exempel kommer vi att använda pad- argumentet för att ersätta felet med texten "Ingen." Här är formeln:
=WRAPROWS(A1:E1,3,”Inga”)
Nu kan vi se ett ord istället för ett Google Sheets-fel.
Funktionen WRAPCOLS gör samma sak genom att skapa en ny array från ett befintligt cellområde, men gör det genom att radbryta kolumner istället för rader.
Här kommer vi att använda samma array, A1 till E3, omslutande kolumner med tre värden i varje kolumn:
=WAPCOLS(A1:E1,3)
Som exemplet WRAPROWS får vi det korrekta resultatet men också ett fel på grund av den tomma cellen. Med den här formeln kan du använda pad- argumentet för att lägga till ordet "Empty":
=WAPCOLS(A1:E1,3,"Tom")
Denna nya array ser mycket bättre ut med ett ord istället för felet.
Kombinera för att skapa en ny array: HSTACK och VSTACK
Två sista funktioner vi ska titta på är för att lägga till arrayer. Med HSTACK och VSTACK kan du lägga till två eller flera cellområden för att bilda en enda array, antingen horisontellt eller vertikalt.
Syntaxen för varje funktion är densamma, HSTACK (område1, område2,...) och VSTACK (område1, område2,...), där endast det första argumentet krävs. Du kommer dock nästan alltid att använda det andra argumentet, som kombinerar ett annat intervall med det första.
- Range1 : Det första cellintervallet du vill använda för arrayen, formaterat som "A1:D4."
- Range2,... : Det andra cellintervallet du vill lägga till i det första för att skapa arrayen. Du kan kombinera fler än två cellområden.
Låt oss titta på några exempel med HSTACK och VSTACK och deras formler.
I det här första exemplet kombinerar vi intervallen A1 till D2 med A3 till D4 med den här formeln:
=HSTACK(A1:D2,A3:D4)
Du kan se våra dataintervall kombinerade för att bilda en enda horisontell array.
För ett exempel på VSTACK-funktionen kombinerar vi tre intervall. Med följande formel använder vi intervallen A2 till C4, A6 till C8 och A10 till C12:
=VSTACK(A2:C4,A6:C8,A10:C12)
Nu har vi en array med alla våra data med hjälp av en formel i en enda cell.
Manipulera matriser med lätthet
Även om du kan använda ARRAYFORMULA i vissa situationer, som med SUM-funktionen eller IF-funktionen, kan dessa ytterligare Google Sheets-matrisformler spara dig tid. De hjälper dig att ordna ditt ark precis som du vill ha det och med en enda matrisformel.
För fler självstudiekurser som denna, men med funktioner som inte ingår i array, titta på hur du använder COUNTIF- eller SUMIF-funktionen i Google Sheets .