Innehållsförteckning
I handledningen förklaras hur du använder Excel-funktioner för att konvertera text till datum och antal till datum, och hur du omvandlar textsträngar till datum på ett ickeformulärt sätt. Du lär dig också hur du snabbt ändrar ett antal till datumformat.
Eftersom Excel inte är det enda programmet du arbetar med, kommer du ibland att arbeta med datum som importeras till ett Excel-arbetsblad från en csv-fil eller en annan extern källa. När det händer är det troligt att datumen exporteras som textposter. Även om de ser ut som datum, känner Excel inte igen dem som sådana.
Det finns många sätt att konvertera text till datum i Excel och den här handledningen syftar till att täcka dem alla, så att du kan välja den teknik för konvertering av text till datum som passar bäst för ditt dataformat och din preferens för en formel eller ett annat sätt.
Hur skiljer man normala Excel-datum från "textdatum"?
När du importerar data till Excel finns det ofta problem med datumformatering. De importerade posterna kan se ut som vanliga Excel-datum för dig, men de beter sig inte som datum. Microsoft Excel behandlar sådana poster som text, vilket innebär att du inte kan sortera din tabell efter datum på rätt sätt, och du kan inte heller använda dessa "textdatum" i formler, pivottabeller, diagram eller något annat Excel-verktyg som känner igen datum.
Det finns några tecken som kan hjälpa dig att avgöra om en viss post är ett datum eller ett textvärde.
Datum | Textvärden |
|
|
Hur man konverterar nummer till datum i Excel
Eftersom alla Excel-funktioner som omvandlar text till datum returnerar ett tal som resultat, ska vi först titta närmare på hur man omvandlar tal till datum.
Som du säkert vet lagrar Excel datum och tider som serienummer och det är bara cellens formatering som tvingar ett nummer att visas som ett datum. Till exempel lagras 1-Jan-1900 som nummer 1, 2-Jan-1900 som nummer 2 och 1-Jan-2015 som nummer 42005. Mer information om hur Excel lagrar datum och tider finns i Excel datumformat.
När du beräknar datum i Excel är resultatet som returneras av olika datumfunktioner ofta ett löpnummer som representerar ett datum. Om till exempel =TODAY()+7 returnerar ett nummer som 44286 istället för datumet som är 7 dagar efter idag, betyder det inte att formeln är fel. Cellformatet är helt enkelt inställt till Allmänt eller . Text medan det borde vara Datum .
För att konvertera ett sådant serienummer till ett datum behöver du bara ändra cellnumrets format. För detta väljer du helt enkelt Datum i den Format för nummer på den Hem fliken.
Om du vill tillämpa ett annat format än standardformat markerar du cellerna med serienummer och trycker på Ctrl+1 för att öppna Formatera celler dialog. På den Antal väljer du Datum , välj önskat datumformat under Typ och klicka på OK.
Japp, det är så enkelt! Om du vill ha något mer sofistikerat än fördefinierade Excel-datumformat kan du se hur du skapar ett eget datumformat i Excel.
Om ett envist nummer vägrar att ändras till ett datum kan du läsa Excel datumformat fungerar inte - tips för felsökning.
Hur man konverterar 8-siffrigt nummer till datum i Excel
Det är en mycket vanlig situation när ett datum matas in som ett 8-siffrigt tal, till exempel 10032016, och du behöver konvertera det till ett datumvärde som Excel kan känna igen (10/03/2016). I det här fallet fungerar det inte att bara ändra cellformatet till Datum - du får ########## som resultat.
För att konvertera ett sådant tal till datum måste du använda funktionen DATE i kombination med funktionerna RIGHT, LEFT och MID. Tyvärr är det inte möjligt att göra en universell formel som fungerar i alla scenarier eftersom det ursprungliga talet kan anges i en mängd olika format. Till exempel:
Antal | Format | Datum |
10032016 | ddmmyyyyyy | 10-Mar-2016 |
20160310 | yyyymmdd | |
20161003 | yyyyddmm |
Jag ska försöka förklara hur man generellt sett omvandlar sådana tal till datum och ge några exempel på formler.
Till att börja med ska du komma ihåg ordningen på argumenten för Excel Date-funktionen:
DATE(år, månad, dag)Det du behöver göra är att extrahera år, månad och datum från det ursprungliga numret och ange dem som motsvarande argument till Date-funktionen.
Låt oss till exempel se hur du kan konvertera talet 10032016 (lagrat i cell A1) till datumet 3/10/2016.
- Extrahera den år Det är de fyra sista siffrorna, så vi använder funktionen RIGHT för att välja de fyra sista tecknen: RIGHT(A1, 4).
- Extrahera den månad Det är den tredje och fjärde siffran, så vi använder MID-funktionen för att få fram dem MID(A1, 3, 2), där 3 (andra argumentet) är startnumret och 2 (tredje argumentet) är antalet tecken som ska extraheras.
- Extrahera den dag Det är de två första siffrorna, så vi har funktionen LEFT som returnerar de två första tecknen: LEFT(A2,2).
Slutligen bäddar du in ovanstående ingredienser i Date-funktionen och får en formel för att konvertera tal till datum i Excel:
=DATE(HÖGER(A1,4), MITTEN(A1,3,2), VÄNSTER(A1,2))
Följande skärmdump visar detta och några andra formler i praktiken:
Var uppmärksam på den sista formeln i skärmdumpen ovan (rad 6). Det ursprungliga numret-datum (161003) innehåller bara två tecken som representerar ett år (16). Så för att få fram år 2016 sammanfogar vi 20 och 16 med följande formel: 20&LEFT(A6,2). Om du inte gör det här kommer Date-funktionen som standard att återge 1916, vilket är lite konstigt, som om Microsoft fortfarande levde på 1900-talet :)
Observera: Formlerna som visas i detta exempel fungerar korrekt så länge som alla nummer du vill konvertera till datum följer du samma mönster .
Hur man konverterar text till datum i Excel
När du hittar textdatum i din Excel-fil vill du sannolikt konvertera dessa textsträngar till vanliga Excel-datum så att du kan hänvisa till dem i dina formler för att utföra olika beräkningar. Och som ofta är fallet i Excel finns det några olika sätt att hantera uppgiften.
Excel DATEVALUE-funktionen - ändra text till datum
DATEVALUE i Excel konverterar ett datum i textformat till ett serienummer som Excel känner igen som ett datum.
Syntaxen för Excels DATEVALUE är mycket enkel:
DATEVALUE(date_text) Så formeln för att konvertera ett textvärde till datum är så enkel som =DATEVALUE(A1)
, där A1 är en cell med ett datum som lagrats som en textsträng.
Eftersom Excel-funktionen DATEVALUE omvandlar ett textdatum till ett löpnummer måste du få numret att se ut som ett datum genom att tillämpa datumformatet på det, som vi diskuterade för en stund sedan.
Följande skärmdumpar visar några Excel DATEVALUE-formler i praktiken:
Excel DATEVALUE-funktionen - saker att komma ihåg
När du konverterar en textsträng till ett datum med hjälp av funktionen DATEVALUE ska du tänka på följande:
- Tidsinformation i textsträngar ignoreras, vilket du kan se i raderna 6 och 8 ovan. Om du vill konvertera textvärden som innehåller både datum och tider använder du funktionen VALUE.
- Om året inte anges i ett textdatum väljer Excels DATEVALUE det aktuella året från datorns systemklocka, vilket visas i rad 4 ovan.
- Eftersom Microsoft Excel lagrar datum sedan den 1 januari 1900 kommer användningen av Excel-funktionen DATEVALUE för tidigare datum att resultera i felet #VALUE!
- DATEVALUE-funktionen kan inte konvertera ett numeriskt värde till ett datum, och den kan inte heller bearbeta en textsträng som ser ut som ett nummer.För detta måste du använda Excel-funktionen VALUE, och det är precis vad vi kommer att diskutera härnäst.
Excel VALUE-funktion - konvertera en textsträng till datum
Jämfört med DATEVALUE är Excel-funktionen VALUE mer mångsidig. Den kan konvertera alla textsträngar som ser ut som ett datum eller ett nummer till ett nummer, som du enkelt kan ändra till ett datumformat som du själv väljer.
Syntaxen för VALUE-funktionen är följande:
VALUE(text) Var text
är en textsträng eller en referens till en cell som innehåller den text som du vill konvertera till ett nummer.
Excel-funktionen VALUE kan bearbeta både datum och tid omvandlas den senare till en decimaldel, vilket du kan se på rad 6 i följande skärmdump:
Matematiska operationer för att konvertera text till datum
Förutom att använda specifika Excel-funktioner som VALUE och DATEVALUE kan du utföra en enkel matematisk operation för att tvinga Excel att göra en text-till-datum-omvandling åt dig. Det nödvändiga villkoret är att en operation bör inte ändra datumets värde (serienummer). Låter det lite knepigt? Följande exempel gör det enkelt!
Om du antar att ditt textdatum finns i cell A1 kan du använda någon av följande formler och sedan tillämpa datumformatet på cellen:
- Tillägg:
=A1 + 0
- Multiplikation:
=A1 * 1
- Division:
=A1 / 1
- Dubbel negation:
=--A1
Som du kan se i skärmdumpen ovan kan matematiska operationer konvertera datum (rad 2 och 4), tider (rad 6) och siffror formaterade som text (rad 8). Ibland visas resultatet automatiskt som ett datum och du behöver inte ändra cellformatet.
Hur konverterar man textsträngar med egna avgränsare till datum?
Om dina textdatum innehåller någon annan avgränsare än ett snedstreck (/) eller ett streck (-) kan Excel-funktionerna inte känna igen dem som datum och returnerar felet #VALUE!
För att åtgärda detta kan du köra Excels Hitta och ersätta för att ersätta din avgränsare med ett snedstreck (/), allt i ett svep:
- Markera alla textsträngar som du vill konvertera till datum.
- Tryck på Ctrl+H för att öppna Hitta och ersätta dialogrutan.
- Ange din anpassade separator (en punkt i det här exemplet) i fältet Hitta vad och ett snedstreck i fältet Ersätt med
- Klicka på Ersätt alla
DATEVALUE- eller VALUE-funktionen borde inte ha några problem med att konvertera textsträngarna till datum. På samma sätt kan du korrigera datum som innehåller någon annan avgränsare, t.ex. ett mellanslag eller ett snedstreck bakåt.
Om du föredrar en lösning med en formel kan du använda Excels funktion SUBSTITUTE i stället för Ersätt alla för att byta avgränsare till snedstreck.
Om textsträngarna finns i kolumn A kan en SUBSTITUTE-formel se ut på följande sätt:
=SUBSTITUTE(A1, ".", "/")
Där A1 är ett textdatum och "." är den avgränsare som strängarna separeras med.
Låt oss nu bädda in denna SUBSTITUTE-funktion i formeln VALUE:
=VÄRDE(SUBSTITUT(A1, ".", "/"))
Och få textsträngarna konverterade till datum, allt med en enda formel.
Som du ser är Excel-funktionerna DATEVALUE och VALUE ganska kraftfulla, men båda har sina begränsningar. Om du till exempel försöker konvertera komplexa textsträngar som Torsdagen den 01 januari 2015, Lyckligtvis finns det en lösning utan formler som kan hantera denna uppgift och i nästa avsnitt förklaras de detaljerade stegen.
Guiden Text till kolumner - formelfritt sätt att omvandla text till datum
Om du är en användare som inte använder formler kan du använda en gammal Excel-funktion som heter Text till kolumner Den kan hantera enkla textdatum som visas i exempel 1 och textsträngar med flera delar som visas i exempel 2.
Exempel 1. Konvertering av enkla textsträngar till datum
Om de textsträngar som du vill konvertera till datum ser ut som något av följande:
- 1.1.2015
- 1.2015
- 01 01 2015
- 2015/1/1
Du behöver varken formler eller exportera eller importera något, utan det räcker med fem snabba steg.
I det här exemplet konverterar vi textsträngar som 01 01 2015 (dag, månad och år separeras med mellanslag) till datum.
- I Excel-arbetsbladet markerar du en kolumn med textposter som du vill konvertera till datum.
- Växla till Uppgifter fliken, Verktyg för data grupp och klicka på Text till kolumner.
I det här exemplet konverterar vi textdatumen formaterade som "01 02 2015" (månad dag år), så vi väljer MDY från rullgardinsrutan.
Nu känner Excel igen dina textsträngar som datum, omvandlar dem automatiskt till ditt standarddatumformat och visar dem högerjusterade i cellerna. Du kan ändra datumformatet på det vanliga sättet med hjälp av Formatera celler dialog.
Anmärkning. Text till kolumn fungerar korrekt, bör alla dina textsträngar vara formaterade på samma sätt. Om till exempel några av dina poster är formaterade på följande sätt dag/månad/år format medan andra är månad/dag/år skulle du få felaktiga resultat.
Exempel 2. Konvertering av komplexa textsträngar till datum
Om dina datum representeras av textsträngar som består av flera delar, t.ex:
- Torsdag, januari 01, 2015
- Januari 01, 2015 15:00
Du måste anstränga dig lite mer och använda både Text till kolumner och Excel DATE-funktionen.
- Välj alla textsträngar som ska konverteras till datum.
- Klicka på Text till kolumner på knappen på Uppgifter fliken, Verktyg för data grupp.
- I steg 1 i Guiden Konvertera text till kolumner , välj Avgränsad och klicka på Nästa .
- I steg 2 i guiden väljer du vilka avgränsare dina textsträngar innehåller.
Om du till exempel konverterar strängar som är separerade med kommatecken och mellanslag, som " Torsdag, januari 01, 2015" ska du välja båda avgränsarna - kommatecken och blanksteg.
Det är också klokt att välja " Behandla på varandra följande avgränsare som en "för att ignorera extra mellanslag, om det finns sådana i dina data.
Slutligen kan du ta en titt på Förhandsgranskning av data fönstret och kontrollera att textsträngarna delas upp i kolumnerna på rätt sätt, klicka sedan på Nästa .
- I steg 3 i guiden kontrollerar du att alla kolumner i avsnittet Dataförhandsgranskning har Allmänt format. Om de inte gör det, klicka på en kolumn och välj Allmänt under den Format för kolumndata alternativ.
Observera att du inte får välja Datum format för alla kolumner eftersom varje kolumn bara innehåller en komponent, så Excel kan inte förstå att detta är ett datum.
Om du inte behöver någon kolumn klickar du på den och väljer Importera inte kolumnen (hoppa över).
Om du inte vill skriva över de ursprungliga uppgifterna kan du ange var kolumnerna ska infogas - ange adressen för den översta vänstra cellen i fältet Destination fält.
När du är klar klickar du på Slutförande knapp.
Som du ser i skärmbilden ovan hoppar vi över den första kolumnen med veckodagarna och delar upp de andra uppgifterna i tre kolumner (i Allmänt format) och infoga dessa kolumner med början i cell C2.
Följande skärmdump visar resultatet, med de ursprungliga uppgifterna i kolumn A och de delade uppgifterna i kolumnerna C, D och E.
- Slutligen måste du kombinera datumdelarna med hjälp av en DATE-formel. Syntaxen för Excel-funktionen DATE är självförklarande: DATE(år, månad, dag)
I vårt fall,
år
finns i kolumn E ochdag
är i kolumn D, inga problem med dessa.Det är inte så lätt med
månad
eftersom det är text medan DATE-funktionen behöver ett nummer. Som tur är har Microsoft Excel en speciell funktion MONTH som kan ändra månadens namn till ett månadsnummer:=MONTH(serienummer)
För att funktionen MONTH ska förstå att den har att göra med ett datum, lägger vi in den så här:
=MONTH(1&C2)
Där C2 innehåller månadens namn, Januari i vårt fall. "1&" läggs till för att sammanfoga ett datum ( 1 januari) så att funktionen MONTH kan omvandla den till motsvarande månadsnummer.
Och nu ska vi bädda in funktionen MONTH i
månad
; argumentet i vår DATE-formel:=DATE(F2,MONTH(1&D2),E2)
Och voila, våra komplexa textsträngar har framgångsrikt konverterats till datum:
Snabb konvertering av textdatum med hjälp av Paste Special
Om du snabbt vill konvertera ett antal enkla textsträngar till datum kan du använda följande knep.
- Kopiera en tom cell (markera den och tryck Ctrl + C ).
- Välj det intervall med textvärden som du vill konvertera till datum.
- Högerklicka på urvalet, klicka på Klistra in speciellt och välj Lägg till i den Klistra in speciellt dialogrutan:
Det du just har gjort är att be Excel att lägga till en nolla (tom cell) till dina textdatum. För att kunna göra detta omvandlar Excel en textsträng till ett nummer, och eftersom en nolla inte ändrar värdet får du exakt det du ville ha - datumets serienummer. Som vanligt ändrar du ett nummer till datumformatet med hjälp av Formatera celler dialog.
Om du vill veta mer om funktionen Klistra in specialfunktioner kan du läsa Hur du använder Klistra in specialfunktioner i Excel.
Fastställande av textdatum med tvåsiffriga årtal
De moderna versionerna av Microsoft Excel är tillräckligt smarta för att upptäcka uppenbara fel i dina data, eller rättare sagt, vad Excel anser vara ett fel. När detta händer ser du en felindikator (en liten grön triangel) i det övre vänstra hörnet av cellen och när du markerar cellen visas ett utropstecken:
Om du klickar på utropstecknet visas några alternativ som är relevanta för dina data. Om du har ett tvåsiffrigt årtal frågar Excel om du vill konvertera det till 19XX eller 20XX.
Om du har flera poster av den här typen kan du åtgärda dem alla på en gång - markera alla celler med fel, klicka sedan på utropstecknet och välj rätt alternativ.
Så här aktiverar du felkontroll i Excel
Vanligtvis är felkontrollen aktiverad i Excel som standard. För att kontrollera detta klickar du på Fil > Alternativ > Formler , bläddra ner till Kontroll av fel och kontrollera om följande alternativ är markerade:
- Aktivera felkontroll i bakgrunden under Kontroll av fel ;
- Celler som innehåller årtal representerade som 2 siffror under Regler för felkontroll .
Hur du ändrar text till datum i Excel på ett enkelt sätt
Som du ser är det långt ifrån enkelt att konvertera text till datum i Excel med ett klick. Om du är förvirrad av alla olika användningsområden och formler, låt mig visa dig ett snabbt och enkelt sätt.
Installera vår Ultimate Suite (en gratis testversion kan laddas ner här), växla till Verktyg för Ablebits (2 nya flikar med över 70 fantastiska verktyg kommer att läggas till i din Excel!) och hitta Text till datum knapp:
Så här gör du för att konvertera textdatum till vanliga datum:
- Markera cellerna med textsträngar och klicka på Text till datum knapp.
- Ange den datumordning (dagar, månader och år) i de valda cellerna.
- Välj om du vill inkludera eller inte inkludera tid i de omräknade datumen.
- Klicka på Konvertera .
Så är det! Resultaten av konverteringen visas i den intilliggande kolumnen, dina källdata bevaras. Om något går fel kan du helt enkelt radera resultaten och försöka igen med en annan datumordning.
Tips: Om du har valt att konvertera tider och datum, men tidsenheterna saknas i resultaten, se till att tillämpa ett sifferformat som visar både datum- och tidsvärden. Mer information finns i Hur man skapar anpassade datum- och tidsformat.
Om du är nyfiken på att lära dig mer om det här fantastiska verktyget kan du gå in på hemsidan: Text to Date for Excel.
Så här omvandlar du text till datum i Excel och ändrar datum till text. Förhoppningsvis har du kunnat hitta en teknik som passar dig. I nästa artikel tar vi oss an den motsatta uppgiften och utforskar olika sätt att omvandla Excel-datum till textsträngar. Jag tackar dig för att du läste och hoppas att vi ses nästa vecka.