จะจัดกลุ่มข้อมูลในสเปรดชีตของ Google ได้อย่างไร


96

ฉันมีตารางต่อไปนี้ในสเปรดชีตของ Google:

Name | Value
A    | 10
B    | 100
A    | 20
B    | 200
C    | 1000

ฉันจะสร้างตารางอื่นโดยใช้แบบสอบถามได้อย่างไร:

select name, sum(value), count(value) from table group by name

ดังนั้นดูเหมือนว่านี้:

Name | SUM   | COUNT
A    | 30    | 2
B    | 300   | 2
C    | 1000  | 1

คำตอบ:


109

โดยใช้QUERYฟังก์ชั่นที่คุณสามารถบรรลุเป้าหมายของคุณ

สูตร

=QUERY(Data!A1:B6;"select A, sum(B), count(B) group by A")

ภาพหน้าจอ

ป้อนคำอธิบายรูปภาพที่นี่

การใช้ฟังก์ชั่นอื่นทำให้สามารถใช้งานได้เช่นกัน

add this formula in A2:
=UNIQUE(Data!A2:A)

add the following formulas in B2 and C2 and copy down to B4 and C4 respectivey 
=SUM(FILTER(Data!$B$2:B;Data!$A$2:A=A2))
=COUNTA(FILTER(Data!$B$2:B;Data!$A$2:A=A2))

ตัวอย่าง

ฉันได้สร้างไฟล์ตัวอย่างให้คุณ: QUERY vs. FUNCTIONS




42

คุณสามารถใช้Pivot Tablesเพื่อจัดกลุ่มข้อมูลใน Google Spreadsheets


ทำไม -1 Pivot Table ทำหน้าที่ได้อย่างแน่นอน! googledocs.blogspot.com/2011/05/…
Mehper C. Palavuzlar

เพราะคำถามเกี่ยวกับการทำกับ SQL
Jacob Jan Tuinstra

11
เขาต้องการสร้างตารางอื่นที่เขากำหนดไว้อย่างชัดเจนในคำถามและตาราง Pivot สร้างตารางนี้ นี่คือคำตอบที่ถูกต้อง
Mehper C. Palavuzlar

2
ตาราง Pivot อาจจะกล่าวถึงในส่วนความเห็นคำถามแทน มันมีประโยชน์และเกี่ยวข้องอย่างแน่นอน แต่ไม่ตอบคำถามอย่างแม่นยำ - เพียงเพราะคำถามนั้นเกี่ยวกับแบบสอบถามโดยเฉพาะและQUERYฟังก์ชั่นคือคำตอบ
เดฟ

4
แม้ว่าคำถามที่ถามหา QUERY ก็เป็นการดีที่จะพูดถึงคำตอบอื่น ๆ เนื่องจาก OP อาจไม่ได้พิจารณาความเป็นไปได้เหล่านี้หรืออาจมีข้อได้เปรียบเหนือวิธีการที่ OP กล่าวถึง
Vaddadi Kartick

6

ทำไมไม่ใช้Pivot Table ? มันจะให้ตัวเลือกและการควบคุมแก่คุณมากกว่าการเขียนสูตรที่กำหนดเอง ควบคุมรายการสดเพิ่มคอลัมน์แถวค่าตัวกรอง

ป้อนคำอธิบายรูปภาพที่นี่

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