• 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.

getallen met . en , of anders om

  • Onderwerp starter Onderwerp starter Pinc
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Pinc

Gebruiker
Lid geworden
16 mei 2007
Berichten
9
Hoe kan ik een kolom waar zowel getallen in UK-notitie als de "gewone" notitie voorkomen, de getallen allemaal omzetten in currency met een . voor 1000-tallen en een , voor decimalen.
De taalinstelling staat voor currency op "onze notatie"

$20.891,25
$182.154,51
$18.810,98
57,600.00
6,000.00
1,204.20


De format is van alle getallen currency... maar alleen de eerste 3 getallen doen het goed (omdat daar al een komma stond voor de decimalen)
(heb al geprobeerd om getallen met 100 te vemnigvuldigen en dan de komma door een punt te vervangen .. om daarna weer te delen door 100. Dit ging niet omdat de laatste 3 getallen niet als getal worden herkend.
Doe het nu met de hand maar dit probleem komt vaker voor, maar gelukkig zijn het gewoonlijk hele getallen zodat ik gewoon de , door een . kan vervangen.

Pinc
Oeps bestandje bijvoegen... even kijken hoe dat moet..
 

Bijlagen

Laatst bewerkt:
Zet deze getallen eens in een voorbeeldbestandje, zodat we exact kunnen zien wat de getalnotatie is.

Wigi
 
Hallo,

Ik heb de oplossing (voor zover ik de vraag goed doorhad) in bijgevoegd bestand neergezet. De formule in cel B2 wordt : =WAARDE(ALS(ISFOUT(VIND.SPEC(".";TEKST(A2;0)));A2;SUBSTITUEREN(LINKS(TEKST(A2;0);LENGTE(TEKST(A2;0))-3);",";".")&","&RECHTS(TEKST(A2;0);2)))
Hierbij ga ik eerst via VIND.SPEC(".";TEKST(A2;0)) na of er sprake is van een foutwaarde. Deze wijst op een "normale" notatie. Deze hoeft dus niet getransformeerd te worden. Daarna ga ik van de "verkeerde" notaties eerst een tekst maken en daarna de decimalen (inclusief de punt) verwijderen. Daarna SUBSTITUEER is de "," door "." en ga een combinatie maken met &"."& en daarna de 2 decimalen.

Dit werkt.

Laat maar weten of je hier wat aan hebt.

Met vriendelijke groet,
Gezinus
 

Bijlagen

Deze oplossing is simpeler, maar minder algemeen:

=WAARDE(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(TEKST(A20;"#,##");".";"~");",";".");"~";","))

Het zet het getal om in tekst, en dan vervangt het . en , en , in .

Om niet in de puree te komen vervangen we eerst . door ~ (een soort tussenstap).

Het werkt vanaf rij 20, niet op de eerste notatie.

Wigi
 
Had ik zelf ook op (moeten?) kunnen komen?

Bedankt :o
Vooral dat vervangen had ik toch zelf op moeten kunnen komen.

Eigenlijk vreemd dat men niet met een ingebouwde functie de "taal" kan veranderen. Er zal toch wel vaker voorkomen dat men bestanden uit b.v. de USA samenvoegd met bestanden uit ons kikkerlandje?

We hebben vaak bestanden van 10.000 regels en meer in allemaal verschillende notaties..

Ik heb later het replacen geprobeert daar 3 maal zoeken en vervangen te gebruiken, maar dat ging niet goed: de tilde kon niet vervangen worden door een ,.
Dus toch maar de lange formule gebruikt... dat ging okay.
 
Laatst bewerkt:
de tilde kon niet vervangen worden door een ,.
Dus toch maar de lange formule gebruikt... dat ging okay.[/COLOR]

Het werkt toch in het originele bestandje, niet?

Gebruik dan ook eens een ander karakter misschien, zoals ^ of ç

Wigi
 
Nog sneller:

Verwijder ,
Vervang . door ,

Doordat de opmaak/format goed staat konmt de . vanzelf terug.

Ik had nederlandse functie niet direct ingevoerd omdat wij een UK versie hebben. Maar als je zoek en vervang gebruikt gaat het niet goed.... wel op bovenstaande manier.
Pinc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan