2012-08-08 9 views
8

Ho 15 fogli che usano lo stesso modello, per 15 utenti diversi.Come interrogare più fogli e unire i dati?

desidero fare una query su tutti i fogli, e visualizzare il risultato in un foglio separato:

=QUERY(Mona!A3:U300; "select A, D where C != ''") 

Dove Mona è il nome di 1 dei 15 fogli.

Quindi quello che mi serve è fare QUERY su tutti i fogli e mostrare il risultato. Le colonne (A, D) dovrebbero solo avviarsi una volta.

Come posso realizzare questo?

risposta

2

Questo non risolve la parte di unione del vostro problema, ma un modo efficiente di interrogare tutti i fogli è:

=QUERY(Indirect(A1); "select A, D where C != ''") 

dove cella A1 ha il valore di testo Mona!A3:U300

Con questo metodo si può elencare i diversi nomi dei fogli nelle celle e avere una ricerca per ciascuno di essi.

Potrebbe essere possibile utilizzare un ArrayFormula per combinare le query in una formula, anche se non sono sicuro di come bene di query avrebbe lavorato per questo - utilizzando Sumproduct o Filter per cercare valori utilizzando criteri multipli potrebbe funzionare meglio.

6

Fammi altro suggerisce di usare {} per raccogliere tutti i dati:

formula di esempio per 3 fogli:

=QUERY({'1'!A1:D13;'2'!A2:D13;'3'!A2:D13},"select Col1, Col2") 

Qui usiamo intestazione solo una volta nel foglio di lavoro # 1: gamma '1'!A1:D13 contiene un'intestazione, gamma '2'!A2:D13 e altri no. Inoltre sostituiamo la notazione A, B, C con Col1, Col2, Col3 ...

Guarda example workbook, qualcuno potrebbe trovarlo accattivante.