Google Sheets เป็นเครื่องมือยอดนิยมในการจัดการข้อมูล
แต่ถ้าอยากให้ทำ “อะไรที่มากกว่าแค่ใส่ตัวเลข” — อย่างเช่น…
- กดปุ่มแล้วส่งอีเมลอัตโนมัติ
- เขียนสูตรซับซ้อนแบบ ArrayFormula
- ดึงข้อมูลจาก Google Calendar หรือ Sheet อื่น
- สร้างเมนูพิเศษ หรือระบบอัตโนมัติแบบ Custom
ChatGPT สามารถช่วยคุณเขียนทั้งสูตรและ Apps Script ได้ครบ
พร้อมคำอธิบายทีละขั้นสำหรับมือใหม่ด้วย
1. ขอสูตร Google Sheets แบบซับซ้อน
Prompt ที่แนะนำ:
“ช่วยเขียนสูตรเพื่อรวมยอดคอลัมน์ B โดยกรองเฉพาะรายการที่สถานะในคอลัมน์ A เป็น ‘จ่ายแล้ว’ และเดือนในคอลัมน์ C เป็นเมษายน”
ChatGPT จะตอบ:
=SUMIFS(B:B, A:A, "จ่ายแล้ว", TEXT(C:C, "mmmm"), "April")
✅ หรือปรับใช้ ARRAYFORMULA() ถ้าต้องการให้ทำงานกับข้อมูลแบบไดนามิก
2. เขียน Apps Script เพื่อทำ Automation
Prompt ที่แนะนำ:
“ช่วยเขียน Google Apps Script สำหรับส่งอีเมลอัตโนมัติเมื่อคอลัมน์ D มีคำว่า ‘แจ้งเตือน’”
ChatGPT จะให้:
function sendEmailAlert() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getRange("D2:D").getValues();
data.forEach((row, i) => {
if (row[0] === "แจ้งเตือน") {
MailApp.sendEmail("[email protected]", "แจ้งเตือนจาก Google Sheet", "แถวที่ " + (i+2) + " มีการแจ้งเตือน");
}
});
}✅ พร้อมคำอธิบายว่าใช้ MailApp, getRange(), และ forEach() อย่างไร
3. สร้างเมนูแบบ Custom ใน Google Sheets
Prompt ที่แนะนำ:
“ช่วยเขียน Apps Script เพื่อเพิ่มเมนู ‘จัดการข้อมูล’ และเมนูย่อย ‘ส่งอีเมล’, ‘รีเซ็ตฟอร์ม’”
ChatGPT จะให้:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('จัดการข้อมูล')
.addItem('ส่งอีเมล', 'sendEmail')
.addItem('รีเซ็ตฟอร์ม', 'resetForm')
.addToUi();
}✅ พร้อมตัวอย่างฟังก์ชัน sendEmail() และ resetForm() เพิ่มเติม
4. ดึงข้อมูลจาก Sheet อื่น / Google Calendar / External API
Prompt ที่แนะนำ:
“ช่วยเขียน Apps Script เพื่อดึงข้อมูลจากชีตชื่อ ‘สรุปยอดขาย’ มาใส่ในชีตปัจจุบัน”
ChatGPT จะให้:
function importFromAnotherSheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const source = ss.getSheetByName('สรุปยอดขาย');
const target = ss.getActiveSheet();
const data = source.getRange('A1:D10').getValues();
target.getRange('A1:D10').setValues(data);
}✅ พร้อมอธิบายว่าโค้ดนี้เหมาะกับการคัดลอกข้อมูลระหว่างชีตในไฟล์เดียวกัน
5. สร้างระบบกรอกข้อมูล / สรุปอัตโนมัติ ด้วย Script
Prompt ที่แนะนำ:
“ช่วยเขียนสคริปต์ที่เมื่อผู้ใช้กรอกข้อมูลในแถวใหม่ จะสรุปยอดรวมในคอลัมน์ถัดไปให้อัตโนมัติ”
ChatGPT จะตอบว่าให้ใช้ onEdit() พร้อมตัวอย่าง:
function onEdit(e) {
const sheet = e.source.getActiveSheet();
const range = e.range;
if (range.getColumn() === 3) { // ถ้ากรอกคอลัมน์ C
const row = range.getRow();
const val1 = sheet.getRange(row, 2).getValue(); // คอลัมน์ B
const val2 = range.getValue(); // คอลัมน์ C
sheet.getRange(row, 4).setValue(val1 + val2); // ใส่ผลรวมในคอลัมน์ D
}
}6. ขอคำอธิบาย Script ที่มีอยู่แล้ว
Prompt ที่แนะนำ:
“ช่วยอธิบายว่าโค้ด Apps Script นี้ทำอะไร และสามารถปรับปรุงให้ดีขึ้นได้อย่างไร”
(แนบโค้ด)
ChatGPT จะ:
- วิเคราะห์ Flow ของสคริปต์
- ชี้จุดที่ใช้ซ้ำ หรือควรแยกเป็นฟังก์ชัน
- แนะนำวิธีใช้
Logger.log(),try-catch, หรือการเพิ่ม Efficiency
จุดเด่นของการใช้ ChatGPT กับ Google Sheets
- ช่วยเขียนสูตร / Script ที่ใช้งานได้จริง
- ปรับ logic ได้ตามบริบทการใช้งาน
- เหมาะทั้งมือใหม่และผู้มีประสบการณ์
- ทำ Automation ได้โดยไม่ต้องเขียนโค้ดเองทั้งหมด
หมายเหตุ
Apps Script ที่เขียนควรทดสอบในไฟล์สำรองก่อนใช้งานจริง
หากมีการเข้าถึงข้อมูลภายนอก เช่น Calendar หรือ Gmail จะต้องให้สิทธิ์การเข้าถึง