Just nu i M3-nätverket
Gå till innehåll

Nummerproblem vid import från csv till Excel


Stefan K

Rekommendera Poster

Hej!

 

Jag importerar från en csv-fil till Excel. De kolumner som innehåller numeriska värden blir inte nummer i Excel. Jag kan inte summera dem och de går inte att göra om till nummer. Värdena är tusentalsavgränsade med mellanslag och jag misstänker att det är problemet för att om jag tar bort mellanslaget i ett värde så blir det nummer. Pga mängden data kan jag inte sitta och ändra värde för värde. Någon vänlig själ som vet hur jag kan lösa det här?

 

Mvh

Stefan

Länk till kommentar
Dela på andra webbplatser

Sök och ersätt eller

 

Skriv in värdet 1 i en tom cell.

Kopiera.

Markera dina "tal", klistra in special, multiplicera.

 

Du kan även vid importen av CSV-filen ställa in tusentalsvagränsaren, att den är mellanslag, varvid Excel ser till att det blir tal av talen.

 

Nog bästa lösning. Hur importerar du? Förhand?

Länk till kommentar
Dela på andra webbplatser

Det där med 1:an har jag testat men förstår inte vad det ska resultera i. Gör man som det står och klistrar in ersätts värden bara med 1.

 

När jag importerar tar jag ett nytt ark i Excel och väljer sen From Text på Data-fliken. Väljer min csv-fil och Import. I steg 1 väljer jag Delimited. I steg 2 kryssar jag i Comma och under Advanced har jag kommatecken vid Decimal separator och mellanslag vid Thousands separator.

Länk till kommentar
Dela på andra webbplatser

Ettan

Kopiera, markera målet och välj Klistra in Special. I den dialogen kan du välja att multiplicera enbart.

 

Fast är du säker på att det verkligen är mellanslag som tusenseparator? Finns andra "blanka" tecken som ibland smyger sig in i text vid export från en del program.

Länk till kommentar
Dela på andra webbplatser

Ska första valet (Paste) vara All?

 

Nej, jag är inte säker på mellanslag. Det ser så ut men visst kan det vara nåt annat egentligen =)

Länk till kommentar
Dela på andra webbplatser

Det här valet menade jag vid Klistra in special.

 

post-10447-0-97420500-1354095201_thumb.png

 

Efter att ha klickat OK, ska man trycka Enter eller klistra in. Fast då får jag bara 1 istället för värdena som stod där tidigare. Så ska det väl inte bli?

Länk till kommentar
Dela på andra webbplatser

Om du inte har något format på cellen spelar det ingen roll om du kopierar in allt eller bara värden.

 

Värdet på cellen ska bli det samma men eventuellt format (färg, font exv) följer med.

 

Nä, värdet på cellerna ska inte bli ett. Det brukar fungerar att multiplicera med ett på textformaterade värden. Brukar.

 

Kanske istället i en parallell kolumn skriva

=RENSA(A1)*1

eller

=STÄDA(A1)*1

 

ladda gärna upp en exempelfil hit.

Länk till kommentar
Dela på andra webbplatser

Excelfilen jag testat med. Innehållet är importerat från csv-fil.

 

 

Hej!

=KOD(EXTEXT(D7;2;1)) ger svaret 160 (vilket skulle vara á i ascii)

 

=BYT:UT((D7;TECKENKOD(160);"")*1 gör jobbet.

 

 

 

/Pär B

Länk till kommentar
Dela på andra webbplatser

Hej

 

Gör en litet subprogram i VB enligt nedan.

 

Fliken utvecklare tryck på Visual Basic.

 

Kopiera in koden nedan i kodfönstret

 

Set markören på första raden

 

Tryck Funktionstangen F5 för att köra igenom alla rader i koden alt.

Tryck Funktionstangen F8 för att köra en rad i taget i koden

 

 

Sub MoveActive()

Dim RadFr, RadTil As Integer

Dim KolFr, KolTil As String

Worksheets("Sheet1").Activate

'Exemplet nedan tagen från din fil

RadFr = "7" 'Anger FrånRad

RadTil = "9" 'Anger TillRad

KolFr = "E" 'Anger FrånKolumn

KolTil = "F" 'Anger TillKolumn

Do Until RadFr > RadTil 'Lopar igenom angivna rader

Me.Cells(RadFr, KolTil) = CDbl(Me.Cells(RadFr, KolFr)) 'Konverterar innehållet i aktuell rad och kolumn till aktuell rad till ny kolumn som tal

RadFr = RadFr + 1 'Går till nästa rad

Loop

End Sub

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...