2014-05-02 25 views
19

Tôi đang gặp khó khăn trong việc tìm ra câu lệnh QUERY khá đơn giản trong Bảng tính Google. Tôi đang cố gắng sử dụng một tham chiếu ô thay vì các giá trị tĩnh và tôi đang gặp rắc rối. Bên dưới mã tôi đang sử dụng, nhưng tôi vẫn gặp phải lỗi "Lỗi: Lỗi phân tích cú pháp công thức".Cú pháp QUERY sử dụng tham chiếu ô

=QUERY(Responses!B1:I, "Select B where G contains"& $B1 &) 

tôi chắc chắn rằng đó là một lỗi đơn giản, nhưng ai đó có thể xin vui lòng chỉ cho tôi làm thế nào để viết nên QUERY là kéo dữ liệu trên từ B trong đó G chứa các giá trị trong ô B1 (tham chiếu ô)?

Trả lời

15

Tôi chỉ có giải pháp thay thế tại đây. Trong trường hợp đặc biệt này, tôi sẽ sử dụng FILTER chức năng thay vì QUERY:

=FILTER(Responses!B:B,Responses!G:G=B1) 

Giả sử rằng dữ liệu của bạn nằm trên "Câu trả lời" tấm, nhưng tình trạng của bạn (tham chiếu ô) là trong ô B1 bảng thực tế của.

Hy vọng điều đó sẽ hữu ích.

UPDATE:

Sau khi một số tìm kiếm cho câu hỏi ban đầu: Vấn đề với công thức của bạn chắc chắn là & dấu hiệu thứ hai mà giả định rằng bạn muốn tiếp nhau một cái gì đó nhiều hơn để tuyên bố WHERE của bạn. Cố gắng loại bỏ nó. Nếu nó vẫn không hoạt động, sau đó thử này:

=QUERY(Responses!B1:I, "Select B where G matches '^.\*($" & B1 & ").\*$'") - Tôi đã không thử nó, nhưng nó giúp trong bài khác: Query with range of values for WHERE clause?

+0

câu trả lời của bạn đã tạo ra kết quả mong muốn của tôi, THANK YOU!Đối với những người khác, tôi vẫn quan tâm đến cách viết đúng câu truy vấn ở trên bằng cách sử dụng tham chiếu ô. Cảm ơn mọi người! –

+1

Tôi đã chỉnh sửa câu trả lời của mình dựa trên một chủ đề khác. – zolley

+4

Cảm ơn bạn Zolley! Câu trả lời "được lọc" ban đầu của bạn đã giúp tôi hoàn thành những gì tôi cần làm và nó đã dạy tôi điều gì đó MỚI, THANK YOU! Sau đây được chia sẻ bởi Pnuts ở đây - http://webapps.stackexchange.com/questions/60221/query-syntax-using-cell-reference/60228?noredirect=1#60228 và hoạt động hoàn hảo. '= QUERY (hồi đáp! $ B1: $ I," Chọn B trong đó G chứa '"& B1 &"' ")' –

31

được sao chép từ các ứng dụng web:

=QUERY(Responses!B1:I, "Select B where G contains '"&$B1&"'") 
1

Cũ Chủ đề nhưng tôi tìm thấy điều này trên hành trình của tôi đến câu trả lời dưới đây và tìm một người khác có thể cần nó.

=IFERROR(ArrayFormula(query(index(Sheet3!A:C&""),"select* Where Col1="""&B1&""" ")), ARRAYFORMULA({"*  *","no cells","match"})); 

Đây là một văn bản đơn giản được xây dựng Bộ lọc từ một tập dữ liệu 3 cột (A, B và C) nằm trong "Sheet3" vào bảng hiện tại và gọi một so với một tế bào từ bảng hiện tại để lọc trong Col1(A).

Bit này chỉ là để thoát khỏi lỗi #N/A nếu bộ lọc lần lượt lên không có kết quả //ARRAYFORMULA({"* *","no cells","match"}))

+0

Nếu một trong các Như ở đây không phải của tôi (nhưng Như hiện tại) tôi có lẽ đã downvoted điều này trên cơ sở [ở đây] (https://meta.stackoverflow.com/questions/361666/technically-off-topic-answer-but-seems-to-be-helpful#comment546283_361666). – pnuts

-1

Tôi biết đây là một chủ đề cũ nhưng tôi có cùng một câu hỏi như OP và tìm thấy câu trả lời:

Bạn đang ở gần đó, cách bạn có thể bao gồm các tham chiếu ô trong ngôn ngữ truy vấn là bao bọc toàn bộ nội dung trong các nhãn bài phát biểu. Bởi vì toàn bộ truy vấn được viết trong bài phát biểu đánh dấu bạn sẽ cần phải luân phiên giữa "và" như hình dưới đây

Những gì bạn sẽ cần điều này là:.

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' ") 

Nếu sau đó bạn muốn tham khảo nhiều ô bạn có thể bổ sung thêm như thế này

=QUERY(Responses!B1:I, "Select B where G contains '"& B1 &"' and G contains '"& B2 &"' ") 

trên đây sẽ lọc các kết quả của bạn hơn nữa dựa trên nội dung của B1 và ​​B2.

Các vấn đề liên quan