INHOUDSOPGAWE
CSV maak nie reg oop in Excel nie? Die tutoriaal ondersoek tipiese kwessies en verskaf die mees doeltreffende oplossings.
Die CSV-formaat word algemeen gebruik vir die invoer/uitvoer van data tussen verskeie sigbladprogramme. Die naam CSV (komma-geskeide waardes) impliseer die gebruik van komma om datavelde te skei. Maar dit is in teorie. In die praktyk skei baie sogenaamde CSV-lêers data deur ander karakters soos kommapunte of oortjies te gebruik. Sommige implementerings sluit datavelde in enkel- of dubbelaanhalingstekens in, terwyl ander 'n Unicode-greepordemerk (BOM) vereis, byvoorbeeld UTF-8, vir korrekte Unicode-interpretasie. Die gebrek aan standaard veroorsaak verskeie probleme met CSV na Excel-omskakelings.
CSV-lêer maak in een kolom in Excel oop
Simptome . Wanneer 'n csv-lêer in Excel oopgemaak word, verskyn alle data in 'n enkele kolom.
Oorsaak . Om data in kolomme te verdeel, gebruik Excel die lysskeier wat in u Windows-streekinstellings gestel is. Dit kan óf 'n komma (in Noord-Amerika en sommige ander lande) óf 'n kommapunt (in Europese lande) wees. Wanneer die skeidingsteken wat in 'n spesifieke .csv-lêer gebruik word, verskil van die verstekskeier, word daardie lêer in een kolom oopgemaak.
Oplossings . Daar is verskeie moontlike oplossings vir hierdie geval, insluitend VBA-makro's of 'n globale verandering in die Windows-instellings. Ons sal wys hoe om die probleem vinnig op te los sonder om die verstek te veranderlys skeier op jou rekenaar, so nie een van jou toepassings sal geraak word nie.
Verander skeidingsteken in CSV-lêer
Vir Excel om CSV met 'n ander skeier te kan lees, kan jy die skeidingsteken definieer direk in daardie lêer. Om dit te laat doen, maak die lêer oop met enige teksredigeerder (Notepad sal goed doen) en voeg die onderstaande teks in die eerste reël by. Let wel, dit moet 'n aparte reël voor enige ander data wees:
- Om te skei met komma: sep=,
- Om met kommapunte te skei: sep=;
Op dieselfde manier kan jy enige ander pasgemaakte skeier stel - tik dit eenvoudig na die gelykheidsteken.
Met 'n toepaslike skeier gedefinieer, kan jy nou die lêer op die gewone manier, vanaf Excel self of vanaf Windows Explorer.
Spesifiseer skeidingsteken wanneer CSV-lêer na Excel invoer
In plaas daarvan om 'n csv-lêer in Excel oop te maak, voer dit in met behulp van een van die Teksinvoer-assistent (in alle weergawes) of Power Query (in Excel 365 - 2016).
Die Teksinvoer-assistent ( Data -oortjie > Van teks ) bied 'n paar keuses vir skeidingstekens in stap 2. Oor die algemeen sal jy kies:
- Komma vir kommageskeide waardelêers
- Tab vir tekslêers
- Pinkkomma vir kommapunt-geskeide waardelêers
As jy nie seker is watter skeiding jou data bevat nie, probeer verskillende skeidings en kyk watter een werk reg in die Data-voorskou.
Wanneer 'nPower Query-verbinding, jy kan die skeidingsteken in die Voorskou-dialoogvenster kies:
Vir die gedetailleerde stap-vir-stap-instruksies, sien asseblief die bogenoemde gekoppelde voorbeelde.
Verdeel selle deur Teks na Kolomme-kenmerk te gebruik
In die geval dat jou data reeds na Excel oorgedra is, kan jy dit in verskillende kolomme skei deur die Teks na Kolomme -kenmerk te gebruik. In wese werk dit soos die Teksinvoer Wizard: jy kies 'n skeidingsteken en Datavoorskou weerspieël die veranderinge op die oomblik:
Vir volledige besonderhede, asseblief sien Hoe om selle in Excel te verdeel.
Hoe om voorste nulle in Excel CSV te hou
Simptome. Sommige waardes in jou csv-lêer bevat voorste nulle. Wanneer die lêer in Excel oopgemaak word, gaan die voorafgaande nulle verlore.
Oorsaak . Microsoft Excel skakel by verstek csv-lêers om na die Algemene -formaat wat voornulle afstroop.
Oplossing . In plaas daarvan om oop te maak, voer jou CSV na Excel in en kies die Teks -formaat vir problematiese kolomme.
Gebruik die teksinvoer-assistent
Om Teks-invoer-assistent<2 te begin> outomaties, verander die lêeruitbreiding van .csv na .txt, en maak dan die tekslêer vanaf Excel oop. Of aktiveer die From Text (Legacy)-kenmerk, en begin CSV na Excel invoer.
In stap 3 van die towenaar, kies die kolom wat waardes met voorste nulle bevat en verander die formaat na Teks . Dit sal die waardes invoeras teksstringe wat alle voorste nulle in plek hou.
Gebruik Power Query
As jy verkies om 'n csv-lêer na Excel in te voer deur daaraan te koppel, is daar twee maniere om voorste nulle te hou.
Metode 1: Voer alle data in teksformaat in
In die voorskou-dialoogkassie, onder Datatipe-opsporing , kies Moenie datatipes opspoor nie . Die inhoud van jou csv-lêer sal as teks in Excel gelaai word, en alle voorste nulle sal behoue bly.
Let wel. Hierdie metode werk goed as jou lêer slegs teks data bevat. As daar verskillende soorte waardes is, gebruik dan metode 2 om 'n toepaslike formaat vir elke kolom afsonderlik te definieer.
Metode 2: Stel formaat vir elke kolom
In situasie wanneer jou csv-lêer verskeie datatipes soos teks, getalle, geldeenhede, datums en tye bevat, kan jy uitdruklik aandui watter formaat moet vir elke spesifieke kolom gebruik word.
- Onder die datavoorskou, klik Transformeer Data .
- In die Power Query Editor, kies die kolom waar jy wil vorige nulle behou, en klik Datatipe > Teks .
- Sluit & Laai - dit sal die resultate na 'n nuwe blad in die huidige laaiwerkboek.
- Sluit & Laai na... - dit sal jou laat besluit waar om die resultate te laai.
Wenk. Hierdie metodes kan ook ander manipulasies met jou data voorkom wat Excel outomaties probeer uitvoer. Byvoorbeeld, as die ingevoerde data met "=" begin, sal Excel probeer om dit te bereken. Deur die Teks -formaat toe te pas, dui jy aan dat die waardes stringe is, nie formules nie.
Hoe om CSV-datumformaatprobleme in Excel op te los
Simptome. Nadat CSV na Excel omgeskakel is, word datums verkeerd geformateer, dae en maande word omgeruil, sommige datums word na teks verander, en sommige tekswaardes word outomaties as datums geformateer.
Oorsaak . In jou csv-lêer word datums geskryf in die formaat wat verskil van die verstek datumformaat wat in jou bedryfstelsel gestel is, as gevolg waarvan Excel nie daarin slaag om die datums korrek te interpreteer nie.
Oplossing . Afhangende van presies met watter probleem jy te kampe het, probeer een van die volgende oplossings.
Dae en maande is deurmekaar
Wanneer die datumformate in die Windows-streekinstellings en csv-lêer verskil , is daar geen manier vir Excel om te bepaal dat mm/dd/jj datums waarna dit gesoek word in die dd/mm/jj -formaat in daardie spesifieke lêer gestoor word. Gevolglik word die dag- en maand-eenhede omgekeer: Jan-3 word Mrt-1 , Jan-10 word Okt-1 , ensovoorts. Boonop is datums na Jan-12 omgeskakel na teksstringe omdat daar geen 13de, 14de, ens. maande bestaan nie.
Vir die datums om korrek ingevoer te word, hardloop Text Import Wizard en kies die toepaslike Datum -formaat in stap 3 :
Sommige waardes word omgeskakel na datums
Microsoft Excel is ontwerp om dit makliker te maak om verskeie soorte waardes in te voer. Daarom, as Excel glo dat 'n gegewe waarde 'n datum verteenwoordig, word dit outomaties as 'n datum geformateer. Byvoorbeeld, die teksstring apr23 lyk baie soos 23 April , en 11/3 lyk soos 3 November , dus beide waardes is omgeskakel na datums.
Om te keer dat Excel tekswaardes na datums verander, gebruik die reeds bekende benadering: omskep CSV na Excel deur dit in te voer. In stap 3 van die Teksinvoer-assistent , kies die problematiese kolom en verander sy formaat na Teks .
Datums word geformateer verkeerd
Wanneer 'n csv-lêer in Excel oopgemaak word, word die datums normaalweg in die verstekformaat vertoon. Byvoorbeeld, in jou oorspronklike lêer kan jy 7-Mei-21 of 05/07/21 hê, terwyl dit in Excel verskyn as 5/7/2021 .
Om datums in die verlangde formaat te vertoon, maak gebruik van die Format selle -kenmerk:
- Kies die kolom van datums.
- Druk Ctrl + 1 om die dialoogkassie Format selle oop te maak.
- Op die Getal -oortjie, kies Datum onder Kategorie .
- Onder Tipe ,kies die verlangde formatering.
- Klik OK.
As nie een van die voorafbepaalde formate reg is vir jou nie, dan kan jy skep jou eie een soos verduidelik in Hoe om gepasmaakte datumformaat in Excel te maak.
Voorkom dat Excel getalle na wetenskaplike notasie omskakel
Simptome. Nadat jy CSV na Excel omgeskakel het, lank getalle word as wetenskaplike notasie geformateer, bv. 1234578900 verskyn as 1.23E+09.
Oorsaak . In Microsoft Excel is getalle beperk tot 15 syfers van akkuraatheid. As getalle in jou csv-lêer daardie limiet oorskry, skakel Excel dit outomaties om na wetenskaplike notasie as 'n manier om aan daardie limiet te voldoen. As 'n getal meer as 15 beduidende syfers bevat, word alle "ekstra" syfers aan die einde na nulle verander.
Oplossing . Voer lang getalle as teks in of verander die Getalformaat direk in Excel.
Voer lang getalle as teks in
Om groot getalle akkuraat van CSV na Excel oor te dra, hardloop die Teksinvoer-assistent en stel die formaat van die teikenkolom(e) op Teks .
Dit is die enigste werklike oplossing om numeries akkuraat in te voer snare sonder om data te verloor, dit wil sê sonder om die 16de en daaropvolgende syfers met 0'e te vervang of om voorste nulle te verwyder. Dit werk uitstekend vir inskrywings soos produk-ID's, rekeningnommers, strepieskodes en dies meer.
As jou waardes egter getalle is, nie stringe nie, is dit nie die beste metode nie, aangesienjy sal geen wiskunde op die gevolglike tekswaardes kan doen nie.
Hierdie metode sal jou ook help om ander ongewenste outomatiese dataformatering te voorkom wanneer 'n CSV-lêer omgeskakel word.
Verander Getalformaat in Excel
As jou data reeds in Excel is, kan jy die formaat verander van Algemeen na óf Teks óf Getal soos hieronder getoon:
Let wel. Hierdie metode sal nie die geskrapte voorafgaande nulle of syfers na die 15de posisie herstel wat met nulle vervang is nie.
Vir meer inligting, sien asseblief Hoe om selle in Excel te formateer.
Maak die kolom wyer
In 'n eenvoudigste geval, wanneer 'n getal minder as 15 syfers bevat, is dit voldoende om te maak 'n kolom 'n bietjie wyer om die nommers normaalweg te laat vertoon.
Vir meer besonderhede, sien asseblief Hoe om kolomme in Excel te verander en outomaties te pas.
Dit is hoe om die mees algemene probleme wat kan voorkom met CSV na Excel omskakelings op te los. Dankie dat jy gelees het en sien jou volgende week!