สารบัญ
หากวิธีเดียวที่คุณรู้เกี่ยวกับการสร้างตัวกรองใน Google ชีตคือเครื่องมือมาตรฐาน ฉันก็มีเรื่องจะเซอร์ไพรส์สำหรับคุณ :) มาสำรวจฟังก์ชั่น FILTER กับฉัน มีสูตรสำเร็จรูปมากมายที่คุณสามารถยืมได้ พร้อมด้วยเครื่องมืออันทรงพลังใหม่ที่เสริมชุดเครื่องมือการกรองอย่างมาก
ก่อนหน้านี้เราได้อธิบายวิธีการกรองใน Google ชีตโดยใช้เครื่องมือมาตรฐาน เราได้กล่าวถึงวิธีการกรองตามค่าและเงื่อนไข อย่างไรก็ตาม สเปรดชีตมีอะไรมากกว่าที่เรารู้เสมอ และครั้งนี้ ฉันจะสำรวจฟังก์ชันตัวกรองของ Google ชีตกับคุณ
คุณจะไม่พบฟังก์ชันนี้ใน Excel ดังนั้นจึงคุ้มค่าที่จะลองดู
ไวยากรณ์ของฟังก์ชันตัวกรองของ Google ชีต
ตัวกรองใน Google ชีตจะสแกนข้อมูลของคุณและส่งคืนข้อมูลที่จำเป็นซึ่งตรงกับเกณฑ์ของคุณ
ฟังก์ชันนี้ไม่เหมือนกับตัวกรอง Google ชีตมาตรฐาน ทำอะไรก็ได้กับข้อมูลต้นฉบับของคุณ โดยจะคัดลอกแถวที่พบและวางไว้ทุกที่ที่คุณสร้างสูตร
ไวยากรณ์ค่อนข้างง่ายเนื่องจากอาร์กิวเมนต์แต่ละรายการทำหน้าที่แทนตัวเอง:
=FILTER(range, condition1, [condition2, ...])- ช่วง คือข้อมูลที่คุณต้องการกรอง จำเป็น
- condition1 คือคอลัมน์หรือแถวพร้อมกับเกณฑ์ TRUE/FALSE ที่ควรจะอยู่ภายใต้ จำเป็น
- condition2,... ฯลฯ ย่อมาจากคอลัมน์/แถวอื่นๆ และ/หรือเกณฑ์อื่นๆ ไม่บังคับ
หมายเหตุ แต่ละ เงื่อนไข ควรมีขนาดเท่ากับ ช่วง
หมายเหตุ หากคุณใช้หลายเงื่อนไข เงื่อนไขทั้งหมดควรเป็นทั้งคอลัมน์หรือแถว ฟังก์ชัน FILTER ของ Google ชีตไม่อนุญาตให้ใช้เงื่อนไขแบบผสม
ตอนนี้ เมื่อคำนึงถึงหมายเหตุเหล่านี้แล้ว เรามาดูกันว่าอาร์กิวเมนต์มีรูปร่างเป็นสูตรต่างๆ อย่างไร
วิธีใช้ฟังก์ชัน FILTER ใน Google ชีต
ฉันจะแสดงให้คุณเห็นทั้งหมด ตัวอย่างขณะกรองตารางขนาดเล็กที่ฉันติดตามคำสั่งซื้อบางส่วน:
ตารางมี 20 แถวพร้อมข้อมูลประเภทต่างๆ ซึ่งเหมาะสำหรับการเรียนรู้ฟังก์ชัน
วิธีกรองใน Google ชีตตามข้อความ
ตัวอย่างที่ 1. ข้อความตรง
ก่อนอื่น ฉันจะขอให้ฟังก์ชันแสดงเฉพาะคำสั่งซื้อที่มาช้า ฉันป้อนช่วงที่จะกรอง — A1:E20 — จากนั้นตั้งเงื่อนไข — คอลัมน์ E ควรเท่ากับ Late :
=FILTER(A1:E20,E1:E20="Late")
<3
ตัวอย่างที่ 2 ข้อความไม่ตรงทั้งหมด
ฉันขอให้ฟังก์ชันรับคำสั่งซื้อทั้งหมดให้ฉันได้ ยกเว้นคำสั่งซื้อที่ล่าช้า สำหรับสิ่งนั้น ฉันจะต้องใช้ตัวดำเนินการเปรียบเทียบพิเศษ () ซึ่งหมายความว่า ไม่เท่ากับ :
=FILTER(A1:E20,E1:E20"Late")
ตัวอย่างที่ 3 ข้อความ มี
ตอนนี้ฉันต้องการแสดงวิธีสร้างฟังก์ชันตัวกรองของ Google ชีตตามการจับคู่บางส่วน หรืออีกนัยหนึ่ง — ถ้า ข้อความมี .
คุณสังเกตเห็นว่ารหัสคำสั่งซื้อในคอลัมน์ A มีตัวย่อของประเทศต่อท้ายหรือไม่ มาสร้างสูตรเพื่อดึงข้อมูลเท่านั้นคำสั่งซื้อที่จัดส่งจากแคนาดา ( CA )
โดยปกติ คุณจะต้องใช้อักขระตัวแทนสำหรับงานนี้ แต่เมื่อพูดถึงสูตร FILTER ฟังก์ชัน FIND และ SEARCH จะทำงานด้วยวิธีนี้
เคล็ดลับ หากคุณต้องการหลีกเลี่ยงการซ้อนฟังก์ชันอื่นๆ เมื่อกรองตามคำง่ายๆ ที่เกิดขึ้น โปรดลองใช้ส่วนเสริมที่อธิบายไว้ในตอนท้าย
หมายเหตุ หากตัวพิมพ์ข้อความมีความสำคัญ ให้ใช้ FIND มิฉะนั้น ให้เลือก SEARCH
ฟังก์ชัน SEARCH จะทำงานได้ดีสำหรับตัวอย่างของฉัน เนื่องจากตัวพิมพ์ข้อความไม่เกี่ยวข้อง:
=SEARCH(search_for, text_to_search, [starting_at])- search_for เป็นข้อความ ฉันต้องการที่จะหา สิ่งสำคัญคือต้องใส่เครื่องหมายคำพูดคู่: "ca" จำเป็น
- text_to_search คือช่วงที่จะสแกนหาข้อความที่ต้องการ ที่จำเป็น. A1:A20 สำหรับฉัน
- starting_at ระบุตำแหน่งเริ่มต้นสำหรับการค้นหา — จำนวนอักขระที่จะเริ่มค้นหา เป็นตัวเลือกที่สมบูรณ์ แต่ฉันจำเป็นต้องใช้มัน คุณจะเห็นว่ารหัสคำสั่งซื้อทั้งหมดประกอบด้วยตัวอักษรและตัวเลข หมายความว่าคู่ของ CA อาจเกิดขึ้นระหว่างนั้น รูปแบบที่เหมือนกันของรหัสทั้งหมดทำให้ฉันสามารถค้นหา CA โดยเริ่มจากอักขระตัวที่ 8
หลังจากรวบรวมส่วนเหล่านี้ทั้งหมดเข้าด้วยกัน ฉันได้รับผลลัพธ์ที่ต้องการ:
=FILTER(A1:E20,SEARCH("ca",A1:A20,8))
วิธีกรองตามวันที่และเวลาใน Google ชีต
การกรองตามวันที่และเวลาต้องใช้ฟังก์ชั่นเพิ่มเติม ขึ้นอยู่กับเกณฑ์ของคุณ คุณอาจต้องฝังวัน เดือน ปี หรือแม้แต่วันที่และเวลาในฟังก์ชันตัวกรองหลักของ Google ชีต
เคล็ดลับ หากคุณไม่คุ้นเคยกับสิ่งเหล่านี้หรือยุ่งวุ่นวายกับการออกเดทอยู่เสมอ ไม่ต้องกังวล เครื่องมือที่อธิบายในตอนท้ายไม่จำเป็นต้องใช้ฟังก์ชันใดๆ เลย
ตัวอย่างที่ 1 วันที่คือ
หากต้องการรับคำสั่งซื้อที่ครบกำหนดในวันที่ 9 มกราคม 2020 ฉันจะเรียกใช้ฟังก์ชัน DATE:
=FILTER(A1:E20,C1:C20=DATE(2020,1,9))
หมายเหตุ วิธีนี้ใช้ได้เฉพาะเมื่อเซลล์ของคุณไม่มีหน่วยเวลาพร้อมกับวันที่ (สเปรดชีตของคุณอาจเพิ่มหน่วยเหล่านี้ตามค่าเริ่มต้น) เพื่อความแน่ใจ เพียงเลือกเซลล์และตรวจสอบสิ่งที่ปรากฏในแถบสูตร:
หากเวลายังมีอยู่และการเอาออกไม่ใช่ตัวเลือก คุณควรใช้ QUERY อย่างใดอย่างหนึ่ง หรือเงื่อนไขที่ซับซ้อนมากขึ้นในฟังก์ชันตัวกรองของ Google ชีต เช่น
=FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20
เคล็ดลับ ฉันพูดถึงเงื่อนไขหลายประการในรายละเอียดด้านล่าง
ตัวอย่างที่ 2 วันที่ประกอบด้วย
หากคุณสนใจเฉพาะเดือนใดเดือนหนึ่งหรือปีเดียวเท่านั้น คุณสามารถใช้ฟังก์ชัน MONTH และ YEAR ได้ ใส่ช่วงที่มีวันที่ลงไป ( C1:C20 ) และระบุจำนวนเดือน (หรือปี) ที่ควรจะเป็น ( =1 ):
=FILTER(A1:E20,MONTH(C1:C20)=1)
ตัวอย่างที่ 3 วันที่อยู่ก่อน/หลัง
หากต้องการรับข้อมูลที่อยู่ก่อนหรือหลังวันที่ที่ระบุ คุณจะต้องใช้ DATE ฟังก์ชันและตัวดำเนินการเปรียบเทียบดังกล่าวให้มากขึ้นมากกว่า (>) มากกว่าหรือเท่ากับ (>=) น้อยกว่า (<) น้อยกว่าหรือเท่ากับ (<=)
นี่คือคำสั่งซื้อที่ได้รับเมื่อวันที่ และ หลังจากวันที่ 1 มกราคม 2020:
=FILTER(A1:E20,D1:D20>=DATE(2020,1,1))
แน่นอน คุณสามารถแทนที่ DATE ด้วย MONTH หรือ YEAR ได้ที่นี่ ผลลัพธ์จะไม่แตกต่างจากด้านบน:
=FILTER(A1:E20,YEAR(D1:D20)>=2020)
ตัวอย่างที่ 4. เวลา
เมื่อกรองข้อมูลตามเวลาใน Google ชีต การเจาะลึกจะเหมือนกันทุกประการกับ วันที่. คุณใช้ฟังก์ชัน TIME เพิ่มเติม
เช่น หากต้องการรับเฉพาะวันที่มีการประทับเวลาหลัง 14:00 น. สูตรจะเป็น:
=FILTER(A1:B10,A1:A10>TIME(14,0,0))
อย่างไรก็ตาม เมื่อพูดถึงการใช้ฟังก์ชัน HOUR (เช่นเดียวกับ MONTH สำหรับวันที่) เกมจะเปลี่ยนไปเล็กน้อย เวลาในสเปรดชีตเป็นเรื่องยุ่งยากพอสมควร ดังนั้นการปรับเปลี่ยนบางอย่างจึงมีความจำเป็น
หากต้องการคืนแถวทั้งหมดที่มีการประทับเวลาระหว่าง 14:00 น. ถึง 12:00 น. ให้ทำ สิ่งนี้:
- ปิดช่วงด้วยการประทับเวลา ( A1:A10 ) ในฟังก์ชัน HOUR ที่แยกต่างหาก สิ่งนี้จะระบุตำแหน่งที่ต้องการดู
- จากนั้นเพิ่มฟังก์ชัน HOUR เพื่อตั้งเวลาเอง
=FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))
เคล็ดลับ . เห็นว่าผลลัพธ์ไม่รวม 12:41 PM ? นั่นเป็นเพราะสเปรดชีตถือว่า 00:41 ซึ่งน้อยกว่า 2:00
หากคุณพบวิธีแก้ไขที่สวยงามกว่านี้ โปรดแชร์ในส่วนความคิดเห็นด้านล่าง
วิธีกรองใน Google ชีตโดยใช้การอ้างอิงเซลล์
ทุกครั้งที่คุณสร้างตัวกรอง Google ชีตสูตร คุณต้องป้อนเงื่อนไขตามที่เป็น: ไม่ว่าจะเป็นคำหรือส่วนของคำ วันที่ ฯลฯ เว้นแต่คุณจะคุ้นเคยกับการอ้างอิงเซลล์
สิ่งเหล่านี้ทำให้หลาย ๆ อย่างเกี่ยวกับสูตรง่ายขึ้น เนื่องจากแทนที่จะพิมพ์ทุกอย่าง คุณสามารถอ้างถึงเซลล์ที่มีเงื่อนไขได้
จำได้ไหมว่าฉันค้นหาคำสั่งซื้อทั้งหมดที่ล่าช้าได้อย่างไร ฉันสามารถอ้างถึง E4 อย่างรวดเร็วด้วยข้อความ สาย เพื่อทำเช่นเดียวกัน:
=FILTER(A1:E20,E1:E20=E4)
ผลลัพธ์จะไม่แตกต่างกันเลย:
คุณสามารถทำซ้ำกับสูตรทั้งหมดข้างต้น ตัวอย่างเช่น หลีกเลี่ยงการเพิ่มฟังก์ชันอื่นๆ เช่น DATE และเพียงแค่อ้างถึงเซลล์ที่มีวันที่ที่สนใจ:
=FILTER(A1:E20,C1:C20=C15)
เคล็ดลับ การอ้างอิงเซลล์ยังช่วยให้คุณกรองจากชีตอื่นได้อีกด้วย คุณเพียงแค่ต้องใส่ชื่อแผ่นงาน:
=FILTER(Orders!A1:E20,Orders!C1:C20=Orders!C15)
สูตรการกรอง Google ชีตที่มีหลายเกณฑ์
แม้ว่าก่อนหน้านี้ฉันจะใช้เงื่อนไขเดียวเป็นหลักในสูตรการกรอง Google ชีตทั้งหมด แต่มีแนวโน้มมากกว่า คุณจะต้องกรองตารางตามเงื่อนไขสองสามข้อในแต่ละครั้ง
ตัวอย่างที่ 1. IS BETWEEN logic
หากต้องการค้นหาแถวทั้งหมดที่อยู่ระหว่างตัวเลข/วันที่/เวลาสองตัว ทางเลือก อาร์กิวเมนต์ของฟังก์ชันจะมีประโยชน์ — condition2 , condition3 เป็นต้น คุณเพียงแค่ทำซ้ำช่วงเดิมในแต่ละครั้งแต่ใช้เงื่อนไขใหม่
ดูสิ ฉัน 'จะส่งคืนเฉพาะคำสั่งซื้อที่มีค่าใช้จ่ายมากกว่า $250 แต่น้อยกว่า $350:
=FILTER(A1:E20,B1:B20>=250,B1:B20<350)
ตัวอย่างที่ 2 หรือตรรกะในฟังก์ชันตัวกรองของ Google ชีต
น่าเศร้า ที่วิธีก่อนหน้านี้ไม่ได้ผลเพื่อให้ได้แถวทั้งหมดที่มีระเบียนต่างๆ ในคอลัมน์ที่สนใจ แล้วฉันจะตรวจสอบคำสั่งซื้อทั้งหมดที่อยู่ในระหว่างการจัดส่งและล่าช้าได้อย่างไร
หากฉันลองใช้วิธีการก่อนหน้านี้และป้อนสถานะคำสั่งซื้อแต่ละรายการเป็นเงื่อนไขแยกต่างหาก ฉันจะได้รับข้อผิดพลาด #N/A:
ดังนั้น ในการตั้งค่าลอจิก OR ในฟังก์ชัน FILTER อย่างถูกต้อง ฉันควรรวมเกณฑ์ทั้งสองนี้ไว้ในเงื่อนไขเดียว:
=FILTER(A1:E20,(E1:E20="Late")+(E1:E20="On the way"))
เพิ่มตัวกรองใน Google ชีตให้กับหลายคอลัมน์
สิ่งที่น่าจะเป็นไปได้มากกว่าการใช้เงื่อนไขสองสามข้อกับหนึ่งคอลัมน์คือการสร้างตัวกรองใน Google ชีตสำหรับหลายคอลัมน์
อาร์กิวเมนต์เหมือนกันทั้งหมด แต่แต่ละส่วนใหม่ของสูตรต้องการช่วงใหม่ที่มีเกณฑ์ของตัวเอง
ลองสร้างฟังก์ชัน FILTER ใน Google ชีตเพื่อส่งคืนคำสั่งซื้อที่อยู่ภายใต้กฎต่อไปนี้ทั้งหมด:
- พวกเขาควรมีมูลค่า $200-400:
A1:E20,B1:B20>=200,B1:B20<=400
- มีกำหนดชำระในเดือนมกราคม 2020:
MONTH(C1:C20)=1
- และยังอยู่ในระหว่างดำเนินการ:
E1:E20="on the way"
รวมส่วนเหล่านี้เข้าด้วยกันแล้วสูตรตัวกรอง Google ชีตสำหรับหลายคอลัมน์ก็พร้อมแล้ว:
=FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")
วิธีที่ไม่ต้องใช้สูตรในการกรอง Google ชีตขั้นสูง
ฟังก์ชัน FILTER นั้นยอดเยี่ยมและทั้งหมด แต่บางครั้งก็อาจมากเกินไป การติดตามอาร์กิวเมนต์ ตัวคั่น ฟังก์ชันที่ซ้อนกัน และอะไรก็ตามที่อาจสร้างความสับสนอย่างมากและเสียเวลา-ใช้เวลานาน
โชคดีที่เรามีโซลูชันที่ดีกว่าซึ่งเหนือกว่าทั้งฟังก์ชันตัวกรองของ Google ชีตและเครื่องมือมาตรฐานของฟังก์ชัน นั่นคือ VLOOKUP Matches หลายรายการ
อย่าสับสนกับชื่อของมัน มันคล้ายกับฟังก์ชั่น VLOOKUP ของ Google ชีตเพราะมันค้นหาสิ่งที่ตรงกัน เช่นเดียวกับที่ฟังก์ชัน FILTER ทำ เช่นเดียวกับที่ฉันทำข้างต้น
นี่คือ ข้อดีหลัก 5 ข้อ ของเครื่องมือนี้ เหนือฟังก์ชันตัวกรองของ Google ชีต:
- คุณชนะ ไม่ต้องคิดถึง โอเปอเรเตอร์สำหรับเงื่อนไขต่างๆ — เพียงเลือกอันใดอันหนึ่ง จากรายการ:
ฉันขอแนะนำให้คุณติดตั้งหลายรายการ VLOOKUP จับคู่และลองดู หากต้องการดูตัวเลือกต่างๆ ให้ละเอียดยิ่งขึ้น โปรดไปที่หน้าบทช่วยสอนหรือดูวิดีโอคำแนะนำพิเศษ: