Die Funktion QUERY in Google Sheets erklärt
=QUERY(data; query; [headers]) filtert, sortiert und fasst einen Bereich mit einem kurzen Text zusammen, der in der Abfragesprache der Google Visualization API geschrieben ist. Sie ähnelt einer SQL-Abfrage, und damit kommt Sheets in einer einzigen Formel einer Pivot-Tabelle am nächsten.
QUERY gibt es nur in Google Sheets. In Excel verwendest du für dieselben Aufgaben FILTERN (Englisch: FILTER), SORTIEREN (Englisch: SORT), SUMMEWENNS (Englisch: SUMIFS) oder eine PivotTable.
Die drei Argumente
data ist der Bereich, der abgefragt wird. Jede Spalte sollte eine Art von Wert enthalten: Zahlen, Text oder Datumswerte. Eine Spalte mit gemischten Typen wird nach ihrem häufigsten Typ behandelt.
query ist der Abfragetext in Anführungszeichen oder ein Bezug auf eine Zelle, die ihn enthält.
headers gibt an, wie viele Kopfzeilen der Bereich hat. Lässt du es weg, rät Sheets, und deshalb wird eine Kopfzeile manchmal als Daten behandelt. Setze es auf 1, wenn du eine Kopfzeile hast.
Select und where
Spalten werden nach ihren Buchstaben im Bereich benannt (A, B, C …). =QUERY(A1:D20;"select A, C where C > 100";1) gibt die Spalten A und C für die Zeilen zurück, in denen C größer als 100 ist. Textwerte stehen in einfachen Anführungszeichen: =QUERY(A1:D20;"select A, C where B = 'East'";1).
Group by und Summen
Aggregatfunktionen sind sum, avg, count, min und max. =QUERY(A1:D20;"select B, sum(C) group by B";1) summiert Spalte C für jeden verschiedenen Wert von B: eine SUMIF für jede Region in einer einzigen Formel. Jede ausgewählte Spalte, die nicht aggregiert wird, muss in group by stehen.
Order by, limit und label
=QUERY(A1:D20;"select B, sum(C) group by B order by sum(C) desc limit 3 label sum(C) 'Total'";1) sortiert die Summen von hoch nach niedrig, behält die drei größten und benennt die Summenspalte in Total um.
Pivot
Mit pivot werden die verschiedenen Werte einer Spalte zu Spalten: =QUERY(A1:D20;"select B, sum(C) group by B pivot D";1) zeigt eine Spalte für jeden Wert von D, wie eine PivotTable.
Häufige Fehler
Gemischte Datentypen in einer Spalte. Eine Spalte mit Zahlen und Text liefert für den seltener vorkommenden Typ leere Werte.
Korrektur: Bereinige die Spalte, sodass jede Zelle denselben Typ hat, bevor du sie abfragst.
Vergessene Anführungszeichen um Textwerte.
=QUERY(A1:D20;"select A where B = East")ergibt einen Fehler.Korrektur: Setze Text in der Abfrage in einfache Anführungszeichen: B = 'East'.
Das Argument headers weglassen. Sheets rät, und möglicherweise behandelt es die Kopfzeile als Daten.
Korrektur: Gib immer die Anzahl der Kopfzeilen an, meist 1.
Häufig gestellte Fragen
Was ist das Excel-Pendant zu QUERY?
Es gibt kein einzelnes Pendant. FILTERN (Englisch: FILTER) mit SORTIEREN (Englisch: SORT) deckt select und where ab, SUMMEWENNS (Englisch: SUMIFS) deckt Summen mit group by ab, und eine PivotTable deckt pivot ab.
Muss ich SQL können?
Nein, aber es hilft: select, where, group by und order by funktionieren ziemlich ähnlich wie ihre gleichnamigen SQL-Befehle. Der SQL-Lernpfad dieser Seite bringt sie dir bei.
Verwandte Funktionen
- FILTERFILTER liefert die Zeilen eines Bereichs, die eine Bedingung erfüllen, und lässt sie in die Zellen darunter überlaufen.
- SORTSORT liefert eine sortierte Kopie eines Bereichs, die sich mit den Daten aktualisiert, aufsteigend oder absteigend, nach jeder Spalte.
- SUMIFSSUMIFS addiert Werte, die mehrere Bedingungen gleichzeitig erfüllen, etwa bezahlte Bestellungen aus einer Region.
- UNIQUEUNIQUE liefert jeden Wert einer Liste nur einmal, indem Duplikate mit einer Formel entfernt werden, die sich selbst aktualisiert.