Google Apps Script คือ? เริ่มจาก 0 ส่ง Email อัตโนมัติได้ใน 10 นาที
สอน Google Apps Script จากศูนย์ — เปิด Extensions > Apps Script อยู่ตรงไหน เขียน Script แรก ส่ง Email อัตโนมัติ ตั้ง Trigger สำรองข้อมูล พร้อม Code copy ใช้ได้เลย ไม่ต้องเป็นโปรแกรมเมอร์ (อัปเดต 2026)

🔴 ปัญหาที่ทุกคนเจอ
ทุกเดือนต้องนั่ง copy ข้อมูลจากชีตนี้ไปชีตนั้น ส่ง email รายงานเจ้านายเอง ทำซ้ำแบบนี้ทุกวัน — ถ้า Google Sheets ทำให้อัตโนมัติได้ล่ะ?
คำตอบคือ Google Apps Script เขียนแค่ไม่กี่บรรทัด ระบบจะทำงานแทนเราเองทุกเช้า

⚡ Extensions > Apps Script อยู่ตรงไหน?
คนค้นเรื่องนี้เยอะมาก — "extensions apps script อยู่ตรงไหน?" มาดูกันเลย 3 ขั้นตอน
ขั้นที่ 1: เปิด Google Sheets ที่ต้องการ
เปิดไฟล์ Google Sheets ที่เราจะเขียน Script ขึ้นมา (จะเป็นไฟล์เก่าหรือสร้างใหม่ก็ได้)

ขั้นที่ 2: คลิก ส่วนขยาย (Extensions) > Apps Script
ดูที่เมนูด้านบน → คลิก "ส่วนขยาย" (Extensions) → เลือก "Apps Script"


ขั้นที่ 3: Script Editor เปิดมา — พร้อมเขียนแล้ว!
จะเปิดแท็บใหม่ขึ้นมาเป็น Apps Script Editor มีโค้ดตั้งต้นให้เลย เราแค่ลบแล้วเขียนใหม่ได้ทันที

Extensions > Apps Script อยู่ที่ไหน?
อยู่ที่ เมนูด้านบน ของ Google Sheets ถัดจาก "เครื่องมือ" (Tools) → คลิก "ส่วนขยาย" → เลือก "Apps Script" จะเปิด Editor ขึ้นมาในแท็บใหม่ ไม่ต้องติดตั้งอะไรเพิ่ม!
⚡ ทำตามเลย: Script แรกของเรา
Copy โค้ดนี้ไปวางใน Script Editor แล้วกด Run ได้เลย — แค่ 5 บรรทัดก็เขียนข้อมูลลงชีตได้แล้ว!
Script แรก: เขียนข้อมูลลงเซลล์ A1
function myFirstScript() {
// ดึง Sheet ที่เปิดอยู่
var sheet = SpreadsheetApp.getActiveSheet();
// เขียนข้อความลงเซลล์ A1
sheet.getRange("A1").setValue("สวัสดี Apps Script!");
// แสดง Log ว่าทำงานสำเร็จ
Logger.log("เขียนลง A1 เรียบร้อย!");
}
กด Run ▶ → ได้เลย! กลับไปดูชีต เซลล์ A1 จะมีข้อความ "สวัสดี Apps Script!" ขึ้นมาแล้ว

ยินดีด้วย!
เราเพิ่งเขียน Apps Script ตัวแรกสำเร็จแล้ว — จากนี้ไปจะเป็นตัวอย่างจริงที่ใช้งานได้เลย
🔧 ตัวอย่างจริง 1: ส่ง Email อัตโนมัติ
ปัญหา: ต้องส่งรายงานยอดขายให้เจ้านายทุกเช้า — ลืมบ่อย เจ้านายบ่น
วิธีแก้: ให้ Script อ่านข้อมูลจากชีตแล้วส่ง email ให้เองอัตโนมัติ
Script ส่งรายงานยอดขายทาง Email
function sendSalesReport() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
// สร้างเนื้อหา email จากข้อมูลในชีต
var body = "รายงานยอดขายประจำวัน\n\n";
var total = 0;
for (var i = 1; i < data.length; i++) {
body += data[i][0] + ": " + data[i][1] + " บาท\n";
total += Number(data[i][1]);
}
body += "\nรวมทั้งหมด: " + total + " บาท";
// ส่ง email
GmailApp.sendEmail(
"boss@company.com",
"รายงานยอดขาย " + new Date().toLocaleDateString("th-TH"),
body
);
Logger.log("ส่ง email เรียบร้อย!");
}
🔧 ตัวอย่าง 2: ตั้งเวลารันอัตโนมัติ (Trigger)
คำถาม: "ทำยังไงให้ Script ทำงานเองทุกวัน 9 โมงเช้า โดยที่เราไม่ต้องมานั่งกด Run?"
คำตอบ: ใช้ Trigger — ตั้งเวลาครั้งเดียว ระบบรันให้เองทุกวัน!
สร้าง Trigger ส่งรายงานทุกเช้า 9 โมง
function createDailyTrigger() {
// ลบ Trigger เก่าก่อน (ป้องกันซ้ำ)
var triggers = ScriptApp.getProjectTriggers();
triggers.forEach(function(trigger) {
ScriptApp.deleteTrigger(trigger);
});
// สร้าง Trigger ใหม่ — รัน sendSalesReport ทุกวัน 9 โมง
ScriptApp.newTrigger("sendSalesReport")
.timeBased()
.everyDays(1)
.atHour(9)
.create();
Logger.log("ตั้ง Trigger เรียบร้อย! รันทุกวัน 9:00 น.");
}รัน createDailyTrigger() ครั้งเดียว — จากนี้ Script จะส่งรายงานให้เจ้านายเองทุกเช้า ไม่ต้องทำอะไรอีก

Trigger แบบอื่นๆ ที่น่าสนใจ
- onEdit(e) — ทำงานทันทีเมื่อแก้ไขเซลล์ (เช่น บันทึกเวลาแก้ไข)
- onOpen(e) — ทำงานเมื่อเปิดไฟล์ (เช่น สร้างเมนูเพิ่ม)
- everyHours(1) — รันทุกชั่วโมง เช่น เช็คข้อมูลใหม่จาก API
🔧 ตัวอย่าง 3: สำรองข้อมูลอัตโนมัติ
ปัญหา: กลัวข้อมูลหาย คนในทีมแก้ไขผิดแล้วกู้คืนไม่ได้
วิธีแก้: ให้ Script copy ข้อมูลไปไฟล์สำรองอัตโนมัติทุกวัน
Script สำรองข้อมูลไปชีตใหม่
function backupData() {
var source = SpreadsheetApp.getActiveSheet();
var backup = SpreadsheetApp.openById("ID_ชีต_สำรอง");
// สร้างชีตใหม่ชื่อตามวันที่
var today = new Date().toLocaleDateString("th-TH");
var newSheet = backup.insertSheet("Backup " + today);
// copy ข้อมูลทั้งหมด
var data = source.getDataRange().getValues();
newSheet.getRange(1, 1, data.length, data[0].length)
.setValues(data);
Logger.log("สำรองข้อมูลเรียบร้อย: " + data.length + " แถว");
}
🚀 Pro Tips สำหรับ Apps Script
ใช้ getValues() แทน getValue() ทีละเซลล์
อ่านข้อมูลเป็นก้อนทีเดียว เร็วกว่า 100 เท่า — ถ้ามี 1,000 แถว ต่างกันชัดมาก
ส่ง LINE Notify ได้ด้วย UrlFetchApp
ไม่ใช่แค่ email — ส่งแจ้งเตือนเข้า LINE กลุ่มก็ทำได้ ใช้ UrlFetchApp.fetch() เรียก LINE Notify API
Debug ด้วย Logger.log() + ดูใน Execution Log
พิมพ์ค่าตัวแปรออกมาดูได้ เหมือน console.log ใน JavaScript ดูผลที่เมนู Executions ด้านซ้าย
onEdit(e) trigger ทำงานทันทีเมื่อแก้ไขข้อมูล
ใช้บันทึกเวลาอัพเดท, เปลี่ยนสีอัตโนมัติ, ส่งแจ้งเตือนเมื่อมีคนแก้ข้อมูลสำคัญ
อ่าน/เขียนข้อมูลเป็นก้อน ไม่ใช่ทีละเซลล์
Best practice สำคัญที่สุด — ใช้ getValues()/setValues() กับ range ใหญ่ แทนการวน loop ทีละเซลล์
❓ ผิดบ่อย + วิธีแก้
"Authorization required"
เจอตอนรัน Script ครั้งแรก — เพราะต้องขออนุญาตเข้าถึง Sheets, Gmail ฯลฯ
วิธีแก้: คลิก "Review Permissions" → เลือกบัญชี Google → คลิก "Allow" ทำครั้งเดียวต่อ Script
"TypeError: Cannot read properties of null"
เจอเมื่อ Script หาชีตหรือ range ไม่เจอ — ชื่อผิด หรือชีตไม่มีจริง
วิธีแก้: เช็คชื่อ Sheet/Range ว่าตรงกับในไฟล์จริงไหม — ตัวพิมพ์เล็ก-ใหญ่สำคัญ!
"Exceeded maximum execution time"
Script รันนานเกิน 6 นาที (ข้อจำกัดของ Google) — มักเกิดจากวน loop มากเกินไป
วิธีแก้: ใช้ getValues()/setValues() อ่าน-เขียนเป็นก้อน แทนทีละเซลล์ หรือแบ่ง batch ทำทีละ 500 แถว
สรุป
Google Apps Script ไม่ได้ยากอย่างที่คิด — แค่รู้ว่า Extensions > Apps Script อยู่ตรงไหนแล้วเริ่มจาก Script ง่ายๆ 5-10 บรรทัด ก็สร้างระบบอัตโนมัติที่ประหยัดเวลาได้มหาศาล
เริ่มจาก Script เล็กๆ → ส่ง email อัตโนมัติ → ตั้ง Trigger รันทุกวัน → สำรองข้อมูล — แค่นี้ก็เปลี่ยนวิธีทำงานไปเลย
ต้องการ Automation ขั้นสูงกว่านี้?
เรียนรู้ Apps Script แบบครบถ้วน พร้อมเทมเพลตระบบสำเร็จรูปสำหรับธุรกิจ
📸 ภาพหน้าจอจาก Google Sheets จริง
ภาพถ่ายตรงจาก Google Sheets ที่ใช้งานได้จริงทันที — ไม่ใช่ภาพ mockup



บทความที่เกี่ยวข้อง
สูตร Google Sheets ขั้นสูง — QUERY, FILTER, ARRAYFORMULA [2026]
รวมสูตรขั้นสูงใน Google Sheets — QUERY, FILTER, ARRAYFORMULA, REGEX, IMPORTRANGE สำหรับคนที่ใช้ SUM/IF/VLOOKUP เป็นแล้ว ยกระดับเป็น Pro (อัป…
Apps Script Google Sheet มือใหม่ — เขียน Script แรกใน 5 นาที [2026]
สอน Google Apps Script สำหรับมือใหม่ — เขียน Script แรก ส่ง email สร้างเมนู Dashboard ง่ายๆ พร้อม code copy ใช้ได้เลย (อัปเดต 2026)
IMPORTDATA Google Sheets — ดึงข้อมูลจากเว็บอัตโนมัติ [2026]
สอน IMPORTDATA, IMPORTHTML, IMPORTXML, IMPORTFEED ใน Google Sheets ดึงข้อมูลจากเว็บอัตโนมัติ — ตาราง ราคาหุ้น อัตราแลกเปลี่ยน RSS Feed (อัปเ…