Je viens de découvrir la fonction de requête et cela change énormément la donne. J'ai bricolé un peu mais aimerais avoir de l'aide avec celui-ci. Ce que j'aimerais faire, c'est
=query(
'Sample Data'!A3:D10,
"select A, C where (B='neighborhood')" and "select D where (D='cuisine')"
)
Même si D est rempli, il est sans intérêt pour cette requête pour toute autre valeur, aussi j'aimerais laisser la cellule vide dans ce cas.
Est-ce possible? J'ai essayé quelques options et les ai laissées dans la fiche d'échantillon [lié ci-dessous] pour bricoler
J'ai fait un rapide feuille de données d'échantillon à la demande et dans le processus, j'ai pensé à un meilleur exemple de cas d'utilisation. Désolé pour la confusion changeant la description, mais je pense que ce cas d'utilisation a plus de sens pour plus de gens.
Effectuez deux requêtes et utilisez IF, IERROR, ARRAYFORMULA et la fonctionnalité de gestion de la matrice de Google Sheets.
Il est impossible d'obtenir le résultat souhaité à l'aide d'une seule requête QUERY en raison de la mise en œuvre de Google Query. Heureusement, le résultat souhaité pourrait être obtenu en utilisant d'autres fonctionnalités de Google Sheets.
À partir de la feuille de calcul liée à la question
Ce que je voudrais, c'est une requête unique qui me permette d'afficher tous les restaurants d'un quartier donné.
Ensuite, pour chaque résultat, SI le restaurant correspond à une cuisine donnée, affichez la cuisine. si ce n'est pas le cas, laissez la cellule vide. Des points bonus pour trier la sortie avec la cuisine souhaitée en plus, mais cela peut en demander trop et n’est vraiment pas important. Donc, si je suis Strathcona et affamé, je peux obtenir une liste de tous les endroits où j'ai "voulu aller" dans la région, et ce soir je suis d'humeur pour italien donc:Je voudrais cette sortie:
Poor Italian 1816 Howard St Italian
Lucy's 15 Main
Parallel 49 123908 Main
La formule suivante renvoie la sortie souhaitée:
= ArrayFormula ( { Requête ("Exemple de données"! A3: F10, "sélectionnez A, C où B =" Strathcona ""), Si ( requête ("Exemple de données"! A3: F10, "sélectionnez D où B =" Strathcona "") = "Italien", "Italien", IFERROR (1 /0) ) } )
Remarques: Afin de créer une formule simple, le voisinage et la cuisine sont "codés en dur" dans la formule. Afin de faciliter la maintenance de la formule, ces valeurs peuvent être remplacées par des références de cellules, mais vous devez savoir que l'argument de requête requiert que les chaînes soient entourées à l'aide d'apostrophes.
Supposons que A1 conserve la valeur du quartier. Dans la formule, la valeur "codée en dur" 'Strathcona'
pourrait être remplacée par '&A1&'
D'autre part, le cas de la cuisine est hors de l'argument de requête, il pourrait donc être remplacé par la seule référence de cellule. Supposons que B1 conserve la valeur de la cuisine. Dans la formule, la valeur "harcodée" "Italian"
pourrait être remplacée par B1