Hoppa till huvudinnehåll

Excel -sortering: sortera data efter text, datum, nummer eller färg

Det är en vanlig och enkel uppgift att sortera data i Excel, vilket kan hjälpa till att ordna om dina data baserat på vilken typ av sortering du väljer. Normalt kan du med den inbyggda sorteringsfunktionen sortera nummer, textsträngar, datum och tider i en eller flera kolumner; Du kan också sortera data efter en anpassad lista som du skapat eller genom cellformatering (t.ex. teckensnittsfärg, bakgrundsfärg eller ikon) snabbt och enkelt.

Förutom dessa enkla sorteringar finns det mycket mer användbar och komplex sortering i ditt dagliga arbete som du kan behöva. Denna handledning kommer att introducera några olika sorter av sortering för att lösa ditt problem i Excel.

Innehållsförteckning:

1. Öppna sorteringsalternativen i Excel

2. Grundläggande användningsområden för sortering

3. Avancerade sorteringsanvändningar

4. Sortera data automatiskt när du matar in eller ändrar data

5. Andra fall av sortering


Få tillgång till sorteringsalternativen i Excel

För att tillämpa sorteringsfunktionen, erbjuder Excel flera sätt för dig att komma åt sorteringsalternativen.

1.1 Sorteringsknappar i bandet

Det snabbaste sättet att tillämpa sorteringsfunktionen är att använda sorteringsknapparna i menyfliksområdet.

Klicka på valfri cell i en kolumn med värden som ska sorteras och klicka sedan på Data fliken, i Sortera och filtrera avsnittet, klicka Sortera A till Z or Sortera Z till A knappen för att sortera data i stigande eller fallande alfabetisk ordning. Se skärmdump:

Anmärkningar: Om det finns tomma rader i dataintervallet, efter att du använt dessa knappar, kan endast dataintervallet för den markerade cellen som ovan eller under de tomma raderna sorteras framgångsrikt.


1.2 Sorteringsdialogruta

I Sortera och filtrera grupp av Data flik, det finns en annan Svart knapp, se skärmdump:

Efter att ha klickat på detta Svart knapp, a Svart dialogrutan kommer att dyka upp enligt nedanstående skärmdump:

Då, i Svart i dialogrutan kan du välja motsvarande regler för att sortera data efter behov.

tips: Du kan också använda kortkommandon för att öppna detta Svart dialogruta, vänligen tryck på Alt + A + S + S tangenter i följd i tangentbordet.


1.3 Sorteringsalternativ i menyn Filter

Om du har tillämpat filter på ditt dataintervall kan du också hitta sorteringsalternativ tillsammans med filteralternativen. Genom att klicka på filterikonen i valfri kolumn kan du se sorteringsalternativen i den utökade listan enligt nedanstående skärmbild:

Anmärkningar: Dessa sorteringsalternativ kommer att ändras baserat på data i kolumnen: Om det finns text i kolumnen kommer det att visas Sortera A till Z, Sortera Z till A; Om det finns siffror i kolumnen visas den Sortera minsta till största, Sortera största till minsta; Om det finns datum i kolumnen visas det Sortera äldsta till nyaste, Sortera Nyast till Äldst.


1.4 Högerklicka på sorteringsalternativ

I Excel kan du också använda högerklicksorteringsalternativ för att sortera data snabbt och enkelt, högerklicka på valfri cell i en kolumn med värden som ska sorteras, och i snabbmenyn kan du se att det finns sex sorteringsalternativ tillgängliga, välj välj den du behöver, se skärmdump:


Grundläggande användningsområden för sortering

Denna Excel -sorteringsfunktion kan hjälpa dig att göra en enkel sortering, till exempel att sortera nummer, textsträngar, datum i stigande eller fallande ordning, sortera celler baserat på teckensnitt eller bakgrundsfärg. Det här avsnittet kommer att prata om några grundläggande användningsområden av den här sorteringsfunktionen.


2.1 Sortera data efter texter, siffror eller datum

För att sortera ett dataintervall baserat på texter, siffror eller datum i stigande eller fallande ordning, gör följande steg:

1. Välj det dataintervall som du vill sortera och klicka sedan Data > Svart, se skärmdump:

2. I Svart dialogrutan, gör följande:

  • I Kolumn väljer du det kolumnnamn som du vill sortera baserat på;
  • I Sortera på avsnitt, välj Cellvärden alternativ;
  • I Ordersammanställning avsnitt, ange sorteringsordningen. (För att sortera textsträngar, välj A till Ö or Z till A; För att sortera nummerlistan, välj Minsta till största or Största till minsta; För att sortera datumceller, välj Äldsta till nyaste or Läste äldsta.)
  • tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK knappen, kommer den valda informationen att sorteras baserat på den kolumn du angav på en gång.


2.2 Sortera data efter cellfärg, teckensnittsfärg, cellikon

Om du vill sortera dataintervallet baserat på cellfärgen, teckensnittsfärgen eller villkorlig formateringsikon kan sorteringsfunktionen lösa denna uppgift snabbt.

Om du antar att du har ett dataområde som är formaterat med vissa cellfärger enligt skärmbilden nedan, om du till exempel behöver ordna om data baserat på cellfärgen, skulle du vilja sätta de ljusröda raderna överst, följt av ljus gula och ljusblå rader, för att sortera raderna efter cellfärg, gör så här:

1. Välj det dataintervall du vill sortera baserat på cellfärgen och klicka sedan Data > Svart för att gå till Svart dialog ruta.

2. I Svart ange följande åtgärder:

2.1) Ställ in den första cellfärgen så här:

  • I Kolumn avsnitt, välj Namn eller andra kolumner där du har de färgade cellerna. I det här exemplet har jag färgade celler i alla kolumner, du kan välja vilket kolumnnamn som helst;
  • Enligt Sortera på avsnitt, välj Cellfärg alternativ;
  • I Ordersammanställning väljer du en cellfärg som du vill lägga upptill eller nedtill;

2.2) Klicka sedan på Lägg till nivå -knappen för att lägga till den andra och andra regelnivån, upprepa ovanstående steg för att ställa in den andra och andra cellfärger.

  • tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. När du har gjort inställningarna klickar du på OK -knappen, och dataområdet har sorterats efter cellfärgen du angav, se skärmdump:

tips: Enligt stegen ovan kan du också sortera data baserat på teckensnittsfärg eller cellikon genom att välja font Color or Ikon för villkorlig formatering i dialogrutan Sortera.


2.3 Sortera data efter flera kolumner

Om du har en stor datauppsättning enligt nedanstående skärmdump, vill du nu utföra en datasortering på flera nivåer för att läsa data tydligare, till exempel sortering efter regionkolumn först och sedan kolumn Stat, till sist försäljningskolumn. Hur kan du göra den här sorteringen i Excel?

För att sortera data efter flera kolumner, gör följande steg:

1. Välj det dataintervall du vill sortera och klicka sedan på Data > Svart för att gå till Svart dialog ruta.

2. I Svart dialogrutan, klicka Lägg till nivå knapp två gånger eftersom det finns tre kolumner du vill använda för sortering. Då kan du se två Sedan av regelnivåer har lagts till i listrutan:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Från Sortera efter och Sedan av rullgardinsmenyn, välj de kolumnnamn som du vill sortera baserat på och välj sedan Cellvärden från Sortera på avsnitt separat för varje markerad kolumn, slutligen, välj sorteringsordning som du behöver.

4. Klicka sedan OK, och du kommer att få sorteringsresultatet enligt nedanstående skärmdump:


2.4 Sortera data baserat på en anpassad lista

Istället för att sortera data i alfabetisk eller numerisk ordning, erbjuder denna sorteringsfunktion också en anpassad listsortering för dig. Till exempel vill du sortera nedanstående dataintervall efter Status - Inte påbörjat, Pågående, Slutfört, du definierat. Här kommer jag att presentera hur man hanterar denna typ av sortering.

1. Välj det dataintervall du vill sortera och klicka sedan på Data > Svart för att gå till Svart dialog ruta.

2. I Svart dialogrutan väljer du den kolumn du vill sortera från Kolumn avsnittet och välj sedan Cellvärden från Sortera på avsnitt, i Ordersammanställning avsnittet, klicka Anpassad lista alternativ, se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Och a Anpassade listor rutan dyker upp, gör följande åtgärder:

  • Klicka NY LISTA i Custom listruta;
  • Ange sedan textsträngarna i den ordning du behöver sortera baserat på i Lista poster låda; (När du anger texterna, vänligen tryck på ange nyckel för att separera posterna.)
  • Äntligen klickar du på Lägg till knappen läggs den nya listan till i Anpassade listor låda på en gång.

4. Klicka sedan OK för att återgå till Svart dialog ruta. Den nya anpassade listan med objekt visas nu i Ordersammanställning listrutan.

5. Och klicka sedan på OK -knappen för att stänga dialogrutan. Som ett resultat har dataområdet sorterats efter den anpassade listan du definierade, se skärmdump:


2.5 Sortera data från vänster till höger (horisontellt sortera)

Normalt sorterar du alltid datatabellen vertikalt uppifrån och ned, men ibland kanske du vill sortera data baserat på radvärdena (sortera från vänster till höger). Till exempel, i dataintervallet nedan, vill jag sortera det baserat på värdena i raden Namn.

I det här fallet har Sorteringsfunktionen en inbyggd funktion som låter dig sortera från vänster till höger. Gör med stegen nedan:

1. Välj ditt dataintervall (exkludera rubriker) som du vill sortera och klicka sedan Data > Svart för att gå till dialogrutan Sortera.

2. I popp-out Svart dialogrutan, klicka Tillbehör -knappen i Sorteringsalternativ dialogrutan väljer du Sortera från vänster till höger alternativ, se skärmdump:

3. Klicka OK för att gå tillbaka till dialogrutan Sortera, nu, i Rad avsnitt, ange radnummer som du vill sortera data baserat på och välj sedan Cellvärden i Sortera på väljer du slutligen sorteringsordningen i Ordersammanställning avsnitt du behöver, se skärmdump:

4. Klicka sedan OK, och dina data sorteras enligt nedanstående skärmdump:


2.6 Sortera data i skiftlägeskänslig ordning

Generellt utförs inte datasortering i skiftlägeskänslig ordning som den första skärmbilden nedan visas. Men vad händer om du vill göra sorteringen skiftlägeskänslig enligt den andra skärmdumpen nedan, hur skulle du kunna lösa den här uppgiften i Excel?

För att utföra en skiftlägeskänslig sortering i Excel, gör så här:

1. Välj det dataintervall du vill sortera och klicka sedan Data > Svart för att gå till Svart dialog ruta.

2. I Svart dialogrutan, i Kolumn avsnitt, ange det kolumnnamn du vill sortera data baserat på och välj sedan Cellvärden i Sortera på väljer du slutligen sorteringsordningen i Ordersammanställning avsnitt du behöver, se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Fortsätt att klicka på Tillbehör -knappen i den här dialogrutan och i Sorteringsalternativ snabbruta, kryssa Skiftlägeskänsliga alternativ, se skärmdump:

4. Klicka OK > OK För att stänga dialogrutorna kommer data att sorteras i skiftlägeskänslig ordning med små bokstäver först och sedan versaler när texten är densamma. Se skärmdump:


Avancerad användning av sortering

I ditt dagliga arbete kan du stöta på andra mer komplexa, praktiska, specifika sorteringsproblem, det här avsnittet kommer att prata om flera olika sorteringsuppgifter i excel.

3.1 Sortera data baserat på frekvens

Om vi ​​antar att du har en lista med data i en kolumn och nu vill du sortera den här kolumnen i fallande ordning på datans förekomstfrekvenser enligt nedanstående skärmdump. Här kommer jag att introducera två metoder för att lösa denna uppgift.

 Sortera data baserat på frekvens med hjälpkolumn

I Excel finns det inget direkt sätt att sortera data baserat på förekomstantal, här kan du skapa en hjälpformel för att få förekomstfrekvens för varje text och sedan sortera efter hjälparkolumnen för att få det sorteringsresultat du behöver.

1. Skriv in formeln nedan i en tom cell intill originaldata, till exempel B2, och dra sedan fyllningshandtaget ner till cellerna för att tillämpa denna formel, se skärmdump:

=COUNTIF($A$2:$A$16,A2)

Anmärkningar: I ovanstående formel, A2: A16 är listan med data som du vill sortera efter frekvens, och A2 är de första uppgifterna i denna lista.

2. Fortsätt sedan med att välja formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdumpar:

3. Klicka sedan på Svart -knappen, nu har den ursprungliga kolumnen sorterats efter frekvensen enligt följande skärmdumpar:

Tips:

1. Efter att ha fått resultatet kan du ta bort hjälpkolumnen efter behov.

2. Om det finns textsträngar som visas lika många gånger kanske samma text inte sorteras ihop. I det här fallet bör du gå till Svart dialogrutan, sortera efter hjälpkolumnen först och sortera sedan efter texten enligt nedanstående skärmdump:


 Sortera data baserat på frekvens med en praktisk funktion

Om du har Kutools för Excel, med dess Avancerad sortering funktionen kan du sortera data baserat på förekomstfrekvensen utan någon hjälpkolumn snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Välj datalistan du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering, se skärmdump:

2. I Avancerad sortering dialogrutan väljer du den kolumn du vill sortera från Kolumn avsnittet och välj sedan Frekvens i Sortera på rullgardinsmenyn, ange slutligen sorteringsordningen i Ordersammanställning avsnitt, se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK knappen har datalistan sorterats efter antal förekomster på en gång, se skärmdump:


3.2 Sortera data baserat på teckenlängd

Om du har en lista med data som innehåller textsträngar med olika längd kan du nu behöva sortera data efter teckenlängd för att kolumnen ska se snygg och snygg ut. Det här avsnittet kommer att prata om hur du sorterar data efter antalet tecken.

 Sortera data baserat på teckenlängd med en hjälparkolumn

För att sortera kolumn efter teckenlängd, bör du använda LEN -funktionen för att beräkna antalet tecken för varje cell och sedan använda sorteringsfunktionen för att sortera datalistan, gör följande steg:

1. Ange den här formeln = LENN (A2) in i en tom cell intill originaldata, till exempel B2, och dra sedan fyllningshandtaget ner till cellerna för att tillämpa denna formel, se skärmdump:

2. Fortsätt sedan med att välja formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart -knappen har strängarna sorterats efter teckenlängden. Du kan ta bort hjälpen Kolumn B efter behov. Se skärmdump:


 Sortera data baserat på teckenlängd med ett enkelt alternativ

För att sortera data efter antalet tecken snabbt och enkelt, här kommer jag att rekommendera ett praktiskt verktyg - Kutools för Excel, med dess Avancerad sortering funktion, kan du hantera den här uppgiften med lätthet.

När du har installerat Kutools för Excel, gör så här:

1. Välj datalistan som du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Textlängd från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning du behöver i Ordersammanställning sektion. Se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker iär kontrollerat. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK knappen, har textsträngarna i listan sorterats efter teckenlängd enligt skärmbilden nedan:


3.3 Sortera fullständiga namn efter efternamn

När du sorterar en lista med fullständiga namn kommer Excel att använda det första tecknet i namnet för att sortera, men vad händer om du vill sortera data efter efternamn? Här kommer jag att ta med några knep för dig att enkelt sortera fullständiga namn efter efternamn i Excel.

 Sortera fullständiga namn efter efternamn med en hjälparkolumn

Om du sorterar fullständiga namn baserat på efternamnen bör du extrahera efternamnen i en ny kolumn och sedan använda funktionen Sortera för att sortera de fullständiga namnen baserat på de separerade efternamnen alfabetiskt. Gör med följande steg:

1. Skriv in eller kopiera formeln nedan till en tom cell intill originaldata, till exempel B2, och dra sedan fyllningshandtaget ner till cellerna för att tillämpa denna formel, se skärmdump:

=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

2. Fortsätt med att välja formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart -knappen, och du får de fullständiga namnen som är sorterade baserat på de efternamnen, när du har gjort det kan du ta bort hjälpkolumnen efter behov. Se skärmdump:


 Sortera fullständiga namn efter efternamn med en snabb metod

Om du inte är bekant med formeln kan du sortera de fullständiga namnen efter efternamn utan någon formel Avancerad sortering egenskap av Kutools för Excel kan göra dig en tjänst.

När du har installerat Kutools för Excel, gör så här:

1. Markera cellerna med fullständigt namn som du vill sortera och klicka Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Efternamn från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning som du behöver i Ordersammanställning sektion. Se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK -knappen har hela namnkolumnen sorterats efter efternamn på en gång.


3.4 Sortera e -postadresser efter domän

Om du har en lista med e -postadresser som ska sorteras efter domän snarare än bara efter den första bokstaven i adressen, hur skulle du kunna göra det i Excel? Det här avsnittet kommer att prata om några snabba metoder för att sortera e -postadresser efter domäner.

 Sortera e -postadresser efter domän med en hjälparkolumn

Här kan du skapa en formel för att extrahera e-postdomänerna till en annan kolumn och sedan sortera de ursprungliga e-postadresserna baserat på den nya domänkolumnen.

1. Skriv följande formel i en tom cell bredvid din e -postadress. I det här exemplet skriver jag in denna formel i cell C2 och drar sedan fyllningshandtaget till det område som du vill tillämpa denna formel. Alla e -postdomäner kommer sedan att extraheras från adresserna, se skärmdump:

=RIGHT(B2,LEN(B2)-FIND("@",B2))

2. Behåll formelcellerna markerade och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i Sortera varning dialogruta, kontrollera Utöka urvalet, se skärmdump:

3. Och klicka sedan på Svart knappen för att sortera data efter e -postdomäner i stigande eller fallande ordning som du angav.

4. Efter sortering kan du radera hjälpkolumnen efter behov.


 Sortera e -postadresser efter domän med flera klick

Om du har Kutools för Excel, med dess Avancerad sortering funktion kan e-postadresserna sorteras efter domännamn i alfabetisk ordning med bara några klick.

När du har installerat Kutools för Excel, gör så här:

1. Markera hela dataområdet som du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Maildomän från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning du behöver i Ordersammanställning sektion. Se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka OK, och dataintervallet har sorterats efter e-postdomäner enligt skärmbilden nedan:


3.5 Sortera en kolumn för att matcha en annan

Om du har två kolumner med exakt samma eller nästan samma data, men i olika ordningar, kan du behöva sortera de två kolumnerna så att samma värden justeras på samma rader i de två kolumnerna. I det här avsnittet kommer jag att introducera två fall för denna typ av sortering.

 Sortera två kolumner med exakt samma objekt att matcha

Till exempel har jag två kolumner som innehåller samma objekt men i olika ordningar, här vill jag sortera den andra kolumnen så att den matchar den första kolumnen enligt nedanstående skärmdump.

1. Skriv in formeln nedan i en tom cell bredvid dina ursprungliga data, dra sedan i fyllningshandtaget för att tillämpa denna formel på alla celler i listan, och detta returnerar positionen för varje värde i kolumn B mot i kolumn A, se skärmbild :

=MATCH(B2,$A$2:$A$10,0)

2. Välj sedan kolumn B och den nya hjälpkolumnen och klicka på Data > Svart för att gå till Svart dialogrutan, i Svart dialogrutan, gör följande:

  • Välj hjälpkolumnen som du vill sortera data baserat på från Kolumn sektion;
  • Sedan Välj Cellvärden i Sortera på sektion;
  • Äntligen, välj Minsta till största alternativet i Ordersammanställning sektion.

3. Och klicka sedan på OK knapp. Nu kommer du att få de två kolumnerna matchade exakt som nedanstående skärmdump. Du kan ta bort formelkolumnen efter behov.


 Sortera två kolumner med inte exakt samma objekt att matcha

Ibland kanske objekten i två kolumner inte är exakt likadana. Till exempel vill jag sortera data i den andra kolumnen för att matcha dem i den första kolumnen, så att samma värden justeras på samma rader som nedanstående skärmdump visas.

1. Infoga en ny tom kolumn mellan de två kolumnerna.

2. Ange formeln nedan i cell B2 och dra sedan i fyllningshandtaget för att fylla formeln till de celler du behöver. Och nu kan du se att data i kolumn C har sorterats för att matcha data i kolumn A.

=IF(ISNA(MATCH(A2,$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH(A2,$C$2:$C$8,0)))


3.6 Sortera och extrahera unika värden från en lista med data

Om du har en lista med värden som innehåller några dubbletter, nu vill du bara extrahera de unika värdena och sortera dem alfabetiskt enligt nedanstående skärmdump, här kommer jag att introducera några formler för att hantera denna typ av sortering.

1. Ange formeln nedan i en tom cell - C2 och tryck sedan på Ctrl + Skift + Enter för att få det första resultatet, se skärmdump:

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,"<"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

Anmärkningar: I formeln, A2: A12 är datalistan som du vill extrahera unika värden från, C1 är cellen ovanför formeln du lägger. Vänligen ändra dem efter dina behov.

2. Dra sedan i fyllhandtaget för att extrahera värdena tills tomma celler visas, alla unika värden extraheras och sorteras i stigande ordning, se skärmdump:

tips:

1. Om du vill att de extraherade unika värdena ska sorteras i fallande ordning, använd följande formel: (Kom ihåg att trycka på Ctrl + Skift + Enter nycklar)

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,">"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

2. Om datalistan innehåller mellanslagscell, numeriska värden, kommer formeln ovan inte att fungera, i det här fallet bör du använda följande formler: (Kom ihåg att trycka på Ctrl + Skift + Enter nycklar)

=IFERROR(SMALL(IF((COUNTIF($C$1:C1,$A$2:$A$12)=0)*ISNUMBER($A$2:$A$12),$A$2:$A$12,"A"),1),INDEX($A$2:$A$12,MATCH(SMALL(IF(ISTEXT($A$2:$A$12)*(COUNTIF(C1:$C$1,$A$2:$A$12)=0),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),1),IF(ISTEXT($A$2:$A$12),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),0)))


3.7 Sortera flera rader eller kolumner oberoende på en gång

Det är lätt för oss att sortera ett dataområde baserat på en rad eller kolumn, men ibland kanske du vill alfabetisera varje rad eller kolumn i intervallet oberoende, hur skulle du kunna uppnå denna uppgift i Excel?

 Sortera flera rader individuellt

Anta att du har en rad data som bör omarrangeras alfabetiskt i varje rad som skärmdumpen nedan, för att lösa detta problem, här är två snabba knep för dig.

Sortera flera rader oberoende på en gång med formeln

1. Kopiera radetiketterna till en annan plats där du vill få det sorterade resultatet.

2. Och kopiera eller ange nedanstående formel i en tom cell - H2 och tryck sedan på Ctrl + Skift + Enter knappar tillsammans för att få det första resultatet, se skärmdump:

=INDEX($B2:$E2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$E2, "<="&$B2:$E2), 0))

3. Välj sedan formelcellen H2 och dra påfyllningshandtaget åt höger för att kopiera formeln till andra celler i den första raden, i det här exemplet, dra till cell K2, se skärmdump:

4. Fortsätt att välja formelcellerna i den första raden (H2:K2), och dra fyllningshandtaget nedåt för att kopiera formeln till andra rader. Nu kan du se att värdena i varje rad har sorterats individuellt i stigande ordning.


Sortera flera rader oberoende samtidigt med VBA-kod

Följande VBA -kod kan också hjälpa dig att enkelt sortera data i varje rad alfabetiskt. Vänligen gör med följande steg:

1. Välj data som du vill sortera i varje rad.

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka sedan Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Sortera flera rader oberoende på en gång

Sub SortIndividualR()
'Updateby Extendoffice
    Dim xRg As Range, yRg As Range
    If TypeName(Selection) <> "Range" Then Exit Sub
    Set xRg = Selection
    If xRg.Count = 1 Then
        MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
        Exit Sub
    End If
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
    Application.ScreenUpdating = False
    For Each yRg In xRg.Rows
        yRg.Sort Key1:=yRg.Cells(1, 1), _
        Order1:=xlAscending, _
        Header:=xlNo, _
        Orientation:=xlSortRows
    Next yRg
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
    Application.ScreenUpdating = True
End Sub

4. Tryck sedan på F5 nyckel för att köra denna kod, har data i varje rad sorterats i stigande ordning omedelbart, se skärmdump:


 Sortera flera kolumner individuellt

För att sortera data i varje kolumn individuellt kan följande två metoder göra dig en tjänst.

Sortera flera kolumner oberoende på en gång med formel

1. Kopiera kolumnetiketterna till en annan plats där du vill få det sorterade resultatet.

2. Och skriv sedan in formeln nedan i en tom cell - F3 och tryck på Ctrl + Skift + Enter tangenterna tillsammans för att få det första resultatet, dra sedan fyllningshandtaget nedåt för att kopiera denna formel till andra rader, se skärmdump:

=INDEX(A$3:A$6,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$6,"<="&A$3:A$6),0))

3. Fortsätt att välja formelcellerna i den första raden (F3:F6) och dra fyllningshandtaget åt höger för att kopiera formeln till andra kolumner. Nu har värdena i varje kolumn sorterats individuellt i stigande ordning enligt skärmbilden nedan:


Sortera flera kolumner oberoende samtidigt med VBA-kod

För att sortera data i flera kolumner oberoende av varandra kan följande VBA-kod också göra dig en tjänst, vänligen gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka sedan Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Sortera flera kolumner oberoende på en gång

Sub SortIndividualJR()
'Updateby Extendoffice
    Dim xRg As Range
    Dim yRg As Range
    Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error Resume Next
    Set xRg = Application.InputBox(Prompt:="Range Selection:", _
                                    Title:="Kutools for excel", Type:=8)
    Application.ScreenUpdating = False
    For Each yRg In xRg
        With ws.Sort
            .SortFields.Clear
            .SortFields.Add Key:=yRg, Order:=xlAscending
            .SetRange ws.Range(yRg, yRg.End(xlDown))
            .Header = xlNo
            .MatchCase = False
            .Apply
        End With
    Next yRg
    Application.ScreenUpdating = True
End Sub

3. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp, välj det dataintervall som du vill sortera, se skärmdump:

4. Och klicka sedan på OK, varje kolumn har sorterats individuellt snabbt.


3.8 Sortera data slumpmässigt i Excel

Det är vanligt att vi sorterar data alfabetiskt i stigande eller fallande ordning, men har du någonsin försökt sortera data i ett valt område slumpmässigt? I det här avsnittet kommer jag att prata om hur man blandar ett antal celler i en slumpmässig ordning.

 Sortera en datakolumn slumpmässigt med en hjälparkolumn

Normalt kan du använda en RAND-funktion för att få slumpmässiga tal, och sedan sortera data baserat på denna slumpmässiga lista, vänligen gör så här:

1. Ange denna formel: = RAND () i en tom cell bredvid dina data och dra nedfyllningshandtaget för att fylla en lista med slumpmässiga nummer enligt nedanstående skärmdump:

2. Fortsätt markera formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Och klicka sedan på Svart -knappen har datalistan blandats på en gång, se skärmdump:


 Sortera celler, rader eller kolumner slumpmässigt med en fantastisk funktion

Kutools för Excel stöder en kraftfull funktion - Sortera intervall slumpmässigt, med den här funktionen kan du slumpmässigt data i ett cellintervall, i varje kolumn / rad i ett urval, eller randomisera hela rader eller kolumner samtidigt.

När du har installerat Kutools för Excel, gör så här:

1. Välj det dataintervall du vill sortera slumpmässigt och klicka sedan på Kutools Plus > Svart > Sortera intervall slumpmässigt. Se skärmdump:

2. I Sortera / välj intervall slumpmässigt under dialogrutan Svart fliken, välj ett av följande alternativ du behöver:

  • Hela rader: Blanda hela raderna i det valda intervallet slumpmässigt.
  • Hela kolumner: Blanda hela kolumnerna i det valda området slumpmässigt.
  • Celler i varje rad: Blanda celler i varje rad individuellt.
  • Celler i varje kolumn: Blanda celler i varje kolumn individuellt.
  • Alla celler i intervallet: Slumpmässigt alla celler i det valda intervallet.

3. Klicka sedan Ok knappen, randomiseras data direkt.


3.9 Sortera en lista med datum baserat på månad, dag eller månad och dag

När du sorterar datum i Excel sorterar funktionen Sortera listan över datum efter år, månad och dag som standard, men i vissa fall kan du behöva ordna datumen efter månad eller dag eller månad och dag utan att ignorera år. Hur löser man detta problem i Excel?

 Sortera en lista med datum efter månad eller dag med en hjälparkolumn

Om du vill sortera datumen baserat på enbart månad eller dag kan du extrahera månads- eller dagnumren från datumen och sedan sortera datumen efter kolumnen för extraherade månads- eller dagnummer.

1. Vänligen ange formeln nedan i en tom cell bredvid dina data och dra sedan fyllningshandtaget för att kopiera denna formel till andra celler, se skärmdump:

=MONTH(B2)        (extract month number)
= DAG (B2)             
(extrahera dagnummer)

2. Efter att ha returnerat månads- eller dagnumren, fortsätt markera formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart -knappen sorteras datumen nu efter månad, utan år och dagar. Se skärmdump:


 Sortera en lista med datum efter månad eller dag med flera klick

Om du har Kutools för Excel, med dess Avancerad sortering -funktionen kan du sortera en lista med datum endast efter månad eller dag med flera klick.

När du har installerat Kutools för Excel, gör med följande steg:

1. Välj det dataintervall som du vill sortera och klicka sedan Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Månad or Dag från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning du behöver i Ordersammanställning sektion.

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK -knappen, har data sorterats baserat på den månad eller dag som du angav medan du ignorerade året, se skärmdump:


 Sortera en lista med datum efter månad och dag med en hjälparkolumn

Om du bara behöver sortera en lista med datum efter månad och dag utan år kan TEXT -funktionen hjälpa till att konvertera ett datum till en textsträng i det angivna formatet och sedan tillämpa sorteringsfunktionen efter behov.

1. Ange nedanstående formel i en tom cell bredvid dina data och kopiera sedan den här formeln till botten av din data, månaden och dagen har extraherats som textsträng enligt nedanstående skärmdump:

=TEXT(B2,"MMDD")

2. Fortsätt att markera formelcellerna och klicka sedan Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart och nu sorteras dina data endast efter månad och dag.


3.10 Sortera en lista med datum baserat på veckodagar

Att sortera en lista med datum baserat på veckodagar, vilket innebär att man sorterar datum från måndag till söndag eller söndag till lördag. I det här avsnittet kommer jag att introducera två metoder för att slutföra denna uppgift i Excel.

 Sortera en lista med datum efter veckodagar med en hjälparkolumn

Om du sorterar datum efter veckodagar behöver du också en hjälparkolumn för att returnera ett nummer som motsvarar veckodagarna och sedan sortera datumen efter hjälparkolumnen.

1. Ange eller kopiera nedanstående formel till en tom cell och dra sedan fyllningshandtaget för att kopiera denna formel till andra celler, se skärmdump:

=WEEKDAY(B2)           (Start from Sunday (1) to Saturday(7))
= VECKA (B2,2)       
(Börja från måndag (1) till söndag (7))

2. Behåll formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan på Svart -knappen för att få det sorteringsresultat du behöver, se skärmdump:


 Sortera en lista med datum efter veckodagar med ett enkelt alternativ

Med hjälp av Kutools för ExcelÄr Avancerad sortering funktion, kan du lösa detta problem så snabbt som möjligt utan någon hjälpformel.

När du har installerat Kutools för Excel, gör så här:

1. Välj dataintervallet du ska sortera och klicka sedan Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Veckodag från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning du behöver i Ordersammanställning sektion.

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK knappen, data har sorterats efter veckodagar som du behöver. Se skärmdump:


3.11 Sortera en lista med datum baserat på kvartal

Det här avsnittet kommer att prata om hur du sorterar en lista med datum efter kvartal och ignorerar året, två tricks kommer att tillhandahållas för dig.

 Sortera en lista med datum efter kvartal med en hjälparkolumn

Precis som ovanstående lösningar bör du skapa en formelhjälpkolumn för att extrahera kvartalsnumret från de givna datumen och sedan sortera datumen baserat på denna nya hjälpkolumn.

1. Ange eller kopiera nedanstående formel till en tom cell och dra sedan fyllningshandtaget för att kopiera denna formel till andra celler, se skärmdump:

=ROUNDUP(MONTH(B2)/3,0)

2. Fortsätt markera formelcellerna och klicka sedan Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan på Svart knappen, har dataintervallet sorterats efter kvartal enligt skärmbilden nedan:


 Sortera en lista med datum efter kvartal med en praktisk funktion

Om du har Kutools för Excel installerad, den Avancerad sortering funktionen kan hjälpa dig att lösa denna uppgift med flera klick.

1. Välj det dataintervall du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, välj den kolumn du vill sortera i Kolumn avsnitt, och välj Kvartal från Sortera på rullgardinsmenyn, ange slutligen den sorteringsordning du behöver i Ordersammanställning sektion.

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Slutligen klickar du på OK -knappen, och det valda intervallet sorteras efter kvartal efter behov.


3.12 Sortera data baserat på månadsnamn eller veckodagsnamn

Om du antar att du har en lista med månadsnamn som text, när du sorterar månadsnamnen kommer de att ordnas alfabetiskt istället för att sortera efter månadsordning från januari till december. Om du behöver sortera månadsnamnen från januari till december kan en anpassad sortering inom sorteringsfunktionen göra dig en tjänst.

1. Välj det dataintervall du vill sortera baserat på månadsnamn och klicka sedan på Data > Svart för att gå till Svart dialog ruta.

2. I Svart dialogrutan, i Kolumn väljer du kolumnnamnet som innehåller månadsnamnen i Sortera på avsnitt väljer Cellvärden, slutligen, i Ordersammanställning avsnitt, välj Anpassad lista, se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Sedan, i poppade ut Anpassad lista dialogruta, välj helmånadsnamn (januari, februari, mars, ...) eller kortnamn (jan, feb, mar ...) baserat på hur månaderna listas i ditt kalkylblad, se skärmdump:

4. Och klicka sedan på OK > OK för att stänga dialogerna och nu har dina data sorterats efter månadens namn i kronologisk ordning enligt nedanstående skärmdump:

tips: För att sortera efter veckodagsnamn, välj de fullständiga namnen (söndag, måndag, tisdag, …) eller korta namn (sön, mån, tis …) i Anpassade listor dialogrutan efter behov.


3.13 Sortera data baserat på udda eller jämna tal

Det kan vara lätt för oss att sortera siffror i stigande eller fallande ordning i Excel, men har du någonsin försökt sortera siffrorna från udda till jämna eller jämna till udda i en lista? I det här avsnittet kommer jag att introducera några metoder för att utföra denna uppgift.

 Sortera data efter udda eller jämna tal med en hjälparkolumn

Om du sorterar listan med siffror efter udda eller jämna nummer bör du skapa en formel för att identifiera udda eller jämna nummer och sedan tillämpa sorteringsfunktionen.

1. Ange den här formeln bredvid listan med nummer = ISODD (A2) i en tom cell och dra sedan för att kopiera formeln till andra celler, nu kan du se SAN och FALSE visas, SANT indikerar udda tal och FALSKA indikerar jämna tal.

2. Fortsätt att välja formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart knappen har alla jämna nummer sorterats tillsammans och sedan följts av udda nummer eller vice versa. Se skärmdump:


 Sortera data efter udda eller jämna tal med en användbar funktion

Med hjälp av Kutools för ExcelÄr Avancerad sortering funktionen kan du snabbt sortera siffrorna från udda nummer till jämna nummer eller vice versa också.

När du har installerat Kutools för Excel, gör så här:

1. Välj det dataintervall du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, klicka på den kolumn som du vill sortera under Kolumn avsnittet och välj sedan Udda och jämnt antal från Sortera på avsnitt, ange sedan sorteringsordningen (A till Ö sortera från jämna till udda tal, och Z till A sortera från udda till jämna tal), se skärmdump:

tips: Om det finns rubriker i dina data, se till Mina data har rubriker är kontrollerad. Om din data inte har rubriker, avmarkera den.

3. Och klicka sedan på OK -knappen får du följande resultat:


3.14 Sortera data baserat på absoluta värden

Om både positiva och negativa siffror finns i kolumnen kommer siffrorna att sorteras i stigande eller fallande ordning som standard i Excel. Men i vissa fall kanske du vill ignorera det negativa tecknet när du sorterar data, det betyder att sortera siffrorna efter absoluta värden. Hur uppnår man denna uppgift i Excel?

 Sortera data efter absoluta värden med en hjälparkolumn

För att sortera siffror efter absoluta värden bör du normalt skapa en formel för att först konvertera alla värden till absoluta värden och sedan använda sorteringsfunktionen för att sortera siffrorna.

1. I en angränsande tom cell, till exempel B2, anger du denna formel = ABS (A2)och dra sedan i fyllhandtaget för att kopiera denna formel till andra celler. Nu kan du se att alla värden har konverterats till absoluta värden:

2. Behåll formelcellerna och klicka sedan på Data > Sortera A till Z or Sortera Z till A som du behöver, i popup-fönstret Sortera varning uppmaningsrutan, välj Utöka urvalet, se skärmdump:

3. Klicka sedan Svart -knappen, och alla siffror har sorterats efter de absoluta värdena enligt nedanstående skärmdump:


 Sortera data efter absoluta värden med ett praktiskt alternativ

Om du är trött på att skapa hjälpkolumn, här, kommer jag att rekommendera Kutools för Excel, med dess Avancerad sortering funktionen kan du sortera siffrorna efter absoluta värden direkt och enkelt.

När du har installerat Kutools för Excel, gör med följande steg:

1. Välj det dataintervall du vill sortera och klicka sedan på Kutools Plus > Svart > Avancerad sortering.

2. I Avancerad sortering dialogrutan, klicka på den kolumn som du vill sortera under Kolumn avsnittet och välj sedan Absolut värde från Sortera på avsnitt, ange sedan sorteringsordningen, se skärmdump:

tips: Om det finns rubriker i dina data, se till att Mina data har rubriker är markerad. Om din data inte har rubriker, avmarkera den.

3. Klicka sedan OK, kommer alla siffror att sorteras från minsta till största eller största till minsta värden utan att det negativa tecknet ignoreras.


Sortera data automatiskt när du anger eller ändrar data

Sorteringsfunktionen i Excel är inte dynamisk, du måste sortera om data efter varje ändring eller när nya data läggs till. I det här avsnittet kommer jag att diskutera hur du sorterar dina data automatiskt varje gång ett nytt värde läggs till i ditt dataområde.


4.1 Sortera numeriska värden automatiskt i en kolumn med formler

För att automatiskt sortera en lista med nummer i stigande eller fallande ordning kan du använda formler baserade på funktionerna LERGE, SMALL och ROW.

1. Vänligen ange eller kopiera nedanstående formel till en tom cell bredvid dina källdata och dra sedan fyllningshandtaget ner till de celler du vill tillämpa denna formel, och siffrorna ordnas sedan från de minsta till de största värdena, se skärmdump:

=IFERROR(SMALL($A$2:$A$100,ROWS(B$2:B2)),"")

Anmärkningar: I denna formel, A2: A100 är nummerlistan som du vill sortera automatiskt, inklusive några tomma celler för nya poster, B2 är cellen där du anger formeln.

2. Nu, när du ändrar källdata eller anger ny data, kommer den sorterade listan att uppdateras automatiskt enligt nedanstående demonstration:

tips: För att automatiskt sortera siffrorna i fallande ordning, använd följande formel:

=IFERROR(LARGE($A$2:$A$100,ROWS(B$2:B2)),"")


4.2 Sortera textvärden automatiskt i en kolumn med formler

Om du vill sortera textvärdena i en kolumn automatiskt fungerar inte ovanstående formel, här kan en annan formel hjälpa dig, gör så här:

1. Skriv in eller kopiera formeln nedan till en tom cell bredvid din datakolumn och tryck sedan på Ctrl + Skift + Enter tangenterna tillsammans för att få den första texten och välj sedan formelcellen och dra fyllhandtaget ner till de celler som du vill sortera, se skärmdump:

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")

2. Från och med nu, när du anger värde eller ändrar originaldata i kolumn A, kommer textsträngarna i kolumn B att sorteras i stigande ordning automatiskt, se nedan demo:

tips: För att automatiskt sortera textsträngarna i fallande ordning, använd formeln nedan (kom ihåg att trycka på Ctrl + Skift + Enter nycklar):

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")


4.3 Sortera automatiskt blandningen av numeriska och textvärden i en kolumn med VBA -kod

Om det finns både numeriska och textvärden i en kolumn, för att sortera listan med data automatiskt, kan nedanstående VBA-kod göra dig en tjänst.

1. Högerklicka på arkfliken där du vill sortera data automatiskt och välj sedan Visa kod från snabbmenyn, i pop-out Microsoft Visual Basic för applikationer kopiera och klistra in följande kod i tomt Modulerna fönster, se skärmdump:

VBA-kod: automatisk sortering när data matas in eller ändras i stigande ordning:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Anmärkningar: I koden ovan sorteras de inmatade uppgifterna automatiskt i kolumn A. A1 är rubriken och A2 är den första cellen i datalistan.

2. Spara sedan och stäng kodfönstret. Nu, när du anger nya data eller ändrar originaldata i kolumn A, sorteras data automatiskt i stigande ordning. Se nedan demo:

tips: Om du vill sortera datalistan i fallande ordning, använd följande kod:

VBA -kod: automatisk sortering när data matas in eller ändras i fallande ordning:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Andra fall av sortering

Du kan lida av andra olika sorteringskrav i ditt dagliga arbete. I det här avsnittet kommer jag att introducera några andra sorteringstyper, som att sortera data i en cell, sortera data i en kolumn eller rad med omvänd ordning och så vidare.


5.1 Sortera data i en cell

För att sortera textsträng inom en enskild cell i alfabetisk ordning, till exempel att sortera texten "HDAW" som "ADHW"; Eller för att sortera flera ord separerade med kommatecken i en cell, som att sortera "ord, outlook, excel, access" som "access, excel, outlook, word". Det här avsnittet kommer att prata om hur man löser denna typ av sortering i Excel.

 Sortera strängvärdet i en cell i alfabetisk ordning

Om du sorterar strängvärdet i en cell i alfabetisk ordning bör du skapa en användardefinierad funktion. Gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA -kod: Sortera textvärdet i cellen

Function SortCellContents(xRange As Range)
'Updateby Extendoffice
Dim xArr
Dim xF1, xF2 As Integer
Dim xStrValue As String
Dim xStrT As String
If xRange.Count <> 1 Then
    Exit Function
End If
xStrValue = xRange.Value
ReDim xArr(1 To Len(xStrValue))
For xF1 = 1 To UBound(xArr)
    xArr(xF1) = Mid(xStrValue, xF1, 1)
Next
For xF1 = 1 To UBound(xArr)
    For xF2 = xF1 To UBound(xArr)
        If Asc(xArr(xF2)) < Asc(xArr(xF1)) Then
            xStrT = xArr(xF2)
            xArr(xF2) = xArr(xF1)
            xArr(xF1) = xStrT
        End If
    Next xF2
Next xF1
SortCellContents = Join(xArr, "")
End Function

3. Spara sedan och stäng den här koden, gå tillbaka till ditt kalkylblad. Och sedan, ange denna formel = SortCellContents (A2) in i en tom cell där resultatet ska returneras och dra nedfyllningshandtaget för att kopiera formeln till andra celler och sedan sorteras alla textvärden i cellerna i alfabetisk ordning, se skärmdump:


 Sortera textsträngar separerade med en avgränsare i en cell i alfabetisk ordning

Om det finns flera ord som separeras av specifika avgränsare i en cell, för att sortera dem i alfabetisk ordning i cellen, kan nedanstående användardefinierade funktion hjälpa dig.

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Sortera textsträngar separerade med kommatecken i cellen

Function SortCellWithSeparator(CellAddress As Range, DelimiterChar As String, IncludeSpaces As Boolean) As String
'Updateby Extendoffice
Dim xRg As Range
Dim xString As String
Dim xF1, xF2 As Integer
Dim xSArr
Dim xStrT As String
Dim xStrValue As String
Set xRg = CellAddress
xStrValue = WorksheetFunction.Substitute(xRg.Value, " ", "")
xSArr = Split(xStrValue, DelimiterChar)
    For xF1 = 0 To UBound(xSArr)
        For xF2 = xF1 + 1 To UBound(xSArr)
                If xSArr(xF2) < xSArr(xF1) Then
                    xStrT = xSArr(xF2)
                    xSArr(xF2) = xSArr(xF1)
                    xSArr(xF1) = xStrT
                End If
        Next xF2
    Next xF1
xStrValue = ""
For xF1 = 0 To UBound(xSArr)
    xStrValue = xStrValue & xSArr(xF1) & DelimiterChar
Next xF1
SortCellWithSeparator = xStrValue
SortCellWithSeparator = Left(SortCellWithSeparator, Len(SortCellWithSeparator) - 1)
If IncludeSpaces = True Then SortCellWithSeparator = WorksheetFunction.Substitute(SortCellWithSeparator, ",", ", ")
End Function

3. Spara och stäng sedan den här koden, återgå till ditt kalkylblad, ange denna formel =SortCellWithSeparator(A2,",",TRUE) in i en tom cell där resultatet ska returneras, och dra sedan fyllningshandtaget nedåt för att kopiera formeln till andra celler, alla textsträngar i cellerna kommer att sorteras i alfabetisk ordning, se skärmdump:

Anmärkningar: Om dina textsträngar separeras av andra avgränsare behöver du bara ändra kommatecknet i den här formeln till din egen separator.


5.2 Omvänd / vänd ordningen på data i en kolumn eller rad

Ibland kan du behöva vända ordningen på data upp och ned i ett vertikalt dataområde eller från vänster till höger i ett horisontellt dataområde. Det här avsnittet kommer att introducera tre metoder för dig att lösa denna uppgift i Excel.

 Vänd / vänd ordningsföljden för data i en kolumn eller rad med formler

Följande formler kan hjälpa till att vända ordningen på data i en kolumn eller rad, gör så här:

Vänd ordningen på data i en kolumn

Skriv in eller kopiera följande formel till en tom cell där du vill placera resultatet och dra sedan fyllningshandtaget ner till cellerna för att returnera cellvärdena i omvänd ordning, se skärmdump:

=OFFSET($A$10,-(ROW(A1)-1),0)

Anmärkningar: I ovanstående formel, A1 är den första cellen och A10 är den sista cellen i kolumnen.


Vänd ordningen på data i en rad

Tillämpa nedanstående formel för att vända ordningen på data horisontellt i rad:

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

Anmärkningar: I ovanstående formel, A1 är den första cellen i raden, och 1:1 är det radnummer som dina data hittade. Om data finns i rad 10 bör du ändra den till 10:10.

Dra sedan fyllningshandtaget höger till cellerna tills alla värden har extraherats, och du kommer att få all data omvänd horisontellt, se skärmdump:


 Omvänd / vänd ordningsföljden för data i flera kolumner eller rader med VBA -kod

Ovanstående formler fungerar bara bra för en enda kolumn eller rad. Om det finns flera kolumner eller rader med data som ska vändas kan följande VBA -koder hjälpa dig.

Vänd ordningen på data i ett cellområde vertikalt

1. Först bör du säkerhetskopiera dina originaldata och sedan hålla ned ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Vänd ett område av celler i omvänd ordning vertikalt

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta kommer att dyka upp och ber dig välja det dataintervall som du vill vända vertikalt, se skärmdump:

4. Klicka sedan OK -knappen, kommer dataområdet att vändas vertikalt enligt nedanstående skärmdumpar:


Vänd ordningen på data i ett cellintervall horisontellt

För att vända dataområdet i horisontell ordning, använd nedanstående VBA-kod:

VBA-kod: Vänd ett område av celler i omvänd ordning vertikalt

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

Efter att ha kört denna kod har data i rader vänds horisontellt, se skärmdumpar:


 Omvänd / vänd ordningen på data i kolumner eller rader med bara ett klick

Om du har Kutools för Excel, med dess Vänd vertikalt intervall och Vänd horisontellt område funktioner kan du vända cellområdet vertikalt och horisontellt med bara ett klick.

När du har installerat Kutools för Excel, gör så här:

Vänd ordningen på data i ett cellområde vertikalt

1. Välj det dataintervall som du vill vända och klicka sedan på Kutools > Mätområde > Vänd vertikalt intervall > Alla / Endast vändvärden, se skärmdump:

tips: Om du väljer Alla alternativet kommer all cellformatering att vändas samtidigt; Om du väljer Endast vändvärden, kommer endast cellvärdena att vändas.

2. Och sedan kommer dataområdet att vändas vertikalt på en gång.


Vänd ordningen på data i ett cellintervall horisontellt

1. Välj dataområdet och klicka sedan på Kutools > Mätområde > Vänd horisontellt område > Alla / Endast vända värden, se skärmdump:

tips: Om du väljer Alla alternativet kommer all cellformatering att vändas samtidigt; Om du väljer Endast vändvärden, kommer endast cellvärdena att vändas.

2. Sedan kommer alla cellvärden i urvalet att vändas horisontellt omedelbart som nedanstående skärmdumpar:


5.3 Sortera kalkylbladets flikar i alfabetisk ordning eller flikfärg i Excel

Om du antar att det finns ett stort antal kalkylblad i din arbetsbok, om du behöver sortera arkflikarna i alfabetisk ordning eller sortera arkflikarna baserat på flikfärgen, den normala metoden - dra och släpp arkflikar kommer att slösa bort mycket tid. I det här avsnittet kommer jag att diskutera några knep för att ordna arkflikarna i stigande eller fallande ordning.

 Sortera flikar i kalkylblad i alfabetisk ordning med VBA -kod

Följande VBA -kod kan hjälpa till att sortera bladflikarna alfabetiskt i stigande eller fallande ordning, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra sedan in följande makro i Modulerna Fönster.

VBA: Sortera alla ark i alfabetisk ordning

Sub SortWorkBook()
'Updateby Extendoffice
Dim xResult As VbMsgBoxResult
xTitleId = "KutoolsforExcel"
xResult = MsgBox("Click Yes to sort sheets in ascending order;" & Chr(10) & "Click No will sort in descending order", vbYesNoCancel + vbQuestion + vbDefaultButton1, xTitleId)
For i = 1 To Application.Sheets.Count
    For j = 1 To Application.Sheets.Count - 1
        If xResult = vbYes Then
            If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
                Sheets(j).Move after:=Sheets(j + 1)
            End If
            ElseIf xResult = vbNo Then
                If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then
                    Application.Sheets(j).Move after:=Application.Sheets(j + 1)
            End If
        End If
    Next
Next
End Sub

3. Tryck sedan på F5 för att köra det här makrot, klicka i följande promptruta Ja, alla kalkylblad kommer att sorteras i stigande alfabetisk ordning; Klick Nej, kommer alla kalkylblad att sorteras i fallande alfabetisk ordning efter behov.


 Sortera kalkylbladflikar i alfabetisk / alfanumerisk ordning med en kraftfull funktion

Kutools för Excel ger en kraftfull funktion - Sortera ark, med den här funktionen kan du sortera kalkylbladen i alfabetisk eller alfanumerisk ordning, sortera arken baserat på flikfärgen eller vända flikarna efter behov.

När du har installerat Kutools för Excel, gör med följande steg:

1. Öppna arbetsboken som du vill sortera arkflikarna och klicka sedan på Kutools Plus > Arbetsblad > Sortera ark, se skärmdump:

2. I Sortera ark Välj en sorteringstyp som du behöver i den högra rutan, till exempel Alpha sortering, Alfanumerisk sortering. Se skärmdump:

3. Klicka sedan Ok knappen, kommer alla kalkylblad att sorteras baserat på sorteringstypen du angav. Se skärmdumpar:


 Sortera kalkylbladflikar baserat på flikfärg med VBA -kod

Det är vanligt att vi sorterar kalkylbladsflikarna alfabetiskt i Excel, men har du någonsin försökt sortera bladflikarna utifrån flikfärgen? Nedanstående VBA -kod kan hjälpa till att lösa detta problem, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra sedan in följande makro i Modulerna Fönster.

VBA: Sortera alla ark baserat på flikfärg

Sub SortWorkBookByColor()
'Updateby20140624
Dim xArray1() As Long
Dim xArray2() As String
Dim n As Integer
Application.ScreenUpdating = False
If Val(Application.Version) >= 10 Then
    For i = 1 To Application.ActiveWorkbook.Worksheets.Count
        If Application.ActiveWorkbook.Worksheets(i).Visible = -1 Then
            n = n + 1
            ReDim Preserve xArray1(1 To n)
            ReDim Preserve xArray2(1 To n)
            xArray1(n) = Application.ActiveWorkbook.Worksheets(i).Tab.Color
            xArray2(n) = Application.ActiveWorkbook.Worksheets(i).Name
        End If
    Next
    For i = 1 To n
        For j = i To n
            If xArray1(j) < xArray1(i) Then
                temp = xArray2(i)
                xArray2(i) = xArray2(j)
                xArray2(j) = temp
                temp = xArray1(i)
                xArray1(i) = xArray1(j)
                xArray1(j) = temp
            End If
        Next
    Next
    For i = n To 1 Step -1
        Application.ActiveWorkbook.Worksheets(CStr(xArray2(i))).Move after:=Application.ActiveWorkbook.Worksheets(Application.ActiveWorkbook.Worksheets.Count)
    Next
End If
Application.ScreenUpdating = True
End Sub

3. Tryck sedan på F5 för att köra den här koden, kommer arken med samma flikfärg att sorteras tillsammans. Se skärmdumpar:


 Sortera kalkylbladflikar baserat på flikfärg med en fantastisk funktion

Med Kutools för ExcelÄr Sortera ark funktionen kan du också sortera kalkylbladsflikarna efter färg snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Klicka på Kutools Plus > Arbetsblad > Sortera ark att gå på Sortera ark dialogrutan, i Sortera ark dialogrutan, klicka Färgsortering knappen i den högra rutan, se skärmdump:

2. Klicka sedan Ok knappen, kommer arken med samma flikfärg att ordnas tillsammans enligt nedanstående skärmdumpar:


  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner och förvaring av data; Delat cellinnehåll; Kombinera duplicerade rader och summa / genomsnitt... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Favorit och sätt snabbt in formler, Intervall, diagram och bilder; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Gruppering av pivottabell efter veckonummer, veckodagen och mer ... Visa olåsta, låsta celler av olika färger; Markera celler som har formel / namn...
kte-flik 201905
  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Comments (1)
Rated 4 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Cho mình hỏi Cách tạo thanh công ngày và giờ đến ngày và giờ
Và xuất dữ liệu
Rated 4 out of 5
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations