Bạn có việc copy-paste dữ liệu từ sheet này sang sheet khác hàng ngày không? Bài này sẽ chỉ cho bạn 3 cách tự động hóa: từ hàm Google Sheet có sẵn, cho tới giải pháp app riêng khi hàm không đủ dùng.
📌 Dịch vụ viết app theo yêu cầu — Nếu bạn cần app tự động hóa việc lặp lại của công ty
🏠 Về trang chủ

1. Cách Đơn Giản Nhất: Dùng Hàm IMPORTRANGE
Google Sheet có sẵn hàm IMPORTRANGE — nó tự động lấy dữ liệu từ một file sheet khác về file của bạn. Cách này phù hợp khi:
- Bạn muốn dữ liệu tự cập nhật mà không cần chạy script.
- Dữ liệu nguồn không quá phức tạp (không cần lọc, sắp xếp trước khi nhập).
- Chỉ cần lấy một vùng dữ liệu cố định từ sheet nguồn.
Cách làm:
- Mở file sheet đích (nơi bạn muốn dữ liệu xuất hiện).
- Click vào ô bạn muốn dữ liệu bắt đầu (ví dụ: A1).
- Gõ công thức:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[ID_FILE_NGUON]/edit", "Sheet1!A:C")
Thay[ID_FILE_NGUON]bằng ID của file sheet nguồn (lấy từ URL), vàSheet1!A:Cbằng tên sheet + vùng dữ liệu (ví dụ: cột A, B, C). - Ấn Enter. Google Sheet sẽ yêu cầu bạn cho phép truy cập — click "Cho phép".
- Dữ liệu sẽ tự lấy về và cập nhật tự động mỗi khi file nguồn thay đổi.
Ưu điểm: Đơn giản, miễn phí, cập nhật tự động.
Nhược điểm: Chậm nếu dữ liệu lớn; không thể lọc/sắp xếp trước nhập; nếu bạn đóng file nguồn, hàm vẫn chạy nhưng có thể báo lỗi; không áp dụng được nếu cần thay đổi cấu trúc cột.
2. Cách Linh Hoạt: Script Google Apps Script (Automation)
Nếu IMPORTRANGE chạy chậm hoặc bạn cần xử lý dữ liệu trước khi nhập (lọc, sắp xếp, tính toán), hãy dùng Google Apps Script — công cụ miễn phí của Google để viết script tự động trên sheet.
Ví dụ: Bạn có 1 file "Đơn hàng" (cập nhật liên tục), và bạn muốn nhập tự động tất cả đơn chưa thanh toán vào file "Chốt đơn hôm nay" vào lúc 8 sáng.
Cách làm:
- Mở file sheet đích, click Mở rộng (⋯) → Trình chỉnh sửa Apps Script.
- Xóa code mẫu, dán đoạn script này:
function nhapDuLieu() { var fileNguon = SpreadsheetApp.openById("[ID_FILE_NGUON]"); var sheetNguon = fileNguon.getSheetByName("Sheet1"); var duLieuNguon = sheetNguon.getDataRange().getValues(); var fileDich = SpreadsheetApp.getActiveSpreadsheet(); var sheetDich = fileDich.getSheetByName("Sheet1"); // Xóa dữ liệu cũ (tùy chọn) if (sheetDich.getLastRow() > 1) { sheetDich.deleteRows(2, sheetDich.getLastRow() - 1); } // Nhập dữ liệu mới sheetDich.getRange(1, 1, duLieuNguon.length, duLieuNguon[0].length).setValues(duLieuNguon); } - Thay
[ID_FILE_NGUON]bằng ID file nguồn. - Ấn Ctrl+S để lưu script.
- Quay lại file sheet, click Mở rộng → Lịch kích hoạt → Đặt lịch chạy script (ví dụ: mỗi sáng lúc 8 giờ).
Ưu điểm: Linh hoạt, có thể lọc/sắp xếp trước nhập, chạy theo lịch cố định.
Nhược điểm: Cần hiểu biết cơ bản về code; Google Apps Script có giới hạn (chạy mỗi 5 phút tối thiểu); không phù hợp khi cần nhập theo yêu cầu thực thời.
3. Cách Bền Vững: App Riêng Để Tự Động Hóa Hoàn Toàn
Khi IMPORTRANGE chậm, Apps Script không đủ linh hoạt, hoặc bạn cần tích hợp với các hệ thống khác (Shopee, Zalo, kế toán…), app riêng là lựa chọn tốt nhất.
Tình huống phù hợp:
- Bạn bán trên Shopee, TikTok Shop, Lazada — muốn gộp tất cả đơn hàng vào 1 file Excel/Sheet hàng ngày.
- Kế toán ghi sổ theo từng hóa đơn — muốn tự động tính tổng doanh thu, lãi suất, báo cáo tài chính hàng tuần.
- Quản lý khách hàng — muốn nhập tự động danh sách từ CRM, lọc những khách đã mua lần thứ 2, gửi tin nhắn tự động.
App riêng có thể:
- Kết nối thực thời với sàn thương mại (Shopee API, TikTok API) để lấy đơn hàng mới.
- Xử lý dữ liệu nhanh (lọc, sắp xếp, tính toán) rồi nhập vào sheet — công việc 2 tiếng giờ thành 2 phút.
- Chạy 24/7 mà không cần bạn can thiệp.
- Ghi log, cảnh báo lỗi nếu có vấn đề (thay vì bạn phát hiện muộn).
Chi phí: Tùy độ phức tạp — từ 3-10 triệu đồng tùy loại dữ liệu và hệ thống cần kết nối.
Giới Hạn Thực Của Hàm IMPORTRANGE — Khi Nào Bạn Nên Bỏ Và Xây App Riêng
IMPORTRANGE nghe hay, nhưng thực tế nó có nhiều vấn đề không được nói rõ:
| Tình huống | IMPORTRANGE | Apps Script | App Riêng |
|---|---|---|---|
| Cập nhật từ 10.000+ hàng dữ liệu | Chậm (tải lâu) | Có thể timeout | ✅ Nhanh, xử lý theo batch |
| Dữ liệu cần lọc trước nhập (ví dụ: chỉ lấy đơn hôm nay) | ❌ Không làm được | ✅ Làm được | ✅ Tối ưu nhất |
| Đóng file nguồn, hàm vẫn hoạt động? | Báo lỗi hoặc chậm | Vẫn chạy (nếu quyền đủ) | ✅ Không bị ảnh hưởng |
| Đổi cấu trúc cột file nguồn | ❌ Vỡ hàm | Cần sửa script | ✅ Có thể thích ứng tự động |
| Kết nối với Shopee/TikTok/Zalo | ❌ Không làm được | ❌ Không làm được | ✅ Hoàn toàn khả thi |
| Chạy 24/7 mà không cần bạn bật máy | Phụ thuộc máy bạn | ✅ Chạy trên Google | ✅ Chạy trên server riêng |
Kết luận: Nếu dữ liệu ít (<1.000 hàng), cấu trúc cố định, không cần lọc → dùng IMPORTRANGE. Nếu dữ liệu lớn, cần xử lý, hoặc kết nối hệ thống → cân nhắc thuê viết app riêng.
Ví Dụ Thực Tế: Chủ Bán Hàng Online Gộp Đơn Từ Nhiều Sàn
Bạn bán trên Shopee, TikTok Shop, Lazada. Mỗi sáng bạn phải:
- Vào Shopee, tải xuống file đơn hàng → lưu thành CSV.
- Làm tương tự với TikTok Shop, Lazada.
- Mở file chung, copy-paste từ 3 file trên vào.
- Xóa trùng, sắp xếp theo ngày.
- Gửi email cho nhân viên kế toán.
→ Mất 1-2 tiếng mỗi sáng.
Với app riêng: Hàng sáng, app tự kết nối 3 sàn, lấy đơn mới, gộp vào 1 sheet, xóa trùng, gửi email ngay — tự động trong 2 phút, bạn chỉ cần kiểm tra kết quả.
Chi phí: ~5 triệu (tùy độ phức tạp). Tiết kiệm được ~10 tiếng/tuần, cộng độ chính xác cao hơn → ROI trong 1-2 tháng.
Câu Hỏi Thường Gặp
IMPORTRANGE có phí gì không?
Không. Google Sheet miễn phí (khi bạn không dùng bộ nhớ quá 15GB). IMPORTRANGE cũng miễn phí. Tuy nhiên, nếu file dữ liệu quá lớn hoặc chạy quá nhiều hàm, Google có thể tính phí Google Workspace (~180.000đ/người/tháng) — nhưng đó là cho doanh nghiệp có số lượng file khổng lồ.
Script Google Apps Script có bị giới hạn không?
Có. Google giới hạn 6 phút/lần chạy, và tối đa 30.000 lần/ngày. Nếu bạn chạy script mỗi 5 phút để kiểm tra có đơn mới, bạn sẽ vượt giới hạn trong ~2,5 giờ. Ngoài ra, nếu file dữ liệu >10.000 hàng, script chạy chậm.
Làm sao biết app riêng phù hợp với công việc của tôi?
Nếu bạn có việc lặp lại hàng ngày, tốn >30 phút, không cần can thiệp thủ công → app riêng rất phù hợp. Ví dụ: gộp đơn, tính toán lương, báo cáo tài chính, gửi thư tự động… Thử điền biểu mẫu này để mình tư vấn xem việc của bạn có thể biến thành app không.
Nếu IMPORTRANGE chậm, có cách nào tăng tốc không?
Cách tốt nhất: (1) Chia file nguồn thành nhiều sheet nhỏ, IMPORTRANGE riêng từng phần. (2) Dùng Apps Script thay vì hàm. (3) Thay vì lấy toàn bộ cột (A:C), lấy vùng cụ thể (A1:C100) — sẽ nhanh hơn.
Nguồn Tham Khảo
IMPORTRANGE function — Google Docs Help Center
Google Sheets API — Apps Script Guide
Cập nhật lần cuối: tháng 8/2026.