2017-07-26 2 views
0

Sie müssen eine Abfrage auf Google-Tabellen ausführen, wo die Spalte mit einem beliebigen (*) Wert übereinstimmt. Ich mache das, weil das Kriterium durch Verweis auf eine andere Zelle (wie ein Filter) gefüllt wird. Wahrscheinlich fehlt mir etwas in der Syntax.Abfrage ausführen, wo Spalte = *

Mein letzter Versuch:

=QUERY(PROD!A:U;"SELECT L, SUM(M), SUM(O), SUM(Q), (1-(SUM(Q)/SUM(O))) 
WHERE T = '*' AND D = '*' AND U = '*' 
GROUP BY L 
ORDER BY SUM(M) DESC 
LABEL L 'PRODUTO', SUM(M) 'QUANTIDADE', SUM(Q) 'CUSTO', SUM(O) 'VENDA', (1-(SUM(Q)/SUM(O))) 'MARK-UP'") 

Vielen Dank im Voraus.

+0

Können Sie es ausarbeiten? Ist * ein Platzhalter oder sollte * in der Zeichenfolge enthalten sein? –

+0

Ich schreibe buchstäblich das * und gebe es innerhalb der Zeichenfolge weiter. Zum Beispiel MySQL und SQL. –

+0

Ich bekomme keine Probleme beim Filtern nach Spalten = '*'. Welchen Fehler bekommst du? –

Antwort

2

In Google Visualization API Query Language (nicht zu verwechseln mit T-SQL, MySQL, etc) bedeutet die Klausel WHERE T = '*', dass der Inhalt der Spalte T ist buchstäblich die Zeichenfolge *.

Um zu testen, ob eine Zelle nicht leer ist, verwenden Sie T <> '' (für Textspalten) oder T is not null (für numerische Spalten).

Es gibt auch like and matches für komplexere Textfilterung.