Innehållsförteckning
CSV öppnas inte korrekt i Excel? Handledningen undersöker typiska problem och ger de mest effektiva lösningarna.
CSV-formatet används ofta för att importera/exportera data mellan olika kalkylprogram. Namnet CSV (comma separated values) innebär att man använder kommatecken för att separera datafält. Men det är bara i teorin. I praktiken separerar många så kallade CSV-filer data med andra tecken, till exempel semikolon eller tabulatorer. Vissa implementationer omsluter datafälten med enkla eller dubbla citattecken, medanAndra kräver en Unicode byte order mark (BOM), t.ex. UTF-8, för korrekt Unicode-tolkning. Bristen på standard ger upphov till olika problem vid konverteringar från CSV till Excel.
CSV-filen öppnas i en kolumn i Excel
Symtom . När du öppnar en csv-fil i Excel visas alla data i en enda kolumn.
Orsak För att dela upp data i kolumner använder Excel den listseparator som anges i de regionala inställningarna i Windows. Det kan vara antingen ett kommatecken (i Nordamerika och vissa andra länder) eller semikolon (i europeiska länder). När den avgränsare som används i en viss .csv-fil skiljer sig från standardseparatorn öppnas filen i en kolumn.
Lösningar Det finns flera möjliga lösningar för detta fall, bland annat VBA-makron eller en global ändring i Windows-inställningarna. Vi visar hur du snabbt kan åtgärda problemet utan att ändra standardseparatorn för listor på din dator, så att inget av dina program påverkas.
Ändra avgränsare i CSV-fil
För att Excel ska kunna läsa CSV med en annan separator kan du definiera avgränsaren direkt i filen. Öppna filen med en valfri textredigerare (Anteckningsblock fungerar bra) och lägg till nedanstående text på den första raden. Observera att det ska vara en separat rad före alla andra data:
- Separera med kommatecken: sep=,
- För att separera med semikolon: sep=;
På samma sätt kan du ange vilken annan anpassad separator som helst - skriv bara in den efter likhetstecknet.
När du har definierat en lämplig separator kan du nu öppna filen på vanligt sätt, från Excel eller från Utforskaren.
Ange avgränsare vid import av CSV-fil till Excel
Istället för att öppna en csv-fil i Excel kan du importera den med hjälp av antingen Text Import Wizard (i alla versioner) eller Power Query (i Excel 365 - 2016).
Guiden för textimport ( Uppgifter flik> Från text ) erbjuder några valmöjligheter för avgränsare i steg 2. I allmänhet väljer du:
- Komma för filer med kommaseparerade värden
- Fliken för textfiler
- Semikolon för filer med semikolonseparerade värden
Om du är osäker på vilket avgränsare dina data innehåller, prova olika avgränsare och se vilken som fungerar bäst i förhandsgranskningen av data.
När du skapar en Power Query-anslutning kan du välja avgränsare i dialogrutan Förhandsgranska:
Detaljerade steg-för-steg-instruktioner finns i exemplen ovan.
Dela celler med funktionen Text till kolumner
Om dina data redan har överförts till Excel kan du dela upp dem i olika kolumner med hjälp av Text till kolumner funktionen. I huvudsak fungerar den som guiden Textimport: du väljer en avgränsare och Förhandsgranskning av data återspeglar ändringarna i farten:
Mer information finns i avsnittet Hur du delar celler i Excel.
Hur man behåller ledande nollor i Excel CSV
Symtom. Vissa värden i din csv-fil innehåller inledande nollor. När filen öppnas i Excel försvinner de föregående nollorna.
Orsak Som standard konverterar Microsoft Excel csv-filer till den Allmänt format där ledande nollor tas bort.
Lösning Istället för att öppna importerar du CSV-filen till Excel och väljer Text format för problematiska kolumner.
Använda guiden för textimport
För att börja Guiden Importera text automatiskt, ändra filtillägget från .csv till .txt och öppna sedan textfilen från Excel. Eller aktivera funktionen Från text (äldre) och börja importera CSV-filer till Excel.
I steg 3 i guiden väljer du kolumnen med värden med ledande nollor och ändrar dess format till Text Detta importerar värdena som textsträngar med alla ledande nollor på plats.
Använda Power Query
Om du föredrar att importera en csv-fil till Excel genom att ansluta till den finns det två sätt att behålla ledande nollor.
Metod 1: Importera alla uppgifter i textformat
I dialogrutan för förhandsgranskning, under Detektion av datatyp Välj Upptäck inte datatyper Innehållet i din csv-fil kommer att laddas in i Excel som text och alla ledande nollor kommer att behållas.
Observera: Den här metoden fungerar bra om din fil endast innehåller text data. Om det finns olika typer av värden, använd metod 2 för att definiera ett lämpligt format för varje kolumn för sig.
Metod 2: Ange format för varje kolumn
Om din csv-fil innehåller olika datatyper, t.ex. text, siffror, valutor, datum och tider, kan du uttryckligen ange vilket format som ska användas för varje enskild kolumn.
- Under förhandsgranskningen av data klickar du på Omvandla data .
- I Power Query Editor markerar du den kolumn där du vill behålla föregående nollor och klickar på Datatyp > Text .
- Stäng & Ladda - Detta kommer att ladda resultaten till ett nytt ark i den aktuella arbetsboken.
- Stäng & Ladda Till... - här kan du bestämma var resultaten ska laddas.
Tips: Dessa metoder kan också förhindra andra manipulationer av data som Excel försöker utföra automatiskt. Om de importerade uppgifterna till exempel börjar med "=" kommer Excel att försöka beräkna dem. Text anger du att värdena är strängar, inte formler.
Så här åtgärdar du problem med CSV-datumformatet i Excel
Symtom. Efter att du har konverterat CSV till Excel har datum formaterats felaktigt, dagar och månader har bytts ut, vissa datum har ändrats till text och vissa textvärden har formaterats automatiskt som datum.
Orsak . I csv-filen skrivs datum i ett annat format än det standardformat som är inställt i ditt operativsystem, vilket gör att Excel inte kan tolka datumen korrekt.
Lösning . Beroende på vilket problem du står inför kan du prova en av följande lösningar.
Dagar och månader blandas ihop
När datumformaten i Windows regionala inställningar och csv-filen är olika finns det inget sätt för Excel att avgöra att mm/dd/åå De datum som söks lagras i dd/mm/åå Formatet i den specifika filen. Resultatet är att dag- och månadsenheterna är ombytta: Jan-3 blir Mar-1 , Jan-10 blir okt-1 och så vidare. Dessutom kan datum efter Jan-12 omvandlas till textsträngar eftersom det inte finns någon 13:e, 14:e osv. månad.
För att datumen ska kunna importeras korrekt, kör guiden Textimport och välj den lämpliga Datum formatet i steg 3:
Vissa värden omvandlas till datum
Microsoft Excel är utformat för att göra det lättare att ange olika typer av värden. Om Excel tror att ett visst värde är ett datum formateras det automatiskt som ett datum. Till exempel kan textsträngen apr23 ser väldigt mycket ut som 23 april , och 11/3 liknar 3 november , så båda värdena omvandlas till datum.
För att hindra Excel från att ändra textvärden till datum använder du det redan välkända tillvägagångssättet: konvertera CSV till Excel genom att importera det. I steg 3 i Guiden för import av text , välj den problematiska kolumnen och ändra dess format till Text .
Datum är felaktigt formaterade
När en csv-fil öppnas i Excel visas datumen normalt i standardformatet. I din ursprungliga fil kan du till exempel ha följande 7-maj-21 eller . 05/07/21 , medan det i Excel visas som 5/7/2021 .
Om du vill visa datum i önskat format kan du använda Formatera celler funktion:
- Välj kolumnen med datum.
- Tryck på Ctrl + 1 för att öppna Formatera celler dialogrutan.
- På den Antal väljer du Datum under Kategori: .
- Under Typ , välj önskad formatering.
- Klicka på OK.
Om inget av de förinställda formaten passar dig, kan du skapa ett eget format som förklaras i avsnittet Hur man skapar ett eget datumformat i Excel.
Förhindra Excel från att konvertera siffror till vetenskaplig notation
Symtom. När CSV konverteras till Excel formateras långa tal som vetenskaplig notation, t.ex. 1234578900 visas som 1,23E+09.
Orsak I Microsoft Excel är siffrorna begränsade till 15 siffror i precision. Om siffrorna i din csv-fil överskrider denna gräns omvandlar Excel dem automatiskt till vetenskaplig notation för att uppfylla denna gräns. Om ett tal innehåller mer än 15 signifikanta siffror ändras alla "extra" siffror i slutet till nollor.
Lösning . Importera långa nummer som text eller ändra nummerformatet direkt i Excel.
Importera långa tal som text
Om du vill överföra stora siffror från CSV till Excel på ett korrekt sätt kör du Guiden för import av text och ange formatet för målkolumnen/kolumnerna till Text .
Detta är den enda verkliga lösningen för att korrekt importera numeriska strängar utan att förlora data, dvs. utan att ersätta den 16:e och följande siffror med nollor eller ta bort ledande nollor. Det fungerar utmärkt för poster som produkt-ID, kontonummer, streckkoder och liknande.
Om värdena är siffror, inte strängar, är det dock inte den bästa metoden eftersom du inte kan göra någon matematik på de resulterande textvärdena.
Den här metoden hjälper dig också att förhindra annan oönskad automatisk dataformatering när du konverterar en CSV-fil.
Ändra nummerformat i Excel
Om dina data redan finns i Excel kan du ändra formatet från Allmänt till antingen Text eller . Antal som visas nedan:
Observera: Den här metoden återställer inte borttagna föregående nollor eller siffror efter den 15:e positionen som ersattes med nollor.
Mer information finns i avsnittet Hur du formaterar celler i Excel.
Gör kolumnen bredare
I det enklaste fallet, när ett tal innehåller färre än 15 siffror, räcker det med att göra en kolumn lite bredare för att få siffrorna att visas normalt.
För mer information, se Hur du ändrar storlek på kolumnerna och anpassar dem automatiskt i Excel.
Så här löser du de vanligaste problemen som kan uppstå vid konverteringar från CSV till Excel. Tack för att du läste och vi ses nästa vecka!