Beskrivning
Använd den här funktionen för att konvertera ett vertikalt cellintervall till ett horisontellt, eller vice versa.
Detta är användbart för att ändra orienteringen av data i kalkylbladet, konvertera rader till kolumner eller kolumner till rader.
Syntax
TRANSPOSE(matris)
Ingångar
Denna funktion godkänner följande argument:
| Namn | Krävs | Beskrivning | Giltig inmatning |
|---|---|---|---|
| uppställning | Ja | Det intervall eller den matris av celler som ska transponeras. | En cell, ett cellintervall eller en formel som resulterar i något av dessa. Dessa kan innehålla siffror, text eller båda. |
Exempel
Provdata
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Produkt | Pris | Kvantitet | Försäljning |
| 2 | Apple | 1.50 | 100 | $150.00 |
| 3 | Orange | 2.00 | 95 | $190.00 |
| 4 | Kumquat | 2.45 | 45 | $110.00 |
| 5 |
Prov på formler
| Användningsfall | Formel | Förklaring och resultat | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Flyttar alla celler i matrisen A1:C3. | =TRANSPOSE(A1:C3) |
För denna datauppsättning, om formeln finns i cell E1, skulle denna formel ge följande resultat:
|
||||||||||||
| Konvertera en lång lista med produktkategorier till en horisontell rubrikrad för en rapport, utan dubbletter och med korrekt sortering. | =TRANSPOSE(SORT(UNIQUE(A2:A5))) |
Den här formeln använder först UNIQUE för att ta den vertikala listan med objekt (som eventuellt innehåller dubbletter) och ta bort dubbletterna, SORT sorterar resultaten alfabetiskt eller numeriskt och TRANSPOSE visar dem horisontellt. För denna datamängd skulle denna formel ge följande resultat: ("0" beror på att rad 5 är tom.)
|
||||||||||||
| Visa produktnamn horisontellt om produktens totala försäljning (antal × pris) överstiger 120 USD. | =TRANSPOSE(FILTER(A2:A4, SUMIF(C2:C4,C2:C4,D2:D4)120)) |
Den här formeln använder först SUMIF för att beräkna försäljningstotalerna, sedan FILTER för att identifiera dem vars värde är större än 100 USD, TRANSPOSE visar sedan resultaten horisontellt. För denna datauppsättning skulle denna formel ge följande resultat:
|
||||||||||||
| Skapa en sammanfattningsvy som tar specifika fält från en datauppsättning och presenterar dem i en annan riktning för rapporteringsändamål. | =TRANSPOSE(INDEX(A2:C10, SEKVENS(3), {1,3})) |
Denna formel använder först INDEX för att hämta specifika värden från intervallet
|
Anteckningar
- Som med alla matrisfunktioner fyller TRANSPOSE dynamiskt på resultaten i intilliggande celler, med början i den cell som innehåller TRANSPOSE-funktionen.
VIKTIGT: Målområdet får inte överlappa källområdet. - TRANSPOSE
- Utgår från den cell där formeln finns och sprider automatiskt resultatet till intilliggande celler och skapar nya rader eller kolumner om det behövs.
- Följande behöver valideras:
- Länkarna överförs till de nya cellerna.
- Formatering - inklusive Value Format-stilformatering - överförs till de nya cellerna.
- Kommentarer överförs inte.
Tips
- Om du har rubrikrader börjar du med arrayvärdena en rad ner (i datauppsättningen ovan börjar du t.ex. med A2 i stället för A1).
- Du kan inkludera rubriker när du transponerar data genom att lägga till VSTACK eller HSTACK.
- Om det refererade området innehåller tomma celler kan TRANSPOSE returnera
0i stället för ett tomt fält (se exemplet ovan). AnvändIF(A1="", "", A1)i formeln för att hantera blanksteg. - Använd INDEX med TRANSPOSE för att extrahera och transponera specifika kolumner (se exemplet ovan).
Relaterade funktioner
Här är de andra matrisformelfunktionerna som stöds i Workivas kalkylblad.