Remplacer des valeurs non numériques dans une colonne de type number

  • Remplacer des valeurs non numériques dans une colonne de type number

    Posté par Magalie sur 9 juillet 2024 à 17h46

    Bonjour,

    J’ai une colonne que je souhaite mettre en nombre, mais j’ai des valeurs non numériques.

    Est-il possible de remplacer toutes les mauvaises valeurs par 0 par exemple ? ou en ajout de colonne ?

    Merci de votre aide 🙂

    Tristan a répondu Il y a 1 mois, 2 semaines 3 Membres · 5 Réponses
  • 5 Réponses
  • Olivier

    Membre
    10 juillet 2024 à 11h41

    Bonjour Magalie

    aurais tu un visuel pour mieux comprendre ta demande ?

    de quel type sont tes valeurs non numériques ?

    as tu essayé de rajouter une colonne conditionnelle pour remplacer les valeurs que tu souhaites ?

    • Cette réponse a été modifiée Il y a 1 mois, 4 semaines par  Olivier.
  • Magalie

    Membre
    10 juillet 2024 à 13h42

    Alors ce sont soit des colonnes de rémuneration les personnes ont mis des salaires du style 10€ / heure ou meme du texte complet ou nombre d’heures, mais il y a beaucoup de choses différentes et je voudrais juste remplace tout ce qui n’est pas numériques par 0 et ne pas tenir compte tant pis car j’ai des centaines de choses donc j’aimerais faire une colonne ajoutée si ce n’est pas numérique remplacer par 0 par exeemple et je remplaceraient les cas simple (15h30, 15 heures…) mais pas les autres

  • Olivier

    Membre
    16 juillet 2024 à 16h52

    tu peux essayer ça ?

    Colonne2 = IF(ISNUMBER([Colonne1]), [Colonne1], 0)

    Colonne 1 : c’est la colonne où tu as un mélange de chiffres et de texte

    Colonne 2 : c’est ta nouvelle colonne. la ligne affiche 0 si dans ta colonne 1 il y a texte + nombre

  • Olivier

    Membre
    16 juillet 2024 à 18h04

    Sinon, pour récupérer les chiffres des cellules alphanumériques, il y aurait un truc comme ça :

    = if Value.Is([Colonne1], type number) then [Colonne1] else if Value.Is([Colonne1], type text) then 0 else Text.Combine(List.Select(Text.ToList([Colonne1]), each Value.Is(_, type number)))

    si c’est un nombre= je garde

    si c’est du texte : je mets 0

    si c’est alphanumerique (genre 15h30), je récupère les chiffres : là 1530

  • Tristan

    Membre
    22 juillet 2024 à 19h11

    Bonjour Magalie,

    Une solution équivalente à celle proposée par Olivier mais cette fois-ci en Power Query / M.

    = Table.AddColumn(Tabl, “Heures_Clean”, each try [NbHeuresTravailees] / 1 otherwise 0)

Connectez-vous pour répondre.