web-dev-qa-db-ja.com

日付をチェックするGoogleスプレッドシートでクエリを作成する方法

B4:H124からの範囲があります。列Bのすべてのセルは日付です。行(B:H)からデータを取得したいのですが、DATEは特定のセルのコンテンツに等しくなります(Q4など)。

適切なクエリを作成するにはどうすればよいですか?

これまでのところ、私がこれを思いついたもの:

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

Bのセルの形式がDD/MM/YYYYであっても機能します。

2012-02-28$Q4に変更するにはどうすればよいですか?しようとすると、次のエラーが表示されます。

=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.

セルを見ると、形式はyyyy-mm-ddですが、ダブルクリックすると、形式がDD-MM-YYYYに変わります。

私は何をすべきか?

また、列Bを含めずに、クエリの値を合計するにはどうすればよいですか?

10
Kenci

実際の日付セルが機能するためのトリックはまだ見つかりませんでしたが、日付の前に'セルでYYYY-MM-DDの形式で単一引用符(Q4)を追加することで、他に解決策はありません。

その一重引用符は、文字列として解析されることを意味します。

3
Lipis

次のように日付をフォーマットできます。

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

列Cの値を合計するには、次を実行します。

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

ただし、複数の列を合計する方法がわからない-これはまだかなり新しいです!

10
s6mike

これは動作するはずです:

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

とにかく、私は同じ問題を抱えていて、最終的にはうまくいきました。

問題は、メッセージに混乱することです

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

これは、Q4セルの日付形式がdd/MM/yyyyのように見えるためです。私は同じことを持っています:これがdd/MM/yyyyのように見えても、上記の私の返信の2行目にあるようにそれを置くだけです。

2
Andreyko Dan

Q3のような新しいセルに希望の日付を次の形式で入力します:2/28/2012

次に、Q4セルタイプ=YEAR(Q3) & "-" & DEC2OCT(MONTH(Q3), 2) & "-" & DAY(Q3)

これは、Q3セルから日付を取得し、Q4セル内の文字列に変換します。

これは、現在の日付が必要な場合に役立ちます。 Q3から日付を取得する代わりに、now()を使用して次のように今日の日付を取得できます。=YEAR(now()) & "-" & DEC2OCT(MONTH(now()), 2) & "-" & DAY(now())

1
Brad C.

最終的なものは次のとおりです。

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

Q4は、日付を入力できる通常の日付形式のセルです。

上記をメモ帳にコピーし、フォントサイズをすべてに拡大します。

ここで、ダブル'内のシングル"を見るのは困難です。

1
raymond703

Googleのクエリ機能を使用:

sum複数の列には、クエリの最後にlabelパラメーターを含めることが重要です。

=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) '' ") 

注:列参照では大文字と小文字が区別され、クエリの最後に2つの単一引用符が必要です。

セルを参照するwhere句を追加するにはdate value:from s6mikes solution

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

2つのクエリを組み合わせた ...

=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) '' ")
0
RumbleFish

文字列外の日付を計算して、dateをドロップすることもできます。たとえば、

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

Q4は事実上整数として渡されます。これは、QUERYがとにかく舞台裏に日付を変換するものです。

0
Max Ghenis