Cách tạo truy vấn với Bảng tính Google, kiểm tra ngày


11

Tôi có một phạm vi đi từ B4:H124. Tất cả các ô trong cột B là ngày. Tôi muốn lấy dữ liệu từ một hàng ( B:H), trong đó DATE bằng với nội dung của một ô cụ thể, giả sử Q4.

Làm thế nào để tôi xây dựng một truy vấn thích hợp?

Cho đến nay, những gì tôi đã đưa ra với điều này:

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

Nó hoạt động, mặc dù định dạng của các ô trong B là DD / MM / YYYY.

Làm thế nào tôi có thể thay đổi 2012-02-28để $Q4? Khi tôi thử, tôi gặp lỗi sau:

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

Khi tôi nhìn vào ô, định dạng là yyyy-mm-dd, nhưng khi tôi nhân đôi nó, định dạng sẽ thay đổi thành DD-MM-YYYY.

Tôi nên làm gì?

Ngoài ra, làm cách nào tôi có thể tổng hợp các giá trị từ truy vấn mà không bao gồm cột B?

Câu trả lời:


3

Tôi không thể tìm thấy mẹo để ô ngày thực sự hoạt động, nhưng bạn có thể giải quyết nếu không có gì khác bằng cách thêm dấu ngoặc đơn ( ') trước ngày ở định dạng: YYYY-MM-DDtrong Q4ô.

Câu trích dẫn đó có nghĩa là nó sẽ được phân tích cú pháp dưới dạng chuỗi.


11

Bạn có thể định dạng ngày như thế này:

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

Để tổng hợp các giá trị trong cột C, hãy làm điều này:

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

Không chắc chắn làm thế nào để tổng hợp nhiều cột mặc dù - bản thân nó vẫn còn khá mới!


2

Điều này sẽ làm việc:

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

Dù sao, tôi đã có cùng một vấn đề và cuối cùng nó đã làm việc cho tôi.

Có điều là bạn bị nhầm lẫn bởi tin nhắn

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

Điều này là do định dạng ngày của ô Q4 của bạn dường như là dd / MM / yyyy. Tôi có một điều tương tự: ngay cả khi điều này trông giống như dd / MM / yyyy, bạn chỉ cần đặt nó giống như được đưa ra trong dòng thứ hai của câu trả lời của tôi ở đây.


1

Đặt ngày mong muốn của bạn vào một ô mới như Q3trong định dạng này:2/28/2012

Sau đó trong Q4loại tế bào=YEAR(Q3) & "-" & DEC2OCT(MONTH(Q3), 2) & "-" & DAY(Q3)

Điều này sẽ nhận được ngày từ Q3ô và chuyển đổi nó thành một chuỗi trong Q4ô.

Điều này hữu ích hơn nếu bạn muốn ngày hiện tại. Thay vì lấy ngày từ Q3bạn có thể sử dụng now()để có được ngày hôm nay như vậy:=YEAR(now()) & "-" & DEC2OCT(MONTH(now()), 2) & "-" & DAY(now())


1

Trận chung kết nên là:

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

Trong đó Q4 là một ô được định dạng ngày bình thường nơi bạn có thể nhập vào một ngày.

Sao chép ở trên vào notepad của bạn và phóng to kích thước phông chữ cho tất cả những gì về.

Thật khó để nhìn thấy đĩa đơn 'trong gấp đôi "ở đây.


0

Bạn cũng có thể tính ngày bên ngoài chuỗi và thả dateví dụ

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

Q4 thực sự được thông qua dưới dạng một số nguyên, đó là những gì QUERY biến đổi ngày thành hậu trường.


0

Sử dụng chức năng QUERY của Google:

Đối với sum nhiều cột , điều quan trọng là bao gồm labeltham số ở cuối truy vấn

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

lưu ý: tham chiếu cột có phân biệt chữ hoa chữ thường & 2 dấu ngoặc đơn ở cuối truy vấn là bắt buộc.

Để thêm một wheremệnh đề tham chiếu giá trị ngày của ô : từ giải pháp s6mike

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

2 truy vấn kết hợp ...

=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

Bạn phải thay đổi loại dữ liệu trong ô tham chiếu của bạn thành văn bản. Và nó sẽ hoạt động trơn tru.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.