Vänd data i Excel - Omvänd ordning av data i kolumn/rad

Ibland kan du behöva vända data i Excel, dvs att vända upp och ned på ordningen för data i en vertikal datamängd och från vänster till höger i en horisontell datamängd.

Om du nu tänker att det måste finnas en inbyggd funktion för att göra detta i Excel, är jag rädd att du skulle bli besviken.

Även om det finns flera sätt att vända data i Excel, finns det ingen inbyggd funktion. Men du kan enkelt göra detta med hjälp av ett enkelt sorteringstrick, formler eller VBA.

I den här självstudien visar jag hur du vänder data i rader, kolumner och tabeller i Excel.

Så låt oss komma igång!

Vänd data med hjälp av SORT och Hjälpkolumn

Ett av de enklaste sätten att vända ordningen på data i Excel skulle vara att använda en hjälparkolumn och sedan använda den hjälpkolumnen för att sortera data.

Vänd data vertikalt (omvänd ordning upp och ner)

Anta att du har en datauppsättning med namn i en kolumn enligt nedan och du vill vända dessa data:

Nedan följer stegen för att vända data vertikalt:

  1. I den intilliggande kolumnen anger du "Helper" som rubriken för kolumnen
  2. I hjälparkolumnen anger du en rad nummer (1,2,3 och så vidare). Du kan använda metoderna som visas här för att göra detta snabbt
  3. Välj hela datamängden inklusive hjälparkolumnen
  4. Klicka på fliken Data
  5. Klicka på ikonen Sortera
  6. I dialogrutan Sortera väljer du "Hjälpare" i rullgardinsmenyn "Sortera efter"
  7. I rullgardinsmenyn Beställ väljer du "Störst till minsta"
  8. Klicka på OK

Stegen ovan skulle sortera data baserat på hjälpkolumnvärdena, vilket också skulle leda till att namnen i datan ändras.

När du är klar, ta bort hjälpkolumnen.

I det här exemplet har jag visat dig hur du vänder data när du bara har en kolumn, men du kan också använda samma teknik om du har en hel tabell. Se bara till att du väljer hela tabellen och sedan använder hjälpkolumnen för att sortera data i fallande ordning.

Vänd data horisontellt

Du kan också följa samma metod för att vända data horisontellt i Excel.

Excel har ett alternativ för att sortera data horisontellt med hjälp av dialogrutan Sortera (funktionen "Sortera från vänster till höger").

Anta att du har en tabell som visas nedan och du vill vända dessa data horisontellt.

Nedan följer stegen för att göra detta:

  1. I raden nedan anger du "Helper" som rubrik för raden
  2. I hjälparaden anger du en rad nummer (1,2,3, och så vidare).
  3. Välj hela datauppsättningen inklusive hjälparaden
  4. Klicka på fliken Data
  5. Klicka på ikonen Sortera
  6. Klicka på alternativknappen i dialogrutan Sortera.
  7. Klicka på "Sortera från vänster till höger" i dialogrutan som öppnas
  8. Klicka på OK
  9. I rullgardinsmenyn Sortera efter väljer du rad 3 (eller vilken rad som har din hjälpkolumn)
  10. I listrutan Beställning väljer du "Störst till minsta"
  11. Klicka på OK

Stegen ovan skulle vända hela bordet horisontellt.

När du är klar kan du ta bort hjälparaden.

Vänd data med hjälp av formler

Microsoft 365 har fått några nya formler som gör det väldigt enkelt att vända ordningen på en kolumn eller en tabell i Excel.

I det här avsnittet visar jag dig hur du gör detta med SORTBY -formeln (om du använder Microsoft 365) eller INDEX -formeln (om du inte använder Microsoft 365)

Använda SORTBY -funktionen (tillgänglig i Microsoft 365)

Anta att du har en tabell som visas nedan och du vill vända data i denna tabell:

För att göra detta, kopiera först rubrikerna och placera dem där du vill ha det vända bordet

Använd nu följande formel under cellen i rubriken längst till vänster:

= SORTBY ($ A $ 2: $ B $ 12, RAD (A2: A12),-1)

Ovanstående formel sorterar data och använder resultatet av ROW -funktionen som grund för att sortera den.

RAD -funktionen i det här fallet skulle returnera en rad nummer som representerar radnumren mellan det angivna intervallet (vilket i detta exempel skulle vara en serie med nummer som 2, 3, 4 och så vidare).

Och eftersom det tredje argumentet i denna formel är -1, skulle det tvinga formeln att sortera data i fallande ordning.

Rekordet som har det högsta radnumret kommer högst upp och det som har det lägsta regelnumret går längst ner, vilket i huvudsak vänder upp datan i ordning.

När du är klar kan du konvertera formeln till värden för att få en statisk tabell.

Använda INDEX -funktionen

Om du inte har tillgång till SORTBY -funktionen, oroa dig inte - du kan använda den fantastiska INDEX -funktionen.

Anta att du har en datauppsättning med namn enligt nedan och du vill vända dessa data.

Nedan är formeln för att göra detta:

= INDEX ($ A $ 2: $ A $ 12, RADER (A2: $ A $ 12))

Hur fungerar denna formel?

Ovanstående formel använder INDEX -funktionen som skulle returnera värdet från cellen baserat på det nummer som anges i det andra argumentet.

Den verkliga magin händer i det andra argumentet där jag har använt ROWS -funktionen.

Eftersom jag har låst den andra delen av referensen i ROWS -funktionen, i den första cellen, skulle det returnera antalet rader mellan A2 och A12, vilket skulle vara 11.

Men när det går nerför raderna, skulle den första referensen ändras till A3, och sedan A4, och så vidare, medan den andra referensen skulle vara kvar eftersom den har låst den och gjort den absolut.

När vi går ner raderna skulle resultatet av ROWS -funktionen minska med 1, från 11 till 10 till 9, och så vidare.

Och eftersom INDEX -funktionen returnerar värdet baserat på talet i det andra argumentet, skulle detta i slutändan ge oss data i omvänd ordning.

Du kan använda samma formel även om du har flera kolumner i datamängden. du måste dock ange ett andra argument som anger det kolumnnummer som data måste hämtas från.

Anta att du har en datauppsättning som visas nedan och du vill vända ordningen på hela tabellen:

Nedan är formeln som gör det åt dig:

= INDEX ($ A $ 2: $ B $ 12, RADER (A2: $ A $ 12), COLUMNS ($ A $ 2: A2))

Detta är en liknande formel där jag också har lagt till ett tredje argument som anger det kolumnnummer som värdet ska hämtas från.

För att göra denna formel dynamisk har jag använt funktionen KOLUMNER som skulle fortsätta att ändra kolumnvärdet från 1 till 2 till 3 när du kopierar det till höger.

När du är klar kan du konvertera formlerna till värden för att se till att du har ett statiskt resultat.

Obs! När du använder en formel för att vända ordningsföljden för en datamängd i Excel, behåller den inte den ursprungliga formateringen. Om du också behöver den ursprungliga formateringen på de sorterade data kan du antingen tillämpa den manuellt eller kopiera och klistra in formateringen från den ursprungliga datamängden till den nya sorterade datamängden

Vänd data med VBA

Om vända data i Excel är något du måste göra ganska ofta kan du också prova VBA -metoden.

Med en VBA -makrokod kan du kopiera och klistra in den en gång i arbetsboken i VBA -redigeraren och sedan återanvända den om och om igen i samma arbetsbok.

Du kan också spara koden i Personal Macro Workbook eller som ett Excel-tillägg och kunna använda den i alla arbetsböcker på ditt system.

Nedan finns VBA -koden som skulle vända den valda data vertikalt i kalkylbladet.

Sub FlipVerically () 'Code by Sumit Bansal from TrumpExcel.com Dim TopRow As Variant Dim LastRow As Variant Dim StartNum As Integer Dim EndNum As Integer Application.ScreenUpdating = False StartNum = 1 EndNum = Selection.Rows.Count Do While StartNum <EndNum TopRow = Selection.Rows (StartNum) LastRow = Selection.Rows (EndNum) Selection.Rows (EndNum) = TopRow Selection.Rows (StartNum) = LastRow StartNum = StartNum + 1 EndNum = EndNum - 1 loop -applikation.ScreenUpdating = True End Sub

För att använda den här koden måste du först välja den datauppsättning som du vill backa (exklusive rubrikerna) och sedan köra den här koden.

Hur fungerar den här koden?

Ovanstående kod räknar först det totala antalet rader i datamängden och tilldelar variabeln EndNum det.

Den använder sedan Do While -slingan där sorteringen av data sker.

Sättet att sortera dessa data är genom att ta första och sista raden och byta dessa. Den flyttar sedan till den andra raden i den näst sista raden och byter sedan dessa. Sedan flyttar den till den tredje raden i den tredje sista raden och så vidare.

Slingan slutar när all sortering är klar.

Den använder också egenskapen Application.ScreenUpdating och ställer den till FALSE medan koden körs och vrider sedan tillbaka den till TRUE när koden har körts.

Detta säkerställer att du inte ser att förändringarna sker i realtid på din skärm, det påskyndar också processen.

Hur använder jag koden?

Följ stegen nedan för att kopiera och klistra in den här koden i VB Editor:

  1. Öppna Excel -filen där du vill lägga till VBA -koden
  2. Håll ned ALT-tangenten och tryck på F-11-tangenten (du kan också gå till fliken Utvecklare och klicka på Visual Basic-ikonen)
  3. I Visual Basic Editor som öppnas skulle det finnas en Project Explorer på den vänstra delen av VBA -redigeraren. Om du inte ser det, klicka på fliken "Visa" och klicka sedan på "Projektutforskare"
  4. Högerklicka på något av objekten för arbetsboken där du vill lägga till koden
  5. Gå till alternativet Infoga och klicka sedan på Modul. Detta kommer att lägga till en ny modul i arbetsboken
  6. Dubbelklicka på modulikonen i Project Explorer. Detta öppnar kodfönstret för den modulen
  7. Kopiera och klistra in ovanstående VBA -kod i kodfönstret

För att köra VBA -makrokoden, välj först den datamängd som du vill vända (exklusive rubrikerna).

Med valda data, gå till VB Editor och klicka på den gröna uppspelningsknappen i verktygsfältet, eller välj valfri rad i koden och tryck sedan på F5 -tangenten

Så det här är några av de metoder du kan använda för att vända data i Excel (dvs. vända datauppsättningens ordning).

Alla metoder som jag har täckt i den här självstudien (formler, SORT -funktion och VBA) kan användas för att vända data vertikalt och horisontellt (du måste justera formeln och VBA -koden i enlighet därmed för horisontell dataväxling).

Jag hoppas att du fann denna handledning användbar.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave