2012-02-14 3 views
1

Comment puis-je obtenir des données à partir de nombreuses feuilles? Dans la documentation Reference data from other sheets est un exempleGoogle feuilles de calcul Query Language obtenir des données à partir de nombreuses autres feuilles

=Sheet1!A1 

j'ai écrit requête de test et il est fonctionne

=Query(otherSheet!A1:P999, "select A, B, C") 

Mais je veux obtenir des données avec une requête de plusieurs tables. c'est possible? Comment puis-je?

--- MISE À JOUR ---

Par exemple, j'ai 2 feuilles comme clients et orders, et je veux obtenir le nom d'utilisateur qui achètent certains produits le mois dernier. J'ai trouvé des solutions, par exemple, je reçois cient_id de order table, puis je me username de clients Table

=Unique(Query(orders!A1:P999, "select D WHERE I = 'paid' and J > date '2010-01-15' LABEL D 'client_id' ")) 

=vlookup(A2,contacts!B:C,2,false) 

Vous pouvez écrire avec seule requête?

Répondre

3

Vous devez être plus précis pour pouvoir obtenir une bonne réponse, mais je vais essayer de vous donner les directions auxquelles je peux penser.

Vous pouvez joindre physiquement vos données et créer une seule feuille avec toutes les données. Vous ne disposez pas ni de copier les données, ni se référer (à l'aide =), que vous pouvez utiliser la fonction EXPAND:

=EXPAND(SORT(Sheet1!A:C)) 

Une autre option est de rejoindre les critères que vous souhaitez avoir sur chaque feuille en utilisant ARRAYFORMULA; quelque chose comme:

=ARRAYFORMULA((SheetX!A2:C3>5)*(SheetY!A2:C3="Category A")*(A2:C3)) 

--- MISE À JOUR ---

Pour votre fonction mise à jour essayer quelque chose comme:

=ARRAYFORMULA(VLOOKUP(
    (orders!I:I="paid")*(orders!J:J>"2010-01-15")*(orders!D:D), 
    contacts!B:C,2 
)) 

Vous pouvez ajouter la fonction UNIQUE ainsi à l'intérieur du VLOOKUP, comme ainsi que d'autres fonctions comme SORT. Notez que vous pouvez également remplacer les valeurs de la requête ("2010-01-15", par exemple) par des valeurs dans les cellules (= E2, par exemple), au lieu d'avoir des valeurs codées en dur dans la fonction.

+1

Je mets à jour ma question – rtyshyk

+0

J'ai mis à jour ma réponse – Guy

+0

merci, je vais essayer plus tard – rtyshyk

Questions connexes