Filtrer un champ en fonction des critères

Bonjour, je travaille sur Power Qwery, j'ai un champ qui contient des textes appelé logiciel, on devrait identifier les logiciels payants et les exclure. Dans ce champ on deux types de logiciels payants et gratuits, pour les logiciels gratuits on les trouve comme nom de logiciel suivi par 0 $ et pour les payants on les trouve comme nom de logiciel suivi par son prix et signe de dollar par exemple 200,50 $. On a trois types de textes existent dans ce champ:

1) Texte peut contenir juste des textes et pas de logiciels

2) Texte peut contenir uniquement le nom de logiciel gratuits suivi par 0 $ par exemple Antidote 1.10 / 0 $

3) Texte peut contenir uniquement le nom de logiciel payant par exemple: Avira 2.5 / 150,3 $

4) Texte peut contenir les deux types de logiciels payants et gratuits par exemple: Avira 2.5 / 150,3 $ / Antidote 1.10 / 0 $

je veux garder 1) et 2) et exclure 3) et 4). Autrement dit si une ligne contient au moins un logiciel payant donc à exclure.

Voir fichier en pièce jointe (une ligne peut contenir plusieurs logiciels payants et gratuits)

Merci,

Bonsoir à tous !

Une proposition ?

Données sous la forme d'un tableau structuré nommé tData :

let
    Source = Excel.CurrentWorkbook(){[Name="tData"]}[Content],
    Test = Table.AddColumn(Source, "Test", each let 
            a=List.Count( Text.PositionOf([Logiciels],"$",Occurrence.All)) 
            in if (Text.Contains([Logiciels],"0 $") and a=1) or a=0 then true else false),
    Filtre = Table.SelectRows(Test, each ([Test] = true)),
    TypeDate = Table.TransformColumnTypes(Filtre,{{"Date de création", type date}, {"Fin commande", type date}}),
    SuppTest = Table.RemoveColumns(TypeDate,{"Test"})
in
    SuppTest

Note : Pour une aide adaptée merci de préciser, dans votre profil, la nature de votre Excel ( 2019 ? 2021 ? 365 ? ...)

Bonjour,

Ça ne me pas marché possible de me le faire une simulation sur le fichier en haut.

Merci,

Bonsoir à tous !

Ça ne me pas marché possible de me le faire une simulation sur le fichier en haut.

Mais encore.....?
Pouvez-vous être plus explicite ? Le "ça ne marche pas' ne donne aucune indication.

Cette contribution présente une double proposition :

1/ Power Query
2/ Formule

Je réitère.... :
Pour une aide adaptée merci de préciser, dans votre profil, la nature de votre Excel ( 2019 ? 2021 ? 365 ? ...)

Bonjour @JFL

En effet le code ça marche bien maintenant mais j'ai remarqué quand la case contient que 0 $ comme par par exemple Avira 1.2 /0 $ / Greenshot 3.5 / 0 $ il considère comme un logiciel non gratuit.

voici le fichier en pièce jointe pour tester le cas.

Merci,

Bonsoir à tous !

Que ne comprenez-vous pas dans la phrase : "Pour une aide adaptée merci de préciser, dans votre profil, la nature de votre Excel ( 2019 ? 2021 ? 365 ? ...)" ?

Excel 365 c'est fait !

Merci pour le rappel

Bonsoir à tous de nouveau !

Je vous remercie de cette mise à jour...

Je vous propose de tester cette requête :

let
    Source = Excel.CurrentWorkbook(){[Name="tData"]}[Content],
    Test = Table.AddColumn(Source, "Test", each let 
            a=List.Count( Text.PositionOf([Logiciels],"/ 0 $",Occurrence.All))
            in if a=List.Count( Text.PositionOf([Logiciels],"$",Occurrence.All)) then true else false),
    Filtre = Table.SelectRows(Test, each ([Test] = true)),
    TypeDate = Table.TransformColumnTypes(Filtre,{{"Date de création", type date}, {"Fin commande", type date}}),
    SuppTest = Table.RemoveColumns(TypeDate,{"Test"})
in
    SuppTest

Merci @JFL, ça roule

Bonsoir à tous de nouveau !

Bien...

Je vous remercie de ce retour.

Rechercher des sujets similaires à "filtrer champ fonction criteres"