การใช้งานเทคนิคการกรองและเปรียบเทียบข้อมูลด้วย Google Sheet

รูปภาพแสดงถึง sheets บนโลโก้Minphp

ในยุคที่ข้อมูลมีความสำคัญต่อการตัดสินใจทางธุรกิจ การจัดการและวิเคราะห์ข้อมูลอย่างมีประสิทธิภาพจึงเป็นสิ่งจำเป็นอย่างยิ่ง Google Sheets ได้กลายเป็นเครื่องมือยอดนิยมที่ช่วยให้ผู้ใช้สามารถทำงานกับข้อมูลได้อย่างง่ายดายและสะดวกสบาย หนึ่งในคุณสมบัติที่โดดเด่นของ Google Sheets คือความสามารถในการใช้สูตรต่าง ๆ ที่ช่วยเพิ่มประสิทธิภาพในการจัดการข้อมูล ในบทความนี้ เราจะสำรวจสูตรที่มีประโยชน์ เช่น FILTER, VLOOKUPและ IFERROR ซึ่งเป็นเครื่องมือสำคัญที่ช่วยให้เราสามารถกรองข้อมูล ค้นหาค่าที่ต้องการ และจัดการกับข้อผิดพลาดได้อย่างมีประสิทธิภาพการใช้งานสูตรเหล่านี้ไม่เพียงแต่ช่วยให้เราสามารถจัดการข้อมูลที่มีอยู่ได้ดียิ่งขึ้น แต่ยังช่วยให้เราตัดสินใจได้อย่างแม่นยำและรวดเร็วขึ้น ไม่ว่าจะเป็นการตรวจสอบสถานะสินค้าคงคลัง การวิเคราะห์ข้อมูลการขาย หรือการกรองข้อมูลตามเงื่อนไขเฉพาะ สูตรเหล่านี้จะช่วยให้คุณทำงานได้อย่างราบรื่นและมีประสิทธิภาพมากยิ่งขึ้น บทความนี้จะพาคุณไปทำความเข้าใจการทำงานของแต่ละสูตร พร้อมตัวอย่างการใช้งานที่ชัดเจน เพื่อให้คุณสามารถนำไปปรับใช้ในการจัดการข้อมูลของตนเองได้อย่างเต็มประสิทธิภาพ มาร่วมค้นพบวิธีการใช้สูตรใน Google Sheets เพื่อยกระดับการจัดการข้อมูลของคุณกันเถอะ! 

  1. รายการสินค้าทั้งหมด
  2. เราสามารถทำการเรียกข้อมูลข้ามชีทได้ดังนี้

    1. VLOOKUP Function:VLOOKUP(A2, 'รายการสินค้าทั้งหมด'!A:D, 2, FALSE) ฟังก์ชันนี้ใช้เพื่อค้นหาค่าจากแถวแนวนอน (แนวตั้ง) โดยในที่นี้จะค้นหาค่าจาก A2
    2. Lookup ValueA2 ค่านี้คือค่าที่เราต้องการค้นหาในคอลัมน์แรกของช่วงที่กำหนด ซึ่งในที่นี้คือคอลัมน์ A ของชีท 'รายการสินค้าทั้งหมด'
    3. Table Array: 'รายการสินค้าทั้งหมด'!A:D ช่วงข้อมูลที่เราจะค้นหา โดยช่วงนี้รวมถึงคอลัมน์ A ถึง D ของชีท 'รายการสินค้าทั้งหมด' ซึ่งคอลัมน์แรก (A) จะถูกใช้ในการค้นหา
    4. Column Index Number: 2 หมายเลขคอลัมน์ที่เราต้องการดึงข้อมูลออกมา โดยในที่นี้หมายถึงคอลัมน์ที่สอง (B) ของช่วง A เมื่อเริ่มนับจาก 1
    5. Range Lookup: FALSE ค่านี้ระบุว่าการค้นหาจะต้องเป็นแบบตรงตัว (exact match) ถ้าต้องการให้ฟังก์ชันค้นหาค่าที่ตรงตาม A2 เท่านั้น ถ้าไม่พบค่าที่ตรงกัน จะคืนค่า #N/A
  3. ผลลัพธ์เมื่อทำการใส่สูตรลงไป
  4. ต่อมาหากเราต้องการที่จะแยกประเภทข้อมูลและแสดงผลตามที่เราต้องการได้ดังนี้ 

    1. IFERROR Function: IFERROR(..., "Pre-Order") ฟังก์ชันนี้จะช่วยจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นในสูตรด้านใน ถ้าสูตรภายในคืนค่าผิดพลาด (เช่น #N/A) จะคืนค่า "Pre-Order"
    2. Inner IF Statement: IF(VLOOKUP(A2, 'สินค้าคงคลัง'!A:D, 3, FALSE) >= D2, "In Stock", "ไม่เพียงพอ") ฟังก์ชันนี้ใช้เพื่อตรวจสอบว่าค่าที่ได้จาก VLOOKUP มีค่ามากกว่าหรือเท่ากับ D2 หรือไม่
    3. VLOOKUP Function: VLOOKUP(A2, 'สินค้าคงคลัง'!A:D, 3, FALSE) ค้นหาค่าจาก A2 ในคอลัมน์ A ของชีท 'สินค้าคงคลัง' และดึงค่าจากคอลัมน์ที่สาม (C) การค้นหาจะเป็นแบบตรงตัว (exact match) เนื่องจากใช้ FALSE
    4. Comparison: VLOOKUP(...) >= D2 เมื่อได้ค่าจาก VLOOKUP แล้ว จะเปรียบเทียบค่าดังกล่าวกับ D2
    5. Result of IF Statement: ถ้าค่าจาก VLOOKUP มากกว่าหรือเท่ากับ D2 จะคืนค่า "In Stock" ถ้าค่าจาก VLOOKUP น้อยกว่า D2 จะคืนค่า "ไม่เพียงพอ"
    6. Final Result: ถ้าเกิดข้อผิดพลาดใด ๆ ในการทำงานของ VLOOKUP (เช่น ไม่พบค่าที่ค้นหา) ฟังก์ชัน IFERROR จะคืนค่า "Pre-Order"
  5. ผลลัพธ์เมื่อทำการใส่สูตรลงไป
  6. เมื่อเราต้องการกรอกข้อมูลข้ามชีทสามารถทำได้ดังนี้ 

    1. FILTER Function: FILTER('ใบสั่งซื้อ'!A2:E, ...)ฟังก์ชันนี้จะกรองข้อมูลในช่วง A2 ตามเงื่อนไขที่กำหนดในพารามิเตอร์ถัดไป
    2. First Condition (Pre-Order):('ใบสั่งซื้อ'!C2:C="Pre-Order")เงื่อนไขนี้จะคืนค่า TRUE สำหรับแถวที่มีสถานะ "Pre-Order"
    3. Second Condition (ไม่เพียงพอ):('ใบสั่งซื้อ'!C2:C="ไม่เพียงพอ")เงื่อนไขนี้จะคืนค่า TRUE สำหรับแถวที่มีสถานะ "ไม่เพียงพอ"
    4. Combining Conditions:('ใบสั่งซื้อ'!C2:C="Pre-Order") + ('ใบสั่งซื้อ'!C2:C="ไม่เพียงพอ")เครื่องหมาย + จะทำให้ทั้งสองเงื่อนไขถูกนำมารวมกัน โดยถ้าอย่างใดอย่างหนึ่งเป็น TRUE จะถือว่าผ่านเงื่อนไข
    5. Check for Inventory:IF(ISNA(MATCH('ใบสั่งซื้อ'!A2:A, 'สินค้าคงคลัง'!A:A, 0)), FALSE, TRUE)ฟังก์ชัน MATCH จะตรวจสอบว่ามีข้อมูลในคอลัมน์ A ของชีท 'ใบสั่งซื้อ' อยู่ในคอลัมน์ A ของชีท 'สินค้าคงคลัง' หรือไม่ถ้าไม่พบ (คืนค่า #N/A) ISNA จะคืนค่า TRUE, ทำให้เงื่อนไขนี้กลายเป็น FALSEหากพบข้อมูล จะคืนค่า TRUE
    6. Final Condition Combination:(...) * (IF(ISNA(...), FALSE, TRUE))เครื่องหมาย * ทำหน้าที่เหมือน AND ในกรณีนี้ ทั้งสองเงื่อนไขจะต้องเป็น TRUE จึงจะผ่านการกรอง

    สูตรนี้จะกรองแถวที่ตรงตามเงื่อนไขทั้งสอง (สถานะ "Pre-Order" หรือ "ไม่เพียงพอ" และมีข้อมูลใน 'สินค้าคงคลัง') และแสดงผลลัพธ์ในช่วง A2 ของชีท 'ใบสั่งซื้อ' ที่ตรงตามเงื่อนไขที่กำหนดไว้!

  7. ผลลัพธ์เมื่อทำการใส่สูตรลงไป 

สรุปการใช้งาน
ในบทความนี้ เราได้สำรวจการใช้งานสูตรต่าง ๆ ใน Google Sheets ที่ช่วยให้การจัดการข้อมูลมีประสิทธิภาพมากขึ้น โดยเริ่มจากฟังก์ชัน FILTER ที่ช่วยกรองข้อมูลในช่วง A2 ของชีท 'ใบสั่งซื้อ' ตามสถานะต่าง ๆ เช่น "Pre-Order" และ "ไม่เพียงพอ" พร้อมตรวจสอบความมีอยู่ของข้อมูลในชีท 'สินค้าคงคลัง' ซึ่งทำให้เราสามารถแยกข้อมูลสำคัญออกมาได้อย่างรวดเร็ว นอกจากนี้ เราได้ใช้ฟังก์ชัน VLOOKUP เพื่อค้นหาค่าจาก A2 ในคอลัมน์ A ของชีท 'รายการสินค้าทั้งหมด' และดึงค่าที่เกี่ยวข้องจากคอลัมน์ B ฟังก์ชันนี้ช่วยให้เราดึงข้อมูลที่ต้องการได้อย่างตรงไปตรงมา สุดท้ายคือสูตร IFERROR ที่ใช้ร่วมกับ VLOOKUPเพื่อตรวจสอบสถานะสินค้าคงคลัง โดยค้นหาค่าจาก A2 ในชีท 'สินค้าคงคลัง' หากค่าที่ค้นหามากกว่าหรือเท่ากับ D2 จะคืนค่า "In Stock" แต่ถ้าน้อยกว่าจะคืนค่า "ไม่เพียงพอ" และหากไม่พบค่าที่ตรงกันจะคืนค่า "Pre-Order" ซึ่งช่วยจัดการกับข้อผิดพลาดอย่างมีประสิทธิภาพ สูตรเหล่านี้ทำให้การจัดการข้อมูลใน Google Sheets ง่ายขึ้น และช่วยให้เราสามารถวิเคราะห์และจัดการข้อมูลได้ตามต้องการ!


อ้างอิง
Google Workspace Learning Center ,[ออนไลน์], เข้าถึงได้จาก https://support.google.com/a/users/?hl=en#topic=11499463
VLOOKUP - Google Docs Editors Help ,[ออนไลน์], เข้าถึงได้จาก https://support.google.com/docs/answer/3093318?hl=en
Google Sheets FILTER Function ,[ออนไลน์], เข้าถึงได้จาก https://golayer.io/blog/google-sheets/google-sheets-filter-function/#:~:text=The%20FILTER%20function%20in%20Google%20Sheets%20returns%20a%20filtered%20version,that%20meet%20the%20relevant%20conditions.&text=range%3A%20the%20range%20of%20data,meet%20to%20pass%20the%20filter.
 
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามเชื่อม MDRental กับ openERP ถ้าใช้ create มี Error
โดย eange08 อ 08 ก.ค. 2025 1:39 pm บอร์ด Joomla Dev
4
12
อ 08 ก.ค. 2025 2:15 pm โดย eange08 View Topic สอบถามเชื่อม MDRental กับ openERP ถ้าใช้ create มี Error
สอบถามฟิจเจอร์ขำระเงิน QR Code ของ E-Payment ในใบแจ้งหนี้ [MDRental]
โดย eange08 จ 07 ก.ค. 2025 1:11 pm บอร์ด Joomla Dev
5
18
จ 07 ก.ค. 2025 3:10 pm โดย tsukasaz View Topic สอบถามฟิจเจอร์ขำระเงิน QR Code ของ E-Payment ในใบแจ้งหนี้ [MDRental]
Falsy ใน Python คืออ่ะไร
โดย Sakana ศ 04 ก.ค. 2025 4:41 pm บอร์ด Python Knowledge
0
44
ศ 04 ก.ค. 2025 4:41 pm โดย Sakana View Topic Falsy ใน Python คืออ่ะไร
Python ใช้ count() แทน for loop ในการนับจำนวน
โดย Sakana พฤ 03 ก.ค. 2025 6:30 pm บอร์ด Python Knowledge
0
52
พฤ 03 ก.ค. 2025 6:30 pm โดย Sakana View Topic Python ใช้ count() แทน for loop ในการนับจำนวน
การจัดการข้อมูล Python ด้วย filter() + reduce()
โดย Sakana พฤ 03 ก.ค. 2025 5:52 pm บอร์ด Python Knowledge
0
47
พฤ 03 ก.ค. 2025 5:52 pm โดย Sakana View Topic การจัดการข้อมูล Python ด้วย filter() + reduce()
itertools จัดการข้อมูลวนซ้ำอย่างมีประสิทธิภาพใน Python
โดย Sakana พ 02 ก.ค. 2025 4:31 pm บอร์ด Python Knowledge
0
49
พ 02 ก.ค. 2025 4:31 pm โดย Sakana View Topic itertools จัดการข้อมูลวนซ้ำอย่างมีประสิทธิภาพใน Python
reduce() ใน Python: การลดข้อมูลซ้ำๆ ให้เหลือผลลัพธ์เดียว
โดย Sakana พ 02 ก.ค. 2025 11:32 am บอร์ด Python Knowledge
0
68
พ 02 ก.ค. 2025 11:32 am โดย Sakana View Topic reduce() ใน Python: การลดข้อมูลซ้ำๆ ให้เหลือผลลัพธ์เดียว
สร้าง QR Code ตอบสนองแบบ Real-Time ด้วย JavaScript
โดย Sakana อ 01 ก.ค. 2025 11:32 am บอร์ด jQuery & Ajax Knowledge
0
67
อ 01 ก.ค. 2025 11:32 am โดย Sakana View Topic สร้าง QR Code ตอบสนองแบบ Real-Time ด้วย JavaScript