• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

import € wordt tekst en getal

Status
Niet open voor verdere reacties.

pelikano

Gebruiker
Lid geworden
30 sep 2009
Berichten
195
Dit specifieke probleempje kan ik niet terugvinden op fora en Goolge.
Ik importeer een tabel met daarin kleine bedragen. Deze bedragen worden door Excel als tekst in mn sheet gezet. Dit kan ik omzetten met tekst naar kolommen. Maar soms zitten er hogere bedragen in en dan importeert Excel deze als getal. Erg vervelend want dan werkt mijn tekst naar kolommen niet meer goed en mis ik bedragen.
In het voorbeeld staat € 1.038 die door Excel wel herkend wordt als valuta en er dus een getal van maakt.

Hoe kan ik voor deze import de juiste nationalisering aan zetten? (zonder dat de heel Windows om moet) Als ik Excel vertel dat de decimalen een .(punt) zijn, dan importeren de kleine bedragen wel goed maar de grote niet en andersom. :evil:

Code:
€ 1.038
€ 0.591
€ 0.020
€ 0.020
€ 0.020
€ 0.020
€ 0.080
€ 0.200
€ 0.100
€ 0.140
€ 0.020
 
Je kunt de punt ook uitzetten? dus 1.032 wordt gewoon 1032? als je dan valuta cel eigenschappen kiest dan wordt het: 1032,00
 
Als je het met de hand importeert kun je dat instellen.

import -> bestand -> scheiden via spatie -> kolom 2 aanklikken -> geavanceerd -> decimaal scheiding "." duizenscheiding ","
 
Bij de import is het al het getal 1038. Dit moet het resultaat €1,038 geven(afgerond €1,04 en niet €1038,00 zoals het nu gaat) Ik wil dus of alles in tekst of alles in getal maar niet gemixt.
 
@Wampier: De import is een webimport. Maar bij het handmatig omzetten naar kolommen kun je helaas niet vooraf de decimalen instellen. Zie wat er gebeurt op het plaatje.
Tekst naar kolommen.png
 
op dat punt: volgende -> daar zou je de optie moeten vinden (excel 2007)
 
Ja, bij geavanceerde instellingen maar dan ben ik de eerste kolom al voorbij. Dus blijft daar 1038 staan.
 
Hmm vreemd, maar mogelijk komt dat door het formaat. Ik heb je voorbeeld letterlijk overgenomen in een text file en dan gebeurd het niet?
 
Waarom niet gewoon plaatsen in een kolom en in een hulpkolom de volgende formule:
Code:
=ALS(ISFOUT(SUBSTITUEREN(DEEL(A3;VIND.SPEC(" ";A3;1);100);".";",")*1);A3*0,001;SUBSTITUEREN(DEEL(A3;VIND.SPEC(" ";A3;1);100);".";",")*1)
of voor > 2003:
Code:
=ALS.FOUT(SUBSTITUEREN(DEEL(A3;VIND.SPEC(" ";A3;1);100);".";",")*1;A3*0,001)
Daarna kopieren - plakken speciaal - waarden en de oorspronkelijke data verwijderen. Het is even werk, maar je hebt er ook wat voor.
 
Laatst bewerkt:
@robdgr Deze hersenkronkel had ik net nodig, bedankt! Ik heb de formule nog met een extra controle uitgebreid omdat er nog een fout kon ontstaan doordat de tekst geen punten of komma's bevat(?). Maar het is gelukt en voor de liefhebbers heb ik het resultaat als bijlage toegevoegd(zonder de webquery;).

Uiteindelijke formule(gelukkig knapt Excel nog net niet uit z'n voegen...);
Code:
=ALS(ISFOUT(ALS(ISFOUT(SUBSTITUEREN(DEEL(G7;VIND.SPEC(" ";G7;1);100);".";",")*1);G7*0,001;SUBSTITUEREN(DEEL(G7;VIND.SPEC(" ";G7;1);100);".";",")*1))=WAAR;0;ALS(ISFOUT(SUBSTITUEREN(DEEL(G7;VIND.SPEC(" ";G7;1);100);".";",")*1);G7*0,001;SUBSTITUEREN(DEEL(G7;VIND.SPEC(" ";G7;1);100);".";",")*1))

bedankt allemaal voor het meedenken. :thumb:
Bekijk bijlage webquery_import_Telefoonkosten_voorbeeld.xls
 
In je voorbeeld kom je ook weg met
Code:
=ALS(G2="free";0;ALS(ISFOUT(SUBSTITUEREN(DEEL(G2;VIND.SPEC(" ";G2;1);100);".";",")*1);G2*0,001;SUBSTITUEREN(DEEL(G2;VIND.SPEC(" ";G2;1);100);".";",")*1)
Is korter dan jou oplossing.
 
:D:thumb:
maar mijn oplossing werk ook as er SMS of iets anders staat...

de lengte van de formule maakt mij niet uit, het zijn maximaal een 100 regels dus dat "performt" wel.

thx.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan