การเปรียบเทียบค่าจากสองตาราง Google Sheet

 จำลองเหตุการณ์ 

สมมุตว่า เราบันทึกข้อมูล 2 ตาราง คือ 

แผ่น1 และ แผ่น2

โดยแผ่น1 มีข้อมูลรายชื่อนักเรียนในห้อง ดังนี้

ID         ชื่อ                เบอร์โทร

1          แบม               0814563225 

2         จ็อบ                0897563135

3           สมรักษ์          0814573625 

4          แป้งฝุ่น            0864874525

5         ใบข้าว             0971452528


และ แผ่น 2 มีข้อมูลรายชื่อนักเรียนที่ชำระค่าเทอมแล้ว ดังนี้ 

ID         ชื่อ                เบอร์โทร

1          แบม               0814563225 

2         จ็อบ                0897563135

3         ใบข้าว             0971452528


***### การทำงานจริงๆ จะมีข้อมูลมากกว่านี้ เป็นร้อย หรือเป็นพัน รายการ 

เราจะใช้สูตรจับคู่ เพื่อเรียกดูว่า ใครที่จ่ายค่าเทอมแล้ว และใครที่ยังไม่ได้จ่าย ได้ดังนี้ 

ในตารางแผ่น1 ไปใส่ค่าสูตรกัน

สูตร =match(B2,แผ่น2!$B:$B,0)

คัดลอกสูตรลงมาใช้งานกับแถวถัดลงมา

ค่าที่ได้จะเป็นค่า N#A และค่าตัวเลข 

เราสามารถปรับสูตร ให้แสดงค่าเป็น จริง/เท็จ ได้ ดังนี้

ปรับสูตรกัน นิดหน่อย 

สูตร =isnumber(match(B2,แผ่น2!$B:$B,0))

จะได้ค่าเป็น FALSE/TRUE 

ค่า FALSE ไม่ได้อยู่ในรายการ 

ค่า TRUE อยู่ในรายการ 


การเขียน code ลบข้อมูลซ้ำตาราง Googlesheet

 การคัดลอกข้อมูลหรือการบันทึกข้อมูลเข้าสู่ตารางเป็นจำนวนมาก หากขาดการควบคุมและการออกแบบที่ดีแล้ว จะส่งผลให้เกิดค่าว่าง หรือค่าซ้ำได้

บทความนี้เราจะมาดูตังอย่างการตรวจสอบค่าซ้ำ Google sheet และการ Remove ออกไป

ตัวอย่างในตาราง Google sheet 

เรามีการคัดลอกค่าซ้ำมา 

Code ที่ใช้งานเป็น code ภาษา JS 

อ้างถึง ตาราง google sheet 

อ้างถึง ขอบเขตข้อมูลในตาราง 

var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
หลักภาษาคือ JavaScript 2-dimensional array 
วิธีการทำงานจะทำงานแบบวงรอบ loop สองลูป ด้วยกัน 
คำสั่ง code ที่คัดลอกมา จะวิ่งไปดูตารางและ ขอบเขตข้อมูลทั้งหมด 
กรณีให้ค่าซ้ำเป็นคอลัมน์เดียว ต้องแก้ไข code นิดหน่อย ดังนี้ ครับ 

code เดิม 

if(row.join() == newData[j].join()){
  duplicate
= true;
}

แก้เป็น :

if(row[0] == newData[j][0] && row[1] == newData[j][1]){
  duplicate
= true;
}

อ้างอิง : https://developers.google.com/apps-script/articles/removing_duplicates