Hướng dẫn

Kết Nối Google Sheets & Google Forms: Tự Động Hóa Thu Thập Dữ Liệu 2026

Tuân HoangTuân Hoang
23 tháng 4, 2026
13 phút đọc
Kết Nối Google Sheets & Google Forms: Tự Động Hóa Thu Thập Dữ Liệu 2026

Google Forms + Google Sheets = hệ thống thu thập và xử lý dữ liệu tự động mạnh mẽ, hoàn toàn miễn phí.

Hướng dẫn kết nối Google Forms với Google Sheets, xây dựng validation, email notification tự động và Apps Script xử lý response nâng cao 2026.

Tại Sao Kết Hợp Google Forms Và Google Sheets?

Google Forms thu thập dữ liệu. Google Sheets lưu trữ và phân tích. Kết hợp hai công cụ này tạo ra một hệ thống data collection tự động:

  • Không nhập tay: Response tự động vào Sheets
  • Real-time: Dữ liệu cập nhật ngay khi có người submit
  • Phân tích ngay: Công thức, chart tự động tính toán
  • Tự động hóa: Apps Script xử lý, gửi email notification
  • Miễn phí: Không cần trả thêm phí

Use Cases Thực Tế Trong Kinh Doanh

Use Case Form Thu Thập Sheets Xử Lý
Đăng ký nhận tư vấnTên, SĐT, nhu cầuPhân loại lead, assign sales
Khảo sát khách hàngĐánh giá 1-5 sao, nhận xétDashboard NPS, phân tích feedback
Đặt hàng nội bộTên SP, số lượng, bộ phậnTổng hợp đơn, gửi cho kho
Báo cáo công việc hàng ngàyCông việc hoàn thành, % tiến độDashboard tiến độ team
Đăng ký sự kiệnThông tin tham dựDanh sách, email xác nhận
Yêu cầu hỗ trợ ITMô tả vấn đề, ưu tiênTicket tracking, SLA monitor

Bước 1: Tạo Google Form Và Kết Nối Với Sheets

Cách 1: Tạo Form Từ Sheets (Khuyến Nghị)

  1. Mở Google Sheets → Menu Tools → Create a new form
  2. Google tự động tạo sheet "Form Responses 1" để nhận data
  3. Form editor mở trong tab mới → Thêm câu hỏi
  4. Khi có response, dữ liệu tự vào sheet

Cách 2: Kết Nối Form Có Sẵn Với Sheets

  1. Mở Google Form → Tab Responses
  2. Click biểu tượng Google Sheets (màu xanh)
  3. Chọn: "Create a new spreadsheet" hoặc "Select existing spreadsheet"
  4. Confirm → Sheets mới tạo với toàn bộ response hiện có

Bước 2: Cấu Hình Form Validation

Validation Cho Số Điện Thoại

  1. Chọn câu hỏi "Số điện thoại" → Type: Short answer
  2. Click 3 chấm → "Response validation"
  3. Chọn: Regular expression → Matches → ^(0|+84)[0-9]{9}$
  4. Custom error: "Số điện thoại không hợp lệ (VD: 0901234567)"

Validation Cho Email

  • Type: Short answer → Response validation → Text → Email
  • Google tự validate format email

Validation Số Trong Khoảng

  • Type: Short answer → Response validation → Number → Between → Min/Max
  • Ví dụ: Số lượng đặt hàng từ 1-1000

Required Fields

Toggle "Required" cho các trường bắt buộc. Form không submit được nếu bỏ trống.

Bước 3: Conditional Logic (Hiển Thị Câu Hỏi Theo Điều Kiện)

Ví Dụ: Form Đăng Ký Tư Vấn

Câu hỏi 1: "Bạn đang dùng phần mềm gì?" (Multiple choice: Chưa có / Đang dùng Excel / Đang dùng phần mềm khác)

Nếu chọn "Đang dùng phần mềm khác" → Hiện thêm câu hỏi "Phần mềm đang dùng là gì?"

Cách thiết lập:

  1. Câu hỏi Multiple choice → Click 3 chấm → "Go to section based on answer"
  2. Tạo Section riêng cho từng option
  3. Assign section cho từng lựa chọn

Bước 4: Apps Script Xử Lý Response Tự Động

Script 1: Email Notification Khi Có Response Mới

function onFormSubmit(e) {
  const response = e.values; // Array các giá trị [timestamp, q1, q2...]
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();

  // Lấy dữ liệu từ response mới nhất
  const timestamp = response[0];
  const name = response[1];
  const email = response[2];
  const phone = response[3];
  const message = response[4];

  // Gửi email cho team sales
  const salesEmail = 'sales@yourcompany.com';
  const subject = '📩 Lead mới: ' + name;
  const body = `
Lead mới vừa đăng ký:
- Tên: ${name}
- Email: ${email}
- SĐT: ${phone}
- Nhu cầu: ${message}
- Thời gian: ${timestamp}

Xử lý ngay: https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID
  `;

  GmailApp.sendEmail(salesEmail, subject, body);

  // Gửi email xác nhận cho khách
  GmailApp.sendEmail(email,
    'Cảm ơn bạn đã đăng ký tư vấn — SheetStore',
    `Xin chào ${name},

Chúng tôi đã nhận được yêu cầu của bạn. Team tư vấn sẽ liên hệ trong vòng 2 giờ làm việc.

Trân trọng,
Team SheetStore`
  );
}

// Thiết lập trigger: Edit → Current project's triggers → Add trigger
// Function: onFormSubmit | Event source: From spreadsheet | Event type: On form submit

Script 2: Phân Loại Lead Tự Động

function classifyLead(e) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();
  const revenue = sheet.getRange(lastRow, 5).getValue(); // Cột E: Doanh thu hàng tháng

  let tier = '';
  let assignTo = '';

  if (revenue >= 500000000) { // 500 triệu+
    tier = 'Enterprise';
    assignTo = 'enterprise@yourcompany.com';
  } else if (revenue >= 100000000) { // 100-500 triệu
    tier = 'SME';
    assignTo = 'sme@yourcompany.com';
  } else {
    tier = 'Small';
    assignTo = 'small@yourcompany.com';
  }

  // Ghi tier vào cột F
  sheet.getRange(lastRow, 6).setValue(tier);
  // Ghi assigned to vào cột G
  sheet.getRange(lastRow, 7).setValue(assignTo);
  // Ghi status vào cột H
  sheet.getRange(lastRow, 8).setValue('New');

  // Email assign cho sales phụ trách
  GmailApp.sendEmail(assignTo,
    '[' + tier + '] Lead mới cần xử lý',
    'Bạn vừa được assign lead mới. Xem chi tiết: https://YOUR_SHEET_URL'
  );
}

Script 3: Validation Phức Tạp Sau Submit

function validateAndFlag(e) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();

  const phone = sheet.getRange(lastRow, 3).getValue();
  const email = sheet.getRange(lastRow, 4).getValue();

  // Kiểm tra SĐT trùng
  const phoneCol = sheet.getRange(2, 3, lastRow-1, 1).getValues().flat();
  const isDuplicatePhone = phoneCol.slice(0, -1).includes(phone);

  // Kiểm tra email trùng
  const emailCol = sheet.getRange(2, 4, lastRow-1, 1).getValues().flat();
  const isDuplicateEmail = emailCol.slice(0, -1).includes(email);

  if (isDuplicatePhone || isDuplicateEmail) {
    sheet.getRange(lastRow, 9).setValue('DUPLICATE');
    sheet.getRange(lastRow, 9).setBackground('#ff9999');
  } else {
    sheet.getRange(lastRow, 9).setValue('NEW');
    sheet.getRange(lastRow, 9).setBackground('#99ff99');
  }
}

Bước 5: Dashboard Phân Tích Response

Tạo Sheet Dashboard Riêng

Tạo sheet thứ 2 tên "Dashboard" với các công thức tổng hợp từ sheet "Form Responses 1":

// Tổng số response
=COUNTA('Form Responses 1'!A2:A)

// Response hôm nay
=COUNTIF('Form Responses 1'!A2:A,">="&TODAY())

// Response tuần này
=COUNTIFS('Form Responses 1'!A2:A,">="&(TODAY()-WEEKDAY(TODAY(),2)+1))

// Nguồn phổ biến nhất (nếu có câu hỏi "Bạn biết chúng tôi qua đâu?")
=INDEX('Form Responses 1'!E2:E,MATCH(MAX(COUNTIF('Form Responses 1'!E2:E,'Form Responses 1'!E2:E))
  ,COUNTIF('Form Responses 1'!E2:E,'Form Responses 1'!E2:E),0))

Ví Dụ Thực Tế: Form Đặt Hàng Nội Bộ

Cấu Trúc Form

  • Bộ phận yêu cầu (Dropdown: Sales/Marketing/Operations/IT)
  • Người yêu cầu (Short text)
  • Tên sản phẩm/dịch vụ cần mua (Short text)
  • Số lượng (Number, min 1)
  • Giá ước tính (Number)
  • Lý do cần mua (Paragraph)
  • Mức độ ưu tiên (Multiple choice: Gấp/Bình thường/Không gấp)

Xử Lý Tự Động

  • Đơn trên 5 triệu → Email CEO phê duyệt
  • Đơn dưới 5 triệu → Email trưởng bộ phận phê duyệt
  • Mức "Gấp" → SMS thêm cho người phê duyệt
  • Sau phê duyệt → Email thông báo cho người đặt

Cần Hệ Thống Thu Thập Đơn Hàng Khách Hàng Chuyên Nghiệp Hơn?

SheetStore cung cấp form đặt hàng online tích hợp với quản lý kho và POS — không cần Google Forms + Script phức tạp.

Xem Demo

Giới Hạn Của Google Forms + Sheets

  • Không có điều kiện phức tạp: Logic phân nhánh giới hạn
  • Không upload file lớn: Giới hạn 1GB/form
  • Không tích hợp thanh toán: Không nhận tiền trực tiếp qua form
  • Không có CRM workflow: Chỉ lưu data, không quản lý pipeline
  • Script giới hạn: Quota Apps Script (6 phút/execution)

Khi cần vượt qua những giới hạn này, các giải pháp như SheetStore hoặc Typeform + CRM chuyên dụng sẽ phù hợp hơn.

Tự Động Hóa Thu Thập Dữ Liệu Cho Doanh Nghiệp

Google Forms + Sheets cho nội bộ. SheetStore cho quản lý khách hàng và bán hàng chuyên nghiệp.

Xem thêm: Tất cả bài hướng dẫn Google Sheets | Phần mềm bán hàng SheetStore

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận