web-dev-qa-db-fra.com

QUERY où la colonne IS N'EST PAS ÉGALE à AUCUNE cellule de la colonne A d'une deuxième feuille

Je veux qu'il tire la valeur maximale de la colonne F où la ligne correspondante a C correspondant au nombre 14, et A n'a aucun texte exact qui correspond dans aucune cellule de la colonne A d'une feuille séparée.

Je pense que je pourrais utiliser la mauvaise formule pour faire ce que je veux.

=QUERY('6 Star Gear Sets (Hidden)'!A6:F, "select F where C = 14 AND A != 'Unique Gear (Hidden)'!A6:A order by F desc limit 1")

Je reçois un message PARSE_ERROR

Voici un lien avec une copie du document Google sur lequel je travaille.

https://docs.google.com/spreadsheets/d/15tpl56RTrGG3lQ3DVXHjpLhG_vbUPZskcUf-h0YuCE/edit?usp=drivesdk

4
Melly Lilly

Query est idéal pour la comparaison de champs avec le même enregistrement (ligne), mais ne fait pas facilement le type de recherche souhaité. Il est possible de structurer une longue chaîne de requête where A <> 'this' and A <> 'that'... avec une formule distincte, mais ce n'est pas un exercice agréable.

Par contre, filter est assez facile à utiliser ici:

=filter(F:F, C:C=14, isna(match(A:A, Sheet2!A:A, 0)))

dit: trouve toutes les entrées de F où la valeur C est 14 et la valeur de A ne correspond à rien dans la colonne A de la feuille Sheet2. La fonction match renvoie # N/A lorsque la valeur n’est pas trouvée, et c’est ce que isna cherche.

Alors c'est juste la question de prendre max de ceux-ci:

=max(filter(F:F, C:C=14, isna(match(A:A, Sheet2!A:A, 0))))
4
user135384