So erstellen Sie eine Abfrage mit Google Spreadsheet, bei der nach einem Datum gesucht wird


11

Ich habe eine Reichweite, die von geht B4:H124. Alle Zellen in Spalte B sind Datumsangaben. Ich möchte die Daten aus einer Zeile ( B:H) abrufen , in der das DATUM dem Inhalt einer bestimmten Zelle entspricht, sagen wir Q4.

Wie erstelle ich eine richtige Abfrage?

Was ich mir bisher ausgedacht habe:

=QUERY(B2:G124; "select * where B = date '2012-02-28'")

Es funktioniert, obwohl das Format der Zellen in B TT / MM / JJJJ ist.

Wie kann ich ändern 2012-02-28zu $Q4? Wenn ich es versuche, wird folgende Fehlermeldung angezeigt:

=QUERY(B2:G124; "select * where B = date '"&Q4&"'")

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

Wenn ich mir die Zelle anschaue, ist das Format yyyy-mm-dd, aber wenn ich darauf doppelklicke, ändert sich das Format in DD-MM-YYYY.

Was sollte ich tun?

Wie kann ich auch die Werte aus der Abfrage zusammenfassen, ohne Spalte B einzuschließen?

Antworten:


3

Ich konnte den Trick für die reale Datumszelle noch nicht finden, aber Sie könnten das Problem umgehen, wenn Sie das einfache Anführungszeichen ( ') vor dem Datum in einem Format hinzufügen : YYYY-MM-DDin der Q4Zelle.

Dieses einfache Anführungszeichen bedeutet, dass es als Zeichenfolge analysiert wird.


11

Sie können das Datum folgendermaßen formatieren:

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

Gehen Sie folgendermaßen vor, um die Werte in Spalte C zusammenzufassen:

=QUERY(B2:G124; "select sum(C) where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

Ich bin mir nicht sicher, wie ich mehrere Spalten zusammenfassen soll - selbst noch ziemlich neu!


2

Das sollte funktionieren:

=QUERY(B2:G124; "select * where B = date '"&text(Q4;"yyyy-MM-dd")&"'")

Wie auch immer, ich hatte das gleiche Problem und schließlich hat es bei mir funktioniert.

Die Sache ist, dass Sie durch die Nachricht verwirrt werden

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

Dies liegt daran, dass das Datumsformat Ihrer Q4-Zelle TT / MM / JJJJ zu sein scheint. Ich habe das Gleiche: Auch wenn dies so aussieht, als wäre es TT / MM / JJJJ, müssen Sie es einfach so ausdrücken, wie es in der zweiten Zeile meiner obigen Antwort angegeben ist.


1

Fügen Sie Ihr gewünschtes Datum wie folgt in eine neue Zelle ein Q3:2/28/2012

Dann in den Q4Zelltyp=YEAR(Q3) & "-" & DEC2OCT(MONTH(Q3), 2) & "-" & DAY(Q3)

Dadurch wird das Datum aus der Q3Zelle abgerufen und in eine Zeichenfolge in der Q4Zelle konvertiert .

Dies ist hilfreicher, wenn Sie das aktuelle Datum wünschen. Anstatt das Datum von Q3Ihrem now()zu erhalten, können Sie das heutige Datum wie folgt abrufen:=YEAR(now()) & "-" & DEC2OCT(MONTH(now()), 2) & "-" & DAY(now())


1

Das Finale sollte sein:

=QUERY(B2:G124; "select * where B = date ' "  & text( Q4 ,"yyyy-MM-dd") & "'")

Wobei Q4 eine normale datumsformatierte Zelle ist, in die Sie ein Datum eingeben können.

Kopieren Sie das Obige auf Ihren Notizblock und vergrößern Sie die Schriftgröße auf das, worum es geht.

Es ist schwer, den Einzelnen 'im Doppel zu "sehen.


0

Sie können auch das Datum außerhalb der Zeichenfolge berechnen und die fallen date, zum Beispiel

=QUERY(B2:G124; "select * where B = '" & Q4)

Q4 wird effektiv als Ganzzahl übergeben, was QUERY ohnehin das Datum hinter den Kulissen umwandelt.


0

Verwenden der QUERY-Funktion von Google:

Bei sum mehreren Spalten ist es wichtig, den labelParameter am Ende der Abfrage einzufügen

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ") 

Hinweis: Spaltenreferenzen unterscheiden zwischen Groß- und Kleinschreibung und die 2 einfachen Anführungszeichen am Ende der Abfrage sind erforderlich.

So fügen Sie eine whereKlausel hinzu, die auf einen Datumswert für Zellen verweist : aus der s6mikes-Lösung

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "') 

Die 2 Abfragen kombiniert ...

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) where B = date '" & text(Q4,"yyyy-MM-dd") & "' label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ")

-1

Sie müssen den Datentyp in Ihrer Referenzzelle in Text ändern. Und es wird reibungslos funktionieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.