Ne sortir que si X et Y

Bonjour, toujours en train de tenter d'alleger mon fichier,

Je galère à adapter cette formule

=sort({QUERY('DB'!$A$2:$G;"SELECT MIN(A), MIN(B), C, MIN(D), MIN(E), MIN(F), G WHERE (G MATCHES '0000001' OR G MATCHES '0000002') GROUP BY C, G LABEL MIN(A)'', MIN(B)'', C'', MIN(D)'', MIN(E)'', MIN(F)'', G'' ";0);QUERY('DB'!$A$2:$G;"SELECT MAX(A), MAX(B), C, MAX(D), MAX(E), MAX(F), G WHERE (G MATCHES '0000003' OR G MATCHES '0000004') GROUP BY C, G LABEL MAX(A)'', MAX(B)'', C'', MAX(D)'', MAX(E)'', MAX(F)'', G'' ";0)};1;VRAI;2;VRAI;3;VRAI)

Qui me sort des résultats même si 0000001 n'est pas concomitant à 0000002

Je tente donc de sortir les entrées uniquement contenant la conjonction de 2 critères " simultanés ".

Le but est de ne présenter le résultat que si parmi la base une référence en C ou D (peu importe en l'état) existe avec "0000001" ET "0000003" en G et pas seulement avec "0000001" ou "0000003"

j'ai tenté 3/4 variantes mais il me retourne toujours 'aucun résultat' alors qu'il en existe (pleins^^)

ex :

=sort({QUERY('DB'!$A$2:$G;"SELECT MIN(A), MIN(B), C, MIN(D), MIN(E), MIN(F), G WHERE (G MATCHES '0000001' OR G MATCHES '0000002') AND (G MATCHES '0000003' OR G MATCHES '0000004')  GROUP BY C, G LABEL MIN(A)'', MIN(B)'', C'', MIN(D)'', MIN(E)'', MIN(F)'', G'' ";0)};1;VRAI;2;VRAI;3;VRAI)

raté, donc, j'ai tenté avec une seule des 2 combinaison possible :

=sort({QUERY('DB'!$A$2:$G;"SELECT MIN(A), MIN(B), C, MIN(D), MIN(E), MIN(F), G WHERE G LIKE '0000001' AND G LIKE '0000003' GROUP BY C, G LABEL MIN(A)'', MIN(B)'', C'', MIN(D)'', MIN(E)'', MIN(F)'', G'' ";0)};1;VRAI;2;VRAI;3;VRAI)

encore raté, donc :

=sort({QUERY('DB'!$A$2:$G;"SELECT MIN(A), MIN(B), C, MIN(D), MIN(E), MIN(F), G WHERE G = '0000001' AND G = '0000003' GROUP BY C, G LABEL MIN(A)'', MIN(B)'', C'', MIN(D)'', MIN(E)'', MIN(F)'', G'' ";0)};1;VRAI;2;VRAI;3;VRAI)

encore raté !

je me perd et ne sais plus quoi essayer :(.

Merci

Bonsoir Sébastien,

Peux-tu partager un fichier test que je regarde ça?

Actuellement, je n'ai pas le temps de remonter un fichier pour faire des simulations...

Merci,

Fil.

Bonjour,

Je comprend, voici le lien vers le fichier test : https://docs.google.com/spreadsheets/d/1hemXP16cPjCP5ua3MNzuf01_uJve8lOqIWxT6hEPIvs/edit?usp=sharing

Le indications sont indiquées dans l'onglet 'Alleg' en ligne 16 a 20.

Merci par avance.

Bonjour Sébastien,

Je t'ai fait une proposition de solution...

Liste des cas non résolus (à masquer?):

=query(QUERY(A3:G;"SELECT B, count (B) where B is not null Group by B label count (B)''"); "select Col1 where Col2<2")

Tableau des cas résolus:

=sort(Query(A3:G;"Select * where not B matches "&ArrayFormula("'"&textjoin(".*|";1;".*"&query(H2:H;"select H where H is not null"))&".*' order by B")))

https://docs.google.com/spreadsheets/d/1TYgP_UYdzZyCFPxYeXJxVTQwXC9y_yT7xMoq-bTluFU/edit?usp=sharing

Regarde si ça correspond à tes besoins.

Cordialement,

Fil.

Bonjour Filoche,

désolé de revenir si tard sur ton aide.

Cela m'a l'air très bien, comme toujours, je vais essayer de l'appliquer au fichier final (parfois des surprises^^).

Dans tous les cas, merci beaucoup pour cette solution que je n'aurais possiblement jamais trouvé seul.

Bonjour Seb,

Sans passer par la colonne "Non résolus":

=sort(Query(A3:G;"Select A,B,C,D,E,F where G='8888Y' and not B matches "&ArrayFormula("'"&textjoin(".*|";1;".*"&query(query(QUERY(A3:G;"SELECT B, count (B) where B is not null Group by B label count (B)''"); "select Col1 where Col2<2");"select Col1 where Col1 is not null"))&".*' order by B")))

Je te l'ai mis dans l'onglet "Solution alleg 3".

Cordialement,

Fil.

Bonjour Filoche,

Insère si possible tes formules en utilisant le bouton pour plus de lisibilité

=sort(Query(A3:G;"Select A,B,C,D,E,F where G='8888Y' and not B matches "&ArrayFormula("'"&textjoin(".*|";1;".*"&query(query(QUERY(A3:G;"SELECT B, count (B) where B is not null Group by B label count (B)''"); "select Col1 where Col2<2");"select Col1 where Col1 is not null"))&".*' order by B")))

Cordialement,

Rechercher des sujets similaires à "sortir que"