วิธีสร้างคิวรีด้วยสเปรดชีตของ Google ซึ่งจะตรวจสอบวันที่


11

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 ได้อย่างไร

คำตอบ:


3

ฉันไม่สามารถหาเคล็ดลับเพื่อให้เซลล์วันที่จริงทำงานได้ แต่คุณอาจมีวิธีแก้ไขหากไม่มีสิ่งอื่นใดโดยเพิ่มเครื่องหมายคำพูดเดี่ยว ( ') ก่อนวันที่ในรูปแบบ: YYYY-MM-DDในQ4เซลล์

คำพูดเดียวนั้นหมายความว่ามันจะถูกแยกวิเคราะห์เป็นสตริง


11

คุณสามารถจัดรูปแบบวันที่ดังนี้:

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

ไม่แน่ใจว่าจะสรุปจำนวนคอลัมน์ได้อย่างไร - ยังใหม่กับตัวเอง!


2

สิ่งนี้น่าจะใช้ได้:

=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 ของคุณดูเหมือนจะเป็นวว / ดด / ปปปป ฉันมีสิ่งเดียวกัน: แม้ว่าสิ่งนี้จะดูเหมือนว่าเป็นวว / ดด / ปปปปคุณจะต้องใส่มันเหมือนมันให้ไว้ในบรรทัดที่สองของคำตอบของฉันที่นี่ด้านบน


1

ใส่วันที่ที่คุณต้องการในเซลล์ใหม่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

สุดท้ายควรเป็น:

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

โดยที่ Q4 เป็นเซลล์ที่จัดรูปแบบวันที่ตามปกติซึ่งคุณอาจพิมพ์ในวันที่

คัดลอกข้างบนไปยัง notepad ของคุณและขยายขนาดตัวอักษรเป็นสิ่งที่ทุกอย่างเกี่ยวกับ

มันยากที่จะเห็นซิงเกิ้ล'ภายในดับเบิล"ที่นี่


0

นอกจากนี้คุณยังสามารถคำนวณวันที่นอกสตริงและวางdateตัวอย่างเช่น

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

Q4 ได้รับการส่งผ่านอย่างมีประสิทธิภาพเป็นจำนวนเต็มซึ่งเป็นสิ่งที่ QUERY แปลงวันที่ให้อยู่เบื้องหลัง


0

การใช้ฟังก์ชัน QUERY ของ 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คำสั่งอ้างอิงค่าวันที่ของเซลล์: จากโซลูชัน s6mikes

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

-1

คุณต้องเปลี่ยนประเภทของข้อมูลในเซลล์อ้างอิงของคุณเป็นข้อความ และมันจะทำงานได้อย่างราบรื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.