2012-07-25 14 views
8

ein weiteres Problem mit Google Spreadsheet API. Ich versuche, die Query() Funktion zu verwenden, um alle Kunden aus unserer Datenbank zu bekommen, die aus Warschau kommen. Google API scheint jedoch ein großes Problem beim Parsen meiner Abfrage zu haben. Ich habe es ein paar Mal überprüft und alles ist in Ordnung - versuchte Semikolons, verschiedene Apostrophen und Spaltennamen - es wird immer noch nicht funktionieren. Ich tippe diesen Code in dem Blatt Zelle:Google Tabellenkalkulation Query Error - Spalte existiert nicht

= Query(ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!A3:G40"); "select B where E contains 'Warszawa'") 

Und Fehler wie diese:

error: Invalid query: Column [E] does not exist in table. 

Und ich bin 110% sicher, dass die Spalte vorhanden ist und der Tabellenschlüssel ist OK;)

Antwort

14

Wenn Sie die Funktion Query mit einem direkten Verweis auf ein Rechteck von Zellen verwenden, verwenden Sie Großbuchstaben, um auf die Spalten zu verweisen. Wenn Sie jedoch Query für die Ausgabe einer Matrixformel verwenden, z. B. die Rückkehr von ImportRange, müssen Sie stattdessen Col1, Col2, ... verwenden, um auf die Spalten zu verweisen. So müßte Ihr Beispiel Abfrage-String lesen:

"select Col2 where Col5 contains 'Warszawa'" 

Arbeitsbeispiel:

=Query(ImportRange("0AtEH2Kw9zfIodEQ2dFNFam9sdEFEZlVnNEV3ZEZMZEE", "data!A:G"), "select Col3, count(Col4) group by Col3 order by count(Col4) desc label count(Col4) 'count'") 

Ich habe keine Ahnung, warum es nicht nur lassen Sie Namen aus einer Kopfzeile verwenden.

+1

Danke! Neugierig, wo Sie diesen Hinweis gefunden haben! Zu Ihrer Information, das ist auch ein Problem, wenn Sie Abfragen/Sortierungen/Transponierungen wie zB '= query (transpose (query (A1: B3; wählen * mit B> = 2));" select A ")' (es besagt, dass Spalte [A] nicht existiert). Aber es funktioniert, wenn ich Col1 benutze. – Fuhrmanator

+1

Ich hatte Probleme beim Abfragen eines importierten Bereichs, also googelte ich nach 'google tabellenkalkulation query importrange' und landete auf einem Beispiel, das die 'Col1 ... Coln'-Konvention verwendete. – George

+0

@George. Gibt es irgendwelche Einstellungen, die ich in der Quellentabelle ausführen muss? Ich habe erfolgreich Daten importiert, aber nur Zahlen importiert, Zellen, die Zeichenfolgen enthalten sollten, sind leer. – putoshop

2

Alternativ können Sie in diesem Fall die FILTER-Funktion ausprobieren und dann müssen Sie sich nicht um sql kümmern. :)

= FILTER (Importrange ("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska B3: B40"); Importrange ("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska e3: e40!") = "Warszava")

Obwohl Ich gebe zu, dass es wegen der zwei ImportRange-Funktionen nicht so schön ist.

Ich hoffe es hat trotzdem geholfen.

Verwandte Themen