2014-05-02 9 views
19

Non riesco a trovare un'istruzione QUERY abbastanza semplice in Google Spreadsheets. Sto cercando di utilizzare un riferimento di cella invece di valori statici e mi trovo nei guai. Sotto di esso il codice che sto usando, ma continuo a ricevere un "Errore: errore di analisi della formula".Sintassi QUERY utilizzando il riferimento cella

=QUERY(Responses!B1:I, "Select B where G contains"& $B1 &) 

Sono sicuro che è un semplice errore, ma qualcuno può mostrarmi come scrivere i dati di cui sopra in modo che la query viene tirando da B dove G contiene il valore nella cella B1 (riferimento di cella)?

risposta

15

Ho solo una soluzione qui. In questo caso particolare, vorrei utilizzare la funzione FILTER invece di QUERY:

=FILTER(Responses!B:B,Responses!G:G=B1) 

Supponendo che i dati sono sul foglio "Risposte", ma la sua condizione (riferimento di cella) è nella cella B1 del foglio di vero e proprio.

Spero che aiuti.

UPDATE:

Dopo un po 'di ricerca per la domanda iniziale: Il problema con la formula è sicuramente il secondo & segno che presuppone che si desidera concatenare qualcosa di più per la tua WHERE dichiarazione. Prova a rimuoverlo. Se ancora non funziona, quindi provare questo:

=QUERY(Responses!B1:I, "Select B where G matches '^.\*($" & B1 & ").\*$'") - non l'ho provato, ma ha aiutato in un altro post: Query with range of values for WHERE clause?

+0

la tua risposta ha produrre il mio risultato desiderato, GRAZIE!Per tutti gli altri, sono ancora interessato a come scrivere correttamente l'istruzione della query sopra usando il riferimento alla cella. Grazie a tutti! –

+1

Ho modificato la mia risposta in base a un altro argomento. – zolley

+4

Grazie Zolley! La tua originale risposta "filtrata" mi ha aiutato a fare ciò che dovevo fare e mi ha insegnato qualcosa NOVITÀ, GRAZIE! Quanto segue è stato condiviso da Pnuts qui: http://webapps.stackexchange.com/questions/60221/query-syntax-using-cell-reference/60228?noredirect=1#60228 e funziona perfettamente. '= QUERY (Risposte! $ B1: $ I," Seleziona B dove G contiene '"& B1 &"' ")' –

31

Copiato da applicazioni Web:

=QUERY(Responses!B1:I, "Select B where G contains '"&$B1&"'") 
1

Vecchio Discussione ma ho trovato questo nel mio viaggio verso la risposta di sotto e la figura che qualcun altro potrebbe averne bisogno.

=IFERROR(ArrayFormula(query(index(Sheet3!A:C&""),"select* Where Col1="""&B1&""" ")), ARRAYFORMULA({"*  *","no cells","match"})); 

Qui è un filtro testo semplicemente costruita da un insieme di dati 3 colonna (A, B e C) che si trova in "Foglio3" in foglio e chiamare un confronto di una cella dal foglio corrente per filtrare all'interno Col1(A).

Questo bit è solo per sbarazzarsi dell'errore #N/A se il filtro salta fuori non ha prodotto risultati //ARRAYFORMULA({"* *","no cells","match"}))

+0

Se uno degli As qui non fosse mio (ma come attualmente) avrei probabilmente downvoted questo per i motivi [qui] (https://meta.stackoverflow.com/questions/361666/technically-off-topic-answer-but-seems-to-be-helpful#comment546283_361666). – pnuts

-1

So che questo è un vecchio thread, ma ho avuto la stessa domanda del PO e trovato la risposta:

Ci siamo quasi, il modo in cui è possibile includere i riferimenti di cella nel linguaggio di query è quello di avvolgere l'intera cosa in segni di riconoscimento vocale. Perché l'intera query è scritto nel discorso segna è necessario alternare 'e "come mostrato di seguito

cosa si avrebbe bisogno è questo:.

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' ") 

Se poi si volesse fare riferimento a più celle voi potrebbe aggiungere più come questo

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' and G contains '"& B2 &"' ") 

È possibile che questo sarebbe filtrare i risultati ulteriormente in base al contenuto di B1 e B2.