Extraction deux caracteres apres la virgule power query

Bonjour,

Je vous explique j'ai une colonne de montant au format Texte avec des nombres du type 1 305,50 € - 10500 EUR - 27,00 ! - 2.65(3)

Je souhaiterais pouvoir extraire ou plutôt conserver uniquement les 2 caractères après le virgule et je ne sais pas le faire si quelqu'un à une idée cela serait cool

Je peux le faire avec remplacé mais il faut je le fait pour tous les caractères et si demain un nouveau apparait cela ne fonctionnera plus

J'ai mis en PJ un ficher d'exemple et j'ai mis ce que je souhaite manuellement

Merci d'avance

21test.xlsx (9.69 Ko)

Bonjour

100nombre-pq.xlsx (17.17 Ko)

Bonjour 78chris,

Merci cela fonctionne super merci encore, je savais que c'était possible mais je ne savais pas l'appliqué j'ai appris encore une chose

Si j'ai compris tu conserve tout les chiffres de 0 a 9 avant et après la virgule

Cordialement,

Re

Je conserves les chiffre et la virgule et je découpe selon la virgule.

Mais on peut simplifier : la découpe est inutile

=Number.Round(Number.From(Text.Select([MONTANT],{"0","1","2","3","4","5","6","7","8","9",","})),2)

Bonjour 78Chris,

Par simple curiosité est il possible de passer directement au résultat sans passer par l'ajout d'une colonne ?,

Ci-joint le fichier avec ma tentative mais l'éditeur me renvoie une erreur !

Merci d'avance,

Cordialement,

14nombre-pq.xlsx (16.97 Ko)

Bonjour

J'ai remarqué qu'on ne peut faire fonctionner un replace qu'à même type de données : si c'est du texte on ne peut remplacer par un nombre ou alors je ne sais pas le faire

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"MONTANT", type text}}),
    #"Valeur remplacée" = Table.ReplaceValue(#"Type modifié",".",",",Replacer.ReplaceText,{"MONTANT"}),
    #"Valeur remplacée1" = Table.ReplaceValue(#"Valeur remplacée",each [MONTANT],each Text.Select([MONTANT],{"0","1","2","3","4","5","6","7","8","9",","}),Replacer.ReplaceText,{"MONTANT"}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Valeur remplacée1",{{"MONTANT", type number}}),
    #"Valeur remplacée2" = Table.ReplaceValue(#"Type modifié1",each [MONTANT],each Number.Round([MONTANT],2),Replacer.ReplaceValue,{"MONTANT"})
in
    #"Valeur remplacée2"

Bonjour à tous !

On peut contourner cette limite en passant par un typage text :

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    TypeText = Table.TransformColumnTypes(Source,{{"MONTANT", type text}}),
    ValR0 = Table.ReplaceValue(TypeText,".",",",Replacer.ReplaceText,{"MONTANT"}),
    ValR1 = Table.ReplaceValue(ValR0,each [MONTANT], each Text.From(Number.Round(Number.From(Text.Select([MONTANT],{"0".."9",","})),2)),Replacer.ReplaceText,{"MONTANT"}),
    TypeNumber = Table.TransformColumnTypes(ValR1,{{"MONTANT", type number}})
in
    TypeNumber

Merci pour vos retours @JFL & @78Chris,

Les deux solutions me conviennent ;)

Bon dimanche à vous,

Cordialement,

Bonsoir à tous !

Parfait...

Je vous remercie de ce retour.

Rechercher des sujets similaires à "extraction deux caracteres virgule power query"