Mở trang Scheduled
Trong tab Code, chọn Scheduled ở thanh bên trái, bấm New task, chọn Set up manually.
Không cần nhớ hàm, không cần ngồi soát 500 dòng. Claude Code gộp file chi nhánh, làm sạch, đối chiếu từng đồng, dựng slide và tự chạy lại mỗi thứ Sáu. Có bộ file Excel mẫu và skill tải về.
Chiều thứ Sáu nào cũng vậy: 4 file Excel từ 4 chi nhánh. File ghi ngày 10/12, file ghi 12/10, có file còn chèn dòng 'Tổng cộng' giữa bảng. Bấm SUM ra 64 triệu. Số đúng chỉ 34,7 triệu.
2 tiếng gộp file, sửa tay, dán số sang PowerPoint, vẫn lo sai
Con số 64 triệu kia không phải ví dụ cho vui. Đó là kết quả bấm SUM trên 4 file mẫu đi kèm bài này, file nào cũng mắc đúng những lỗi mà file chi nhánh thật hay mắc: dòng tổng lẫn trong bảng, đơn bị xuất trùng, ngày ghi kiểu Mỹ, tiền gõ thành chữ. Số đúng là 34.749.000đ. Chênh gần gấp đôi, và nhìn qua bảng tính thì không thấy gì bất thường.
Báo cáo tuần sai không phải vì người làm ẩu. Nó sai vì mỗi tuần lại có một kiểu lỗi mới chen vào, và mắt người đọc 500 dòng lúc 4 giờ chiều thứ Sáu thì không bắt hết được. Việc này nên giao cho máy, với một điều kiện: máy phải giải thích được từng đồng chênh lệch.
Và bạn không cần là cao thủ Excel để làm điều đó. Không Power Query, không phải nhớ XLOOKUP hay SUMIFS. Bạn mô tả việc cần làm bằng tiếng Việt, Claude Code viết và chạy phần xử lý, còn bạn giữ đúng một vai: người kiểm số cuối cùng.
Đây là tập 4 của series Tự động hoá việc lặp lại bằng AI. Tập 3 cho Claude Code đọc mail và lịch để gửi bản tin mỗi sáng. Tập này giao cho nó việc gom số liệu cuối tuần, từ file Excel lộn xộn tới slide báo cáo.
Báo cáo tuần có 3 đặc điểm: lặp lại, có quy tắc, dữ liệu nằm sẵn trên máy. Đó là kiểu việc Claude Code làm tốt hơn khung chat.
Chat với Claude trên web, bạn phải tải file lên, nhận lại một bảng, tuần sau làm lại từ đầu. Claude Code làm việc ngay trong một thư mục trên máy bạn: đọc file, viết và chạy script, tạo file kết quả, rồi giữ lại cả quy trình để tuần sau bạn gọi bằng một lệnh. Bài AI Agent là gì giải thích vì sao khác biệt này lớn đến vậy.
Ảnh dưới là một ví dụ của chính Anthropic: phân tích số liệu tuần, Claude chạy 6 lệnh, viết phần nhận xét kèm những điểm cần chú ý, xuất ra một file báo cáo Word và một file Excel, mở ngay bên cạnh để xem. Bài này làm đúng kiểu đó cho báo cáo bán hàng.

Nhiều người sẽ hỏi: sao không dùng Claude for Excel, tiện ích chạy ngay trong Excel? Hai thứ làm hai việc khác nhau:
| Việc | Claude for Excel | Claude Code (tab Code) |
|---|---|---|
| Sửa, giải thích công thức trong một file đang mở | Hợp | Làm được |
| Gộp nhiều file từ nhiều chi nhánh | Hạn chế | Hợp |
| Giữ quy trình để tuần sau chạy lại bằng 1 lệnh | - | Hợp (skill) |
| Tự chạy theo lịch mỗi tuần | - | Hợp (scheduled task) |
| Dựng slide từ số liệu | Qua Claude for PowerPoint | /slides hoặc file .pptx |
Claude for Excel hợp khi bạn đang mở sẵn một file và muốn Claude làm việc ngay trong đó, kể cả gửi biểu đồ sang PowerPoint:

Nếu bạn chỉ cần làm sạch một file một lần, đọc tập 6 series văn phòng: làm sạch file Excel lộn xộn bằng AI. Bài này dành cho việc lặp lại mỗi tuần.
Làm một lần, khoảng 10 phút: một thư mục chia sẵn 4 ngăn, bộ file mẫu, và Python trên máy.
Mình khuyên chạy bộ mẫu trước khi đụng vào file thật. Bộ mẫu có đáp án, nên bạn biết chắc quy trình chạy đúng trên máy mình trước khi tin nó với số liệu công ty.
Giải nén ra, bạn có cấu trúc này:
Thư mục du-an-mau là “phòng làm việc” của báo cáo. Ngăn goc/ chứa file gốc và không bao giờ bị sửa. Ba ngăn sach/, nhat-ky/, bao-cao/ do script tự tạo. Mình tách như vậy vì một lý do: lỡ có gì sai, file gốc vẫn nguyên, bạn xoá ba ngăn kia rồi chạy lại là xong, không phải đi xin chi nhánh gửi lại file.
Với dữ liệu thật, bạn tạo một thư mục giống vậy (ví dụ Bao cao tuan), mỗi tuần chép file các chi nhánh vào goc/.
Chép nguyên thư mục bao-cao-ban-hang-tuan vào thư mục skill cá nhân:
C:\Users\<tên bạn>\.claude\skills\~/.claude/skills/Đặt ở đây thì skill dùng được cho mọi thư mục trên máy. Mở một phiên mới trong tab Code, gõ /, thấy bao-cao-ban-hang-tuan trong danh sách là được.
Script trong skill viết bằng Python và chỉ cần thêm thư viện openpyxl để đọc Excel. Máy Windows văn phòng phần lớn chưa có Python, nhưng bạn không phải tự mày mò. Mở thư mục du-an-mau trong tab Code rồi dán:
Trên Windows, Claude thường đề xuất cài bằng winget hoặc tải từ python.org. Cài xong nhớ tắt app Claude rồi mở lại để nó nhận Python.
Phần đọc file Excel thì bạn không phải cài gì: đăng nhập Claude Code bằng tài khoản claude.ai là có sẵn skill xlsx của Anthropic.
goc/.Lần đầu tiên, đừng bảo Claude “làm báo cáo đi”. Bật Plan mode, để nó đọc hết dữ liệu, kể ra lỗi, đề xuất cách sửa, rồi mới cho đụng vào file. Năm phút đọc kế hoạch tiết kiệm cho bạn cả buổi gỡ lỗi về sau.
Plan mode là chế độ Claude chỉ được đọc và lập kế hoạch: nó mở file, chạy lệnh để xem dữ liệu, nhưng không sửa gì cho tới khi bạn duyệt. Trên app desktop, bạn chọn chế độ ở ô ngay dưới khung chat, hoặc bấm Ctrl+Shift+M (macOS: Cmd+Shift+M). Nếu từng dùng bản terminal, lưu ý Shift+Tab không đổi chế độ trên app desktop.
Ảnh dưới cho thấy kiểu làm việc này trên app: Claude đọc 4 file bảng tính, phát hiện một tab có bố cục khác các tháng còn lại, dừng lại đọc lại tab đó trước khi tính tiếp. Bên phải là danh sách bước, có hẳn một bước đối chiếu với mục tiêu. Ô chọn chế độ quyền nằm ngay dưới khung chat (trong ảnh đang là Manual).

Dán prompt giao việc dưới đây. Mình chia nó thành 5 phần: bối cảnh, mục tiêu, ràng buộc, ví dụ, thế nào là xong. Cứ hình dung bạn đang giao việc cho một nhân viên giỏi ngày đầu đi làm: nói rõ chuyện gì đang xảy ra, cần ra cái gì, điều gì cấm, và lúc nào thì coi là xong.
Câu cuối là câu đáng giá nhất. Bắt Claude kể lỗi ra trước cho bạn thấy nó hiểu dữ liệu tới đâu. Nó sót một loại lỗi thì bạn bổ sung ngay ở bước này, chưa mất công sửa gì.
Đây là đáp án. Đặt cạnh danh sách Claude đưa ra, thiếu dòng nào thì nhắc nó:
| Lỗi | File | Số dòng | Nếu bỏ qua |
|---|---|---|---|
| Dòng tổng lẫn trong bảng | Cả 4 file (Hà Nội chèn giữa bảng) | 4 | Doanh thu đội gần gấp đôi |
| Dòng trùng do máy POS xuất 2 lần | Hà Nội, TP.HCM, Cần Thơ | 9 | Thừa 745.000đ |
| Ngày kiểu Mỹ tháng/ngày | TP.HCM | 163 | 17 dòng ngày 12/10 thành 10/12 |
| Ngày lẫn ô ngày Excel và chữ 2026-10-15 | Cần Thơ | 29 | Lọc theo ngày bị sót |
| Tiền ghi dạng chữ kiểu 45.000đ | Đà Nẵng | 33 | Hàm SUM của Excel bỏ qua, hụt tiền |
| Tên sản phẩm, tên kênh viết lệch | Đà Nẵng, TP.HCM | 81 | Một món bị tách thành 3 dòng |
| Ô chi nhánh trống, tiêu đề thừa, tên cột khác | Đà Nẵng, TP.HCM | 8 | Gộp file bị lệch cột |
Đọc kế hoạch thấy ổn thì chọn chạy. App hỏi bạn muốn tự duyệt từng thay đổi hay để chế độ Auto lo; lần đầu nên tự duyệt để xem Claude làm những gì.
Đã cài skill tải về thì bạn có thể bỏ qua bước Claude tự viết script, gõ thẳng /bao-cao-ban-hang-tuan tuần 12/10–18/10. Nhưng với file thật của bạn, hãy chạy Plan mode ít nhất một lần: file thật luôn có kiểu lỗi mà bộ mẫu không có.
Làm sạch xong mà chưa đối chiếu thì chưa xong. Slide đẹp không cứu được một con số sai, và AI hay sai đúng ở những chỗ trông rất hợp lý.
Script lam_sach.py trong skill làm 3 việc: tạo file sạch trong sach/, ghi nhật ký từng thay đổi vào nhat-ky/, và lập bảng đối chiếu. Mọi phép cộng trừ do script làm, không để Claude “nhẩm”. Nguyên tắc nên giữ với mọi quy trình dính tới tiền: việc cần ra đúng một kết quả mỗi lần chạy thì giao cho script, phần cần đọc hiểu và viết lời mới giao cho AI.
Chạy trên 4 file mẫu, script ghi 438 dòng nhật ký và ra bảng đối chiếu này:
| File | Cộng thẳng cột tiền | Trừ dòng tổng | Trừ dòng trùng | Sau làm sạch | Số đơn |
|---|---|---|---|---|---|
| Hà Nội | 15.622.000 | 5.430.000 | 314.000 | 9.878.000 | 140 |
| Đà Nẵng | 15.636.000 | 7.818.000 | 0 | 7.818.000 | 110 |
| TP.HCM | 23.220.000 | 11.610.000 | 357.000 | 11.253.000 | 160 |
| Cần Thơ | 11.748.000 | 5.874.000 | 74.000 | 5.800.000 | 90 |
| Cộng | 66.226.000 | 30.732.000 | 745.000 | 34.749.000 | 500 |
Đọc theo hàng ngang: số cộng thẳng, trừ dòng tổng, trừ dòng trùng, phải ra đúng số sau làm sạch. Không có đồng nào “tự nhiên biến mất”, đồng nào chênh cũng có lý do nằm trong nhật ký.
Cột “cộng thẳng” ở đây đã tính cả 33 ô tiền ghi dạng chữ của Đà Nẵng, nên ra 66,2 triệu. Bấm SUM trong Excel thì ra 64.117.000đ, vì SUM lặng lẽ bỏ qua ô chữ nhưng vẫn cộng các dòng tổng. Hai con số sai theo hai kiểu khác nhau, và không con số nào báo lỗi.
Script cũng biết dừng. Gặp một ô tiền không đọc được, kiểu ai đó gõ “chưa nhập” vào cột tiền, nó báo không khớp và không cho làm slide. Script tổng hợp đọc lại file sạch một lần nữa, tổng lệch với số đã tính là dừng. File DOC-TRUOC.md trong bộ mẫu có đáp án để bạn tự so.
File nhat-ky-1210-18102026.csv mở được bằng Excel. Vài dòng từ lần chạy mẫu:
| File | Dòng | Loại | Trước | Sau |
|---|---|---|---|---|
| TP.HCM | - | xác định kiểu ngày | - | mm/dd (có ngày phần giữa lớn hơn 12) |
| TP.HCM | 2 | chuẩn hoá ngày | 10/12/2026 | 12/10/2026 |
| TP.HCM | 4 | chuẩn hoá tên kênh | tai quan | Tại quán |
| TP.HCM | 16 | điền chi nhánh còn trống | - | TP.HCM |
| Đà Nẵng | 3 | đổi tên cột | Doanh thu | Thành tiền |
| Đà Nẵng | 4 | chuẩn hoá tên sản phẩm | 'Cà phê sữa đá ' (thừa dấu cách) | Cà phê sữa đá |
| Đà Nẵng | 6 | đổi tiền dạng chữ thành số | 45.000đ | 45000 |
| Hà Nội | 57 | bỏ dòng trùng | HN-0055 | - |
| Hà Nội | 74 | bỏ dòng tổng | Tổng cộng: 5430000 | - |
Nhật ký là thứ biến “AI làm hộ” thành “AI làm, mình kiểm được”. Sếp hỏi vì sao doanh thu tuần này khác file chi nhánh gửi, bạn mở nhật ký ra chỉ vào từng dòng, không phải đoán.
Lỗi nguy hiểm nhất trong bộ mẫu là ngày tháng, vì nó không báo lỗi.
Máy bán hàng ở chi nhánh TP.HCM cài định dạng Mỹ, xuất ngày kiểu tháng/ngày: 10/16/2026. Đọc theo kiểu Việt Nam, 146 dòng ra ngày không tồn tại (tháng 16), nên còn dễ phát hiện. 17 dòng còn lại là 10/12/2026, tức 12/10, lại bị hiểu thành ngày 10 tháng 12. Ngày hợp lệ, không ai để ý, và doanh thu thứ Hai bị đẩy sang tận tháng 12.
Script xử lý bằng cách xét cả file chứ không xét từng ô: chỉ cần một ngày có phần giữa lớn hơn 12, cả file được hiểu là tháng/ngày. Nếu mọi ngày đều mập mờ, nó đếm xem cách đọc nào cho nhiều ngày rơi vào tuần báo cáo hơn. Với bất kỳ file nào có ngày dạng chữ, hãy dặn Claude làm đúng như vậy.
Kỹ thuật chống AI bịa nào cũng chỉ giảm lỗi, không xoá được lỗi. Hiệp hội Kế toán Công chứng Anh và xứ Wales (ICAEW) còn khuyên tự kiểm cả dòng ẩn, sheet ẩn thay vì tin AI nói “không có”. Gom lại thành 6 việc, mất 5 phút:
can_nguoi_xem trong file đối chiếu.goc/ không đổi.Số đã sạch thì dựng slide là phần nhẹ nhất. Có hai cách, mình chọn cách A làm chính vì không phải cài thêm gì.
| Cách A: /slides | Cách B: file .pptx trên máy | |
|---|---|---|
| Slide nằm ở đâu | Trang riêng tư trên claude.ai | File trong thư mục bao-cao/ |
| Cài thêm | Không | Có thể cần Node, LibreOffice |
| Sửa slide | Sửa trực tiếp trên trình duyệt | Mở PowerPoint |
| Xuất ra | PowerPoint, PDF, Google Slides | Sẵn là .pptx |
| Gói cần có | Pro, Max, Team (Enterprise do quản trị viên bật) | Gói nào dùng được Claude Code |
/slides là mẫu trình chiếu của tính năng artifact. Artifact là một trang web riêng tư Claude Code đăng lên tài khoản claude.ai của bạn, chỉ bạn xem được cho tới khi bạn bấm chia sẻ. Mẫu Slides cần Claude Code bản 2.1.265 trở lên.
Trên app Claude, Slides nằm trong menu Output cạnh Docs và Design. Chọn Slides là Claude hiểu bạn cần một bộ trình chiếu chứ không phải một đoạn văn.


Ảnh trên là một artifact dạng bảng số liệu, mở trên trình duyệt với menu Chia sẻ. Slide báo cáo của bạn cũng nằm ở dạng trang như vậy, có lịch sử phiên bản và nút chia sẻ link.
Dán prompt dựng slide:
Câu cuối chặn lỗi hay gặp nhất khi để AI làm slide: nó tự “làm tròn cho đẹp”, hoặc tự tính thêm một tỷ lệ không có trong dữ liệu. Mọi con số phải lấy từ file so-lieu-….json do script tạo.
Bố cục 8 slide nằm trong tham-chieu/mau-slide.md: tiêu đề, tổng quan 4 con số, theo chi nhánh, theo sản phẩm, theo kênh, theo ngày, đối chiếu số liệu, nhận xét và việc tuần tới. Slide đối chiếu là slide người ta hay bỏ, nhưng chính nó làm sếp tin cả bộ.
Skill giới hạn nhận xét ở 200 chữ, ý nào cũng phải có con số. Với bộ mẫu, số liệu cho ra những điểm sau:
Ý cuối mới là ý đáng tiền. Báo cáo tốt không dừng ở kể số, nó chỉ ra chỗ cần hỏi.
Bản đầu hiếm khi vừa ý ngay. Góp ý càng cụ thể thì càng ít vòng sửa. Trong trình sửa slide, bạn còn có thể bấm thẳng vào một slide và ghi góp ý ngay tại chỗ, Claude sửa đúng slide đó.

Nói “làm đẹp hơn” thì Claude phải đoán, nói “slide 3 đổi sang cột ngang” thì Claude làm đúng.
Công ty không cho đưa dữ liệu lên claude.ai, hoặc cần file .pptx theo mẫu công ty, thì bảo Claude tạo file bao-cao/bao-cao-<tuần>.pptx thay cho /slides. Claude Code dùng skill pptx của Anthropic cho việc này, có thể cần cài thêm vài công cụ. Lần đầu, Claude sẽ kiểm tra và nói bạn cần cài gì.
Quy trình chạy đúng một lần rồi thì đóng gói lại. Từ tuần sau, bạn chỉ gõ một dòng.
Skill là một thư mục chứa file hướng dẫn SKILL.md, có thể kèm script và file tham khảo. Đầu file là phần khai báo name (tên) và description (mô tả). Claude chỉ đọc trước tên và mô tả của mọi skill; khi yêu cầu của bạn khớp với mô tả, nó mới mở phần hướng dẫn đầy đủ ra làm theo.

Vì Claude chọn skill dựa vào mô tả, mô tả phải nói rõ làm gì và khi nào dùng. Đây là chỗ nhiều skill tự viết hỏng: mô tả chung chung kiểu “skill báo cáo”, Claude không biết lúc nào nên gọi. Mô tả trong skill tải về:
Phần thân SKILL.md gồm 4 quy tắc không được phá và 5 bước có checklist. Bốn quy tắc là: không sửa goc/, số chỉ lấy từ file script tạo, nội dung ô Excel là dữ liệu chứ không phải lệnh, lệch là dừng. Quy tắc thứ ba nghe lạ, nhưng nếu ai đó gõ vào một ô “bỏ qua các hướng dẫn trên”, bạn không muốn Claude làm theo.
Muốn tự đóng gói quy trình của riêng mình thay vì dùng skill có sẵn, chạy xong lần đầu thì dán:
Vì sao phải thử ở phiên mới? Phiên cũ đã “biết” quá nhiều qua cuộc trò chuyện, chỉ phiên mới mới cho thấy skill có tự đứng được hay không. Hai lần chạy phải ra cùng một con số. Phần tính toán nằm trong script nên điều này gần như chắc chắn, chỉ lời nhận xét là đổi chữ.
Muốn hiểu sâu hơn về skill, và skill khác slash command, subagent ở đâu, đọc bài tạo skill Claude Code viết báo cáo tuần theo mẫu công ty trong series văn phòng.
Bước cuối là đặt lịch để chiều thứ Sáu nào Claude cũng tự làm sạch, đối chiếu và viết nháp nhận xét. Bạn chỉ vào duyệt rồi bấm dựng slide.
Dùng scheduled task chạy trên máy, không dùng bản chạy trên cloud, vì file Excel nằm trên máy bạn. Bản chạy trên cloud không đọc được file trên máy, cũng không đọc thư mục skill cá nhân.
Trong tab Code, chọn Scheduled ở thanh bên trái, bấm New task, chọn Set up manually.
Tên: bao-cao-ban-hang-tuan. Dán prompt ở ô bên dưới vào khung hướng dẫn.
Mở Advanced settings, bật Only on this computer, chọn thư mục dự án (thư mục có goc/).
Trigger chọn Weekly, thứ Sáu, 15:00. Chọn chế độ quyền và model trên thanh công cụ của khung hướng dẫn.
↳ App tự lùi giờ chạy vài phút để tránh nghẽn, 15:00 có thể thành 15:04.Chạy thử ngay, duyệt các quyền nó hỏi và chọn cho phép luôn (always allow). Lượt chạy theo lịch sau sẽ không bị treo.
Có 3 điều về lịch chạy trên máy mà bạn phải biết, không thì sẽ có thứ Sáu ngồi chờ báo cáo không tới:
Kết quả mỗi lượt là một phiên mới, nằm ở mục Scheduled trên thanh bên. Trang chi tiết của task có lịch sử chạy, kể cả lượt bị bỏ và lý do.
Vì sao không cho chạy luôn tới bước slide? Hiện chưa rõ một lượt chạy theo lịch trên máy có đăng artifact mà không hỏi hay không, nên mình chọn dừng ở bản nháp. Và kể cả khi được, mình vẫn sẽ dừng ở đó: giữ một người kiểm trước khi số liệu đi xa hơn là tinh thần của cả series này.
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Claude báo không có python | Máy chưa cài, hoặc cài xong chưa mở lại app | Cài Python 3, tắt app Claude mở lại |
| Báo thiếu openpyxl | Chưa cài thư viện | Cho Claude chạy python -m pip install openpyxl |
| Không đọc được file, báo file bị khoá | File đang mở trong Excel | Đóng file Excel rồi chạy lại |
| Đối chiếu không khớp | Có ô tiền gõ chữ, ô trống | Xem mục can_nguoi_xem, sửa ở file gốc của chi nhánh |
| Tên món mới bị đánh dấu chưa có | Món mới chưa có trong bảng tên chuẩn | Thêm 1 dòng vào tham-chieu/ten-chuan.csv |
| Lượt chạy theo lịch đứng im | Chế độ Manual, chưa cho phép quyền | Bấm Run now, chọn always allow |
| Không thấy lượt chạy thứ Sáu | Máy ngủ hoặc app tắt lúc 15:00 | Bật Keep computer awake, xem Review history |
| Slide có con số lạ | Claude tự tính thêm | Nhắc lại: chỉ lấy số từ so-lieu.json |
Bốn giới hạn nên biết trước khi đem vào công việc thật:
ten-chuan.csv. Script đánh dấu tên lạ chứ không tự đoán, và mình cố ý để vậy.Đọc được. Đăng nhập bằng tài khoản claude.ai là Claude Code có sẵn skill xlsx của Anthropic để đọc, sửa, tạo file Excel. Skill trong bài dùng thêm script Python với thư viện openpyxl để làm sạch và tính số.
Không cần viết Python. Máy chỉ cần có Python 3 và thư viện openpyxl, Claude kiểm tra và hướng dẫn cài được. Script đã viết sẵn trong skill tải về.
Nội dung file Claude đọc được gửi lên máy chủ Anthropic. Với gói Pro, Max, nên tắt tuỳ chọn dùng dữ liệu để huấn luyện trong phần quyền riêng tư; gói Team, Enterprise mặc định không dùng. Bỏ cột không cần và thay tên khách bằng mã trước khi dùng.
Nhìn bảng đối chiếu: tổng cộng thẳng, trừ dòng tổng, trừ dòng trùng phải bằng tổng sau làm sạch, khớp từng file. Slide chỉ được lấy số từ file so-lieu.json do script tạo. Kiểm tay thêm 3 dòng ngẫu nhiên trước khi gửi.
Không. Scheduled task chạy trên máy chỉ chạy khi ứng dụng Claude đang mở và máy đang thức. Lượt bị lỡ được chạy bù một lần khi máy thức lại, trong vòng 7 ngày.
Làm sạch một file thì được. Phần giữ quy trình thành skill, gọi lại bằng một lệnh và tự chạy theo lịch trên thư mục máy bạn là cách làm của Claude Code trong bài này; công cụ khác cần cách dựng khác.