วันจันทร์ที่ 11 มีนาคม พ.ศ. 2567

คำสั่ง Match ใน GoogleSheet

 คำสั่ง MATCH ใน Google Sheets เป็นฟังก์ชันที่ใช้สำหรับค้นหาตำแหน่งของค่าในช่วงข้อมูล (เช่น ในแถวหรือคอลัมน์) และคืนค่าตำแหน่งนั้นเป็นตัวเลข. คำสั่งนี้มีประโยชน์มากเมื่อคุณต้องการหาตำแหน่งของข้อมูลเฉพาะในชุดข้อมูลขนาดใหญ่หรือเมื่อคุณต้องการเปรียบเทียบข้อมูลระหว่างช่วงข้อมูลต่างๆ.

วิธีการใช้:

MATCH(search_key, range, [search_type])


  • search_key: ค่าที่คุณต้องการค้นหา.
  • range: ช่วงข้อมูลที่คุณต้องการค้นหาค่านั้น ๆ.
  • search_type: (ไม่จำเป็นต้องใส่) ตัวเลขที่ระบุวิธีการค้นหา. มี 3 ค่าให้เลือก:
    • 1 หรือไม่ใส่: ค้นหาแบบเรียงลำดับจากน้อยไปหามาก. ช่วงข้อมูลต้องเรียงลำดับก่อน. คืนค่าตำแหน่งของค่าที่ตรงกับค่าค้นหาหรือค่าที่ใกล้เคียงที่สุดแต่ไม่เกินค่าค้นหา.
    • 0: ค้นหาแบบแม่นยำ. ไม่ต้องเรียงลำดับช่วงข้อมูลก่อน. คืนค่าตำแหน่งของค่าที่ตรงกับค่าค้นหาเท่านั้น.
    • -1: ค้นหาแบบเรียงลำดับจากมากไปหาน้อย. ช่วงข้อมูลต้องเรียงลำดับก่อน. คืนค่าตำแหน่งของค่าที่ตรงกับค่าค้นหาหรือค่าที่ใกล้เคียงที่สุดแต่ไม่น้อยกว่าค่าค้นหา.

ตัวอย่างการใช้งาน:

สมมติว่าคุณมีชุดข้อมูลตั้งแต่ A1 ถึง A5 ดังนี้: A, B, C, D, E. และคุณต้องการหาตำแหน่งของข้อมูล "C".

=MATCH("C", A1:A5, 0)

ผลลัพธ์ที่ได้คือ 3, เพราะ "C" อยู่ในตำแหน่งที่ 3 ของช่วงข้อมูล A1:A5.

ฟังก์ชัน MATCH มีประโยชน์มากในหลายสถานการณ์, เช่น เมื่อใช้ร่วมกับฟังก์ชัน INDEX เพื่อค้นหาค่าข้อมูลจากตำแหน่งที่ตรงกัน, หรือเมื่อต้องการทราบตำแหน่งของข้อมูลเพื่อใช้ในการจัดการหรือวิเคราะห์ข้อมูลต่อไป.

การประยุกต์ใช้คำสั่ง Match เพื่อเปรียบเทียบลิสต์สองลิสต์ใน GoogleSheet


หากคุณต้องการทำไฮไลต์ข้อความในคอลัมภ์ B ที่ต่างไปจากคอลัมภ์ A ใน Google Sheets, คุณสามารถทำได้โดยใช้การจัดรูปแบบตามเงื่อนไขเช่นกัน แต่จะเปลี่ยนเงื่อนไขในสูตรที่ใช้. ขั้นตอนนี้จะแสดงวิธีการทำ:

  1. เลือกช่วงข้อมูลในคอลัมภ์ B ที่คุณต้องการทำไฮไลต์ (เช่น B2:B).

  2. ไปที่ "Format" บนเมนูบาร์แล้วเลือก "Conditional formatting".

  3. ในหน้าต่าง "Conditional format rules" ที่ปรากฏ, ตั้งค่าในส่วน "Format cells if" เป็น "Custom formula is".

  4. ในช่องสำหรับใส่สูตร, ให้คุณใส่สูตรต่อไปนี้:

  5. =ISNA(MATCH(B2, $A$2:$A, 0))

  1. สูตรนี้จะตรวจสอบว่าข้อมูลในแต่ละเซลล์ของคอลัมภ์ B นั้นไม่มีอยู่ในคอลัมภ์ A โดยใช้ MATCH เพื่อค้นหาข้อมูลในคอลัมภ์ A. ถ้า MATCH ไม่พบข้อมูล (หมายความว่าฟังก์ชันคืนค่าเป็น #N/A), ISNA จะคืนค่าเป็น TRUE และเงื่อนไขนี้จะถูกใช้ในการทำไฮไลต์.

  2. เลือกสไตล์การจัดรูปแบบที่คุณต้องการใช้สำหรับการทำไฮไลต์ข้อมูล (เช่น การเปลี่ยนสีพื้นหลังหรือสีข้อความ).

  3. คลิก "Done" เมื่อคุณตั้งค่าเสร็จสิ้น.

การตั้งค่านี้จะทำให้ข้อมูลในคอลัมภ์ B ที่ไม่มีอยู่ในคอลัมภ์ A ถูกทำไฮไลต์. วิธีนี้เหมาะสำหรับการเน้นข้อความที่ไม่ตรงกันระหว่างสองชุดข้อมูลใน Google Sheets.




วันอาทิตย์ที่ 3 มีนาคม พ.ศ. 2567

ค้นหาข้อมูลที่ไม่ได้อยู่ในList ใน Appsheet

 

 ในการค้นหานักเรียนที่ไม่ได้มาโรงเรียน  ใน application ที่สร้างจาก appsheet 


โดยมีฐานข้อมูลแรกเป็นตาราง student   ข้อมูลนักเรียน  




ฐานข้อมูลตัวที่สองเป็นตาราง Signin เป็นตารางการลงเวลาเรียน 





เราสามารถสร้างตาราง search เพื่อใช้ในการค้นหานักเรียน และ ใช้สูตร ใน Virtual column 




FILTER("Student",NOT(IN([Name], SELECT(SignIn[Name], (DATE([DateTime]) =[_THISROW].[Date])))))

คำสั่งนี้ใช้ฟังก์ชัน FILTER, NOT, IN, และ SELECT ร่วมกันภายในแอปที่พัฒนาด้วย Google AppSheet เพื่อกรองข้อมูลจากตาราง "Student" โดยมีเงื่อนไขเฉพาะ ต่อไปนี้คือการอธิบายการทำงานของคำสั่งนี้:

  1. FILTER("Student", ...) - ฟังก์ชันนี้ใช้เพื่อกรองข้อมูลจากตาราง "Student" โดยจะคืนค่ารายการจากตารางนี้ที่ตรงกับเงื่อนไขที่ระบุในอาร์กิวเมนต์ที่สองของฟังก์ชันนี้

  2. NOT(IN([Name], SELECT(SignIn[Name], (DATE([DateTime]) = [_THISROW].[Date])))) - ส่วนนี้เป็นเงื่อนไขที่ใช้ในการกรองข้อมูล โดยมีการใช้ฟังก์ชันหลายตัวร่วมกัน:

    • SELECT(SignIn[Name], (DATE([DateTime]) = [_THISROW].[Date])) - ฟังก์ชันนี้เลือก (หรือค้นหา) ข้อมูลจากตาราง "SignIn" โดยเลือกเฉพาะคอลัมน์ "Name" ที่มีวันที่ในคอลัมน์ "DateTime" ตรงกับวันที่ในรายการปัจจุบัน ([_THISROW].[Date]). ฟังก์ชัน DATE ใช้เพื่อแปลงค่า "DateTime" ให้เป็นวันที่เพื่อทำการเปรียบเทียบ.

    • IN([Name], ...) - ฟังก์ชันนี้ตรวจสอบว่าชื่อในรายการปัจจุบันจากตาราง "Student" มีอยู่ในรายการที่ได้จากฟังก์ชัน SELECT หรือไม่.

    • NOT(...) - ฟังก์ชันนี้ใช้กลับด้านผลลัพธ์ของการตรวจสอบด้วย IN, หมายความว่าถ้าชื่อในรายการปัจจุบันไม่อยู่ในรายการที่ได้จาก SELECT, เงื่อนไขนี้จะเป็นจริง.

ดังนั้น, คำสั่งนี้จะคืนค่ารายการจากตาราง "Student" ที่ชื่อของพวกเขาไม่ได้ปรากฏอยู่ในรายการของตาราง "SignIn" ภายใต้เงื่อนไขที่วันที่ในคอลัมน์ "DateTime" ของตาราง "SignIn" ตรงกับวันที่ในรายการปัจจุบันที่กำลังถูกตรวจสอบในตาราง "Student". นี่เป็นวิธีหนึ่งในการกรองหานักเรียนที่ยังไม่ได้ลงชื่อเข้าใช้ในวันที่ระบุ.