idag kommer jag att visa hur man sorterar en dataset i Excel efter datum.
när vi arbetar i Excel måste vi ofta arbeta med datum. Från insättning till manipulation och allt däremellan. Vi får en uppsättning data där vi ska sortera data enligt datumen, i antingen stigande eller fallande ordning.
Läs mer: Excel Sortera efter datum och tid och hur man sorterar datum i Excel efter år (4 enkla sätt)
idag kommer jag att visa hur du kan fixa det.
ladda ner Övningsarbetsboken
Här har vi en dataset med ID, namn och anslutningsdatum för vissa anställda i ett företag som heter Mars Group.
vårt mål idag är att sortera de anställda enligt deras anslutningsdatum i stigande ordning.
Sortera efter datum med Sortera & filtrera från Excel Toolbar
först av allt, vi kommer att sortera dem med hjälp av Sortera & Filter avsnitt från Excel Toolbar.
Välj hela datauppsättningen och gå till hem>Sortera & filteralternativ i Excel-verktygsfältet.
klicka på rullgardinsmenyn. Du får några alternativ. Välj Anpassad Sortering.
du kommer att presenteras med dialogrutan Anpassad sortering.
Läs mer: Så här skapar du Anpassad Sorteringslista i Excel
under Kolumnalternativet I Sortera efter väljer du kolumnen enligt vilken du vill sortera. För detta exempel, välj anslutningsdatum.
välj sedan cellvärden under alternativet Sortera på.
och välj antingen stigande eller fallande ordning under Orderalternativet. För detta exempel väljer du sortera stigande.
klicka sedan på OK.
du hittar hela datamängden sorterad enligt anslutningsdatum i stigande ordning så här:
och visst kan du också sortera dem i fallande ordning om du vill.
följ samma procedur.
Sortera efter datum med sorteringsfunktionen
vi har redan sorterat hela datamängden en gång i föregående avsnitt.
men vad händer om man inte vill ändra den ursprungliga datamängden och bara vill skapa en kopia av en sorterad datamängd på en annan plats?
du kan använda detta med sorteringsfunktionen i Excel.
välj en cell och infoga denna formel:
=SORT(B4:D19,3,1,FALSE)
och du får en sorterad kopia av datamängden.
här har vi sorterat efter anslutningsdatum i stigande ordning.
förklaring av formeln
- sorteringsfunktionen tar fyra argument: array, sort_index, sort_order och by_col.
- arrayen är det cellområde som du vill sortera. Här vill vi Sortera hela datamängden, så vår array är B4:D19.
- Sort_index är numret på raden eller kolumnen enligt vilken du vill sortera, i matrisen.
här vill vi sortera enligt anslutningsdatum, vilket är den 3: e kolumnen i vår array.
således är vår sort_index 3.
- Sort_order avgör om du vill sortera i stigande eller fallande ordning. 1 för stigande ordning och -1 för fallande ordning.
här vill vi sortera i stigande ordning. Vi använde 1. Du använder din.
- By_col berättar om du vill sortera radvis eller kolumnvis. Sant om du vill ha kolumnvis, falskt om du vill ha radvis.
här vill vi Sortera dataradvis.
så du använder FALSE.
- därför blir den fullständiga formeln
SORT(B4:D19,3,1,FALSE)
. Det sorterar cellområdet B4: D19 enligt kolumn nummer 3 i stigande ordning.
Sortera efter datum med SORTBY-funktionen
nu kan du fråga:
vad händer om jag inte vill sortera hela datamängden, bara ID och namn, men enligt anslutningsdatum?
du kan inte utföra detta med sorteringsfunktionen.
men du kan utföra detta med SORTBY-funktionen i Excel.
välj en cell och infoga denna formel:
=SORTBY(
B4:C19
,
D4:D19
,1)
du får medarbetar-ID och anställdas namn sorterade i stigande ordning, enligt anslutningsdatum.
förklaring av formeln
- SORTBY-funktionen tar tre argument: array, by_array och sort_order.
- arrayen är intervallet för de celler som du vill sortera. Vi vill sortera de två kolumnerna, anställd ID och anställd namn.
så vår array är B4:C19.
- By_array är kolumnen enligt vilken du vill sortera. Det kan vara inom eller utanför matrisen.
vi vill sortera enligt anslutningsdatum. Så vår by_array är D4: D19.
- Sort_order är den ordning som du vill sortera. 1 för stigande ordning, -1 för fallande ordning.
vi vill sortera i stigande ordning. Vi använde 1. Du använder din.
- därför blir den fullständiga formeln
SORTBY(
B4:C19
,
D4:D19
,1)
. Det sorterar cellområdet B4:C19 enligt kolumnen D4: D19 i stigande ordning.
du kunde också ha sorterat hela datamängden med SORTBY-funktionen.
Sortera efter månader med funktionen SORTBY och månad
hittills har vi bara sorterat efter hela Datum.
vi kan också sortera datamängden specifikt efter månader med hjälp av SORTBY-och MÅNADSFUNKTIONERNA i Excel.
för att sortera datauppsättningen enligt månaderna för anslutningsdatum, välj en ny cell och sätt in denna formel:
=SORTBY(B4:D19,MONTH(D4:D19),1)
hittar du datamängden sorterad efter månaderna för de anställdas anslutningsdatum i stigande ordning.
förklaring av formeln
- här är arrayen som ska sorteras intervallet B4:D19.
- by_array-argumentet är arrayen som returneras med formeln
MONTH(D4:D19)
. Den returnerar månadsnumret för anslutningsdatum. - sorteringsordningen är 1, eftersom vi sorterar i stigande ordning. För att sortera i fallande ordning använd -1.
- så formeln
SORTBY(B4:D19,MONTH(D4:D19),1)
sorterar datamängden B4: D19 enligt månaderna för datumen D4:D19, i stigande ordning.
Sortera efter dagar med funktionerna SORTBY och DAY
om du vill kan du använda kombinationen av SORTBY och DAY-funktionen för att sortera datamängden enligt dagsektionen i anslutningsdatumen.
så här är hur vi kommer att skriva formel:
=SORTBY(B4:D19,DAY(D4:D19),1)
Sortera efter år med funktionen SORTBY och YEAR
du kan också sortera datamängden enligt bara åren för anslutningsdatumen. Formeln kommer att vara:
=SORTBY(
B4:D19
,YEAR(
D4:D19
),1)
vi kommer att få datamängden sorterad efter åren i stigande ordning.
Sortera efter dagar och månader med funktionerna SORTBY, dag och månad
den här gången har vi en ny dataset.
vi har ID, namn och födelsedagar för några elever på en skola som heter Sunflower Kindergarten.
nu sorterar vi datamängden efter dagar och månader efter studenternas födelsedagar, i stigande ordning.
till exempel, om tre födelsedagar är 10-Aug-2008, 5-Mar-2010 och 12-Dec-2009, kommer serien att vara 5-Mar-2010, 10-Aug-2008 och 12-Dec-2009.
för att uppnå detta, välj en ny cell och infoga denna formel:
=SORTBY(B4:D19,MONTH(D4:D19)+(DAY(D4:D19)/100))
vi kommer att få datamängden sorterade efter stigande födelsedagar.
förklaring av formeln
- här är matrisen som ska sorteras B4:D19.
- by_array-argumentet är arrayen som returneras med formeln
MONTH(D4:D19)+(DAY(D4:D19)/100)
.
det delar dagarna med 100 och lägger sedan till dem med månaderna.
till exempel blir 2-Jan 1 (januari)+(2/100)=1.02
16-Jan blir 1.16
25-Feb blir 2.25
9-Dec blir 12.09
på detta sätt kommer dagen som kommer först under året att ha det minsta värdet även om två datum har samma månad.
och dagen som kommer sist i året kommer att ha det största värdet även om två datum har samma månad
- sorteringsordningen är 1 eftersom vi sorterar i stigande ordning. För att sortera i fallande ordning använd -1.
- så formeln
SORTBY(B4:D19,MONTH(D4:D19)+(DAY(D4:D19)/100))
sorterar datamängden B4:D19 enligt endast månader och dagar för datumen D4:D19, i stigande ordning.
Sortera efter datum med hjälp av INDEX-MATCH, rad och rang funktioner
nu, titta på denna nya datamängd.
vi har nästan samma som den första datamängden, men en ny kolumnlön har infogats mellan anställdas namn och anslutningsdatum.
nu, vad händer om vi inte vill sortera alla kolumner, bara medarbetar-ID, anställdas namn och anslutningsdatum, enligt anslutningsdatumet?
du kan inte utföra detta med hjälp av sorterings-eller SORTBY-funktionen i Excel.
med hjälp av sorterings – och SORTBY-funktionerna kan du bara sortera de intilliggande kolumnerna, inte de icke-angränsande.
det betyder att du kan sortera namn, löner och anslutningsdatum. Eller ID, namn och löner. Eller namn och löner.
men inte ID, namn och anslutningsdatum.
du kan använda en kombination av INDEXMATCHNINGS–, rad-och RANGFUNKTIONERNA i Excel för att sortera kolumnerna som inte ligger intill varandra.
Läs mer: Sortera Kolumn Efter värde i Excel
för att sortera ID, namn och anslutningsdatum enligt anslutningsdatum, i stigande ordning, välj en ny cell och sätt in denna formel:
=INDEX(B4:E19,MATCH(ROW(A1:A16),RANK(E4:E19,E4:E19,1),0),{1,2,4})
du hittar medarbetar-ID, anställdas namn och anslutningsdatum sorterade i stigande ordning, enligt anslutningsdatum.
förklaring av formeln
-
ROW(A1:A16)
returnerar en array med siffrorna från 1 till 16, som {1, 2, 3, …, 16}. Jag har tagit från 1 till 16 eftersom var och en av mina kolumner har 16 värden (B4:B19).
du använder din en.
-
RANK(E4:E19,E4:E19,1)
returnerar en array som innehåller rangordningen för var och en av cellerna i kolumnen E4:E19 i stigande ordning. För att komma i fallande ordning, använd 0 i stället för 1. -
MATCH(ROW(A1:A16),RANK(E4:E19,E4:E19,1),0)
returnerar positionen för var och en av siffrorna i matrisen {1, 2, 3, …, 16} i arrayen returneras av RANK-funktionen.
det betyder att det först Returnerar radnumret för 1: a datumet i den ursprungliga datamängden, i stigande ordning.
sedan Returnerar radnumret för 2: a datumet.
sedan den 3: e datum.
återgår således till det 16: e datumet.
- slutligen returnerar
INDEX(B4:E19,MATCH(ROW(A1:A16),RANK(E4:E19,E4:E19,1),0),{1,2,4})
kolumnerna 1,2 och 4 (ID, namn och anslutningsdatum) från intervallet B4:E19 i stigande ordning.
för att sortera andra kolumner, justera formeln i enlighet därmed.
Obs!: sorterings-och SORTBY-funktionerna är endast tillgängliga i Office 365. Så om du inte har en Office 365-prenumeration måste du använda den här proceduren.
felsöka problem som du kan möta för att Sortera efter datum i Excel
när du arbetar med datum i Excel står vi inför några vanliga problem.
Excel känner inte igen ett datum som ett datum
Detta är det vanligaste problemet. Ibland sätter vi in ett datum i en cell i Excel med vårt konventionella sätt (mm-dd-yyyy eller dd-mm-yyyy) men Excel känner inte igen det som ett datum.
för att lösa detta problem, använd DATUMFUNKTIONEN i Excel istället för att infoga datumet manuellt.
om du till exempel vill infoga 2-maj-1996 i vissa celler, använd datum(1996,5,2), inte 05-02-96.
och hur man vet om Excel har erkänt ett datum som ett datum eller inte?
lätt. Om datumet är justerat rätt i cellen som standard har Excel erkänt det som ett datum.
men om det är justerat till vänster har Excel inte.
i bilden nedan känner Excel igen den första som ett datum, men inte den andra.
fel med formlerna med datum
Detta är också ett vanligt problem. När vi infogar ett datum direkt i en formel visar Excel ett fel.
för att lösa detta problem, använd inte ett datum direkt i en formel på konventionellt sätt. Använd funktionen Datum för att infoga ett datum i en formel.
använd till exempel inte =MONTH(05-02-96)
.
använd =MONTH(DATE(1996,5,2))
bli förvirrad när du ser ett datum i allmänt Format
ibland känner Excel igen ett datum som ett datum, men vi blir förvirrade när vi ser det i allmänt format (som är inställt som standard).
till exempel kommer datumet 2-maj-1996 att visa 35187 som standard (om du inte ändrar formatet korrekt).
för att lösa problemet, välj cellen och gå till hem>nummerformat i Excel-verktygsfältet. Välj sedan Kort Datum.
slutsats
med hjälp av dessa metoder kan du sortera alla dataset i Excel enligt datum, i både stigande och fallande ordning. Känner du till fler metoder? Eller har du några frågor? Känn dig fri att fråga oss.
Ytterligare Avläsningar:
- Excel Sortera datum i kronologisk ordning (6 effektiva sätt)
- så här sorterar du efter efternamn i Excel (4 metoder)
- så här sorterar du flera kolumner i Excel (5 snabba tillvägagångssätt)
- så här sorterar du automatiskt flera kolumner i Excel (3 Sätt)
- så här sorterar du två kolumner i Excel för att matcha partiell matchning)
- så här sorterar du data efter färg i Excel (4 kriterier)
- så här sorterar du alfabetiskt i Excel med flera kolumner (4 metoder)