AAULISPAI CHO KỸ SƯ Nhận bộ mẫu

AULISP › Hướng dẫn Word

Hồ sơ hiện trường

Trộn thư (mail merge) trong Word từ Excel: in hàng loạt biên bản nghiệm thu

Trộn thư cho Word lấy từng dòng trong bảng Excel điền vào một mẫu biên bản. Bảng có 20 dòng thì ra 20 biên bản trong cùng một lần bấm. Bài này đi từng bước, kèm cách giữ đúng định dạng ngày và số, tách mỗi biên bản thành một file, và cách sửa các lỗi hay gặp.

ThS. KS Trương Văn Hòa · Cập nhật 26/09/2026 · Tên lệnh theo Word giao diện tiếng Anh (Word 2016 trở lên, Microsoft 365)

Mail merge (trộn thư) trong Word là gì?

Mail merge, tiếng Việt gọi là trộn thư, là chức năng có sẵn trên thẻ Mailings của Word. Bạn có một file Word mẫu chứa các trường trộn dạng «Ten_cot» và một bảng Excel, mỗi dòng là một bộ dữ liệu. Word thay từng trường bằng giá trị ở dòng tương ứng và tạo ra một văn bản cho mỗi dòng.

Với hồ sơ hiện trường, trộn thư hợp với các biểu mẫu lặp lại nhiều lần mà chỉ khác vài thông tin: biên bản nghiệm thu công việc, phiếu yêu cầu nghiệm thu, biên bản lấy mẫu, giấy mời nghiệm thu.

Sơ đồ trộn thư: bảng Excel mỗi dòng một biên bản, mẫu Word có trường trộn, kết quả là nhiều biên bản, mỗi biên bản một trang mới Excel · sheet DuLieu So_bien_ban Cong_viec 01/BBNT-CV Đào khuôn 02/BBNT-CV Đắp K95 03/BBNT-CV Cống D1000 … mỗi dòng = 1 biên bản Mẫu Word Số: «So_bien_ban» BIÊN BẢN NGHIỆM THU Công việc: «Cong_viec» Vị trí: «Vi_tri» Kết quả Số: 02/BBNT-CV BIÊN BẢN … Đắp K95 3 biên bản, mỗi bản 1 trang mới nối dữ liệu Finish & Merge
Mỗi dòng Excel thành một biên bản. Dữ liệu trong hình là ví dụ.

Chuẩn bị file Excel để trộn thư

Phần lớn lỗi trộn thư đến từ bảng Excel. Làm đúng mấy điểm dưới đây trước khi mở Word:

  • Dòng 1 là tên cột, dữ liệu bắt đầu từ dòng 2. Không để tiêu đề lớn, logo hay dòng trống phía trên.
  • Tên cột không dấu, không khoảng trắng, ví dụ So_bien_ban, Ngay_nghiem_thu. Tên này hiện nguyên trong danh sách trường ở Word nên đặt dễ đọc.
  • Mỗi biên bản một dòng, không gộp ô (Merge Cells), không để dòng trống xen giữa.
  • Cột ngày, số hiệu, số điện thoại nên định dạng Text trước khi nhập (xem mục 5). Dữ liệu dán từ nơi khác thì gõ dấu ' trước giá trị hoặc định dạng lại cột.
  • Mỗi cột một kiểu dữ liệu. Cột vừa có số vừa có chữ dễ bị Word đọc thiếu (xem mục 7).
  • Lưu file rồi đóng Excel trước khi nối từ Word.

Các bước trộn thư trong Word từ Excel

  1. Mở file Word mẫu. Trên thẻ Mailings, chọn Start Mail Merge › Letters. Kiểu Letters cho mỗi dòng dữ liệu một văn bản, bắt đầu ở trang mới.
  2. Select Recipients › Use an Existing List…, chọn file Excel. Hộp Select Table hiện các sheet có dấu $ ở cuối, ví dụ DuLieu$. Chọn sheet chứa dữ liệu, tích First row of data contains column headers, bấm OK.
  3. Đặt con trỏ vào chỗ cần điền, bấm Insert Merge Field và chọn cột. Word chèn trường dạng «So_bien_ban». Lặp lại cho các chỗ khác; một trường có thể chèn nhiều lần.
  4. Bấm Preview Results, dùng mũi tên để xem lần lượt từng biên bản với dữ liệu thật.
  5. Cần bỏ bớt dòng: Edit Recipient List, bỏ tích các dòng không in lần này. Có thể lọc (Filter) theo một cột, ví dụ chỉ lấy biên bản của tháng 10.
  6. Finish & Merge › Edit Individual Documents › All. Word tạo một văn bản mới chứa toàn bộ biên bản, mỗi biên bản là một phần (section) riêng, bắt đầu ở trang mới. Lưu văn bản này thành file mới, đọc lại trước khi in.
  7. Muốn in ngay không cần xem: Finish & Merge › Print Documents. Nên dùng Edit Individual Documents để còn soát lỗi.

Lưu file mẫu lại. Lần sau mở mẫu, Word hỏi có chạy lệnh SQL để lấy dữ liệu không; chọn Yes nếu đó là file của bạn. Word giao diện tiếng Việt có các lệnh tương ứng trên cùng thẻ.

Ví dụ: in hàng loạt biên bản nghiệm thu công việc

Biên bản nghiệm thu công việc xây dựng là loại lặp nhiều nhất trên công trường: cùng công trình, cùng người ký, chỉ khác công việc, vị trí, ngày và kết quả thí nghiệm. Bảng Excel chỉ cần mỗi đợt nghiệm thu một dòng.

So_bien_banCong_viecVi_triNgay_nghiem_thu
01/BBNT-CVĐào khuôn đường, vét hữu cơKm0+000 – Km0+30005/10/2026
02/BBNT-CVĐắp nền đường lớp K95, dày 30 cmKm0+000 – Km0+300, lớp 108/10/2026
03/BBNT-CVLắp đặt ống cống tròn D1000Cống tại Km0+45012/10/2026

Dữ liệu ví dụ, không phải số liệu công trình thật.

Trong mẫu Word, phần đầu biên bản đặt trường như sau:

Số: «So_bien_ban»
«Dia_danh», ngày «Ngay_nghiem_thu»
BIÊN BẢN NGHIỆM THU CÔNG VIỆC XÂY DỰNG
Công việc: «Cong_viec»
Vị trí (lý trình, trục, cao độ, cấu kiện): «Vi_tri»
Trang đầu biên bản nghiệm thu công việc số 02 sau khi trộn thư từ dòng thứ hai của bảng Excel ví dụ
Biên bản số 02 sau khi trộn, sinh từ dòng thứ hai của bảng dữ liệu ví dụ.

Tải bộ mẫu đã gắn sẵn trường trộn5 mẫu biên bản nghiệm thu Word soạn theo nội dung chủ yếu tại Nghị định 207/2026/NĐ-CP, 1 mẫu trộn thư đã chèn sẵn 25 trường, file Excel 26 cột có dòng ví dụ, và hướng dẫn 3 trang. Bạn chỉ cần nhập dữ liệu, nối file Excel ở bước 2 rồi bấm Finish & Merge.

Nhận bộ mẫu biên bản ↗

Mẫu là tài liệu tham khảo: đối chiếu hợp đồng, chỉ dẫn kỹ thuật và yêu cầu của chủ đầu tư trước khi dùng. Dữ liệu sai ở một dòng Excel sẽ sai ở biên bản dùng dòng đó, nên kỹ sư vẫn đọc lại từng biên bản trước khi ký.

Định dạng ngày và số khi trộn thư

Word đọc giá trị gốc trong ô Excel, không đọc định dạng hiển thị. Vì vậy ngày 05/10/2026 có thể ra 10/5/2026 (kiểu Mỹ), số 1.250,50 có thể ra 1250.5 hoặc 12.300000001. Có hai cách xử lý.

Cách 1: để cột ở dạng Text trong Excel

Chọn cột, Format Cells › Text, rồi mới nhập dữ liệu. Word lấy đúng chuỗi chữ bạn gõ. Đây là cách đơn giản nhất cho ngày nghiệm thu, số biên bản, lý trình. Nhược điểm: Excel không tính toán, sắp xếp theo ngày được trên cột Text. Bộ mẫu biên bản ở trên dùng cách này.

Với số cần làm tròn, tạo cột phụ bằng hàm TEXT, ví dụ =TEXT(D2;"0,00") trên máy đặt dấu phẩy thập phân, rồi trộn cột phụ.

Cách 2: thêm switch định dạng vào trường trộn

Giữ ngày, số thật trong Excel và bảo Word định dạng lại khi trộn:

  1. Nhấn Alt+F9 để hiện mã trường. Trường «Ngay_nghiem_thu» hiện thành { MERGEFIELD Ngay_nghiem_thu }.
  2. Gõ switch vào trong ngoặc nhọn, trước dấu }. Không gõ tay dấu ngoặc nhọn; chỉ sửa bên trong.
  3. Nhấn Alt+F9 để trở về, bấm Preview Results để xem kết quả.
{ MERGEFIELD Ngay_nghiem_thu \@ "dd/MM/yyyy" }
→ 05/10/2026

{ MERGEFIELD Ngay_nghiem_thu \@ "'ngày' dd 'tháng' MM 'năm' yyyy" }
→ ngày 05 tháng 10 năm 2026

{ MERGEFIELD Khoi_luong \# "#,##0.00" }
→ 1,250.50   (máy đặt dấu chấm thập phân)

{ MERGEFIELD Khoi_luong \# "#.##0,00" }
→ 1.250,50   (máy đặt dấu phẩy thập phân kiểu Việt Nam)
  • Trong switch ngày, MM viết hoa là tháng; mm viết thường là phút. Viết nhầm sẽ ra số phút thay cho tháng.
  • Chữ cố định trong switch ngày đặt trong dấu nháy đơn, như 'ngày'.
  • Ký hiệu phân cách nghìn và thập phân trong switch số \# đi theo cài đặt vùng (Region) của Windows. Thử một trường trên máy của bạn trước khi làm cả bộ.
  • Switch \@ chỉ dùng cho cột là ngày thật trong Excel. Cột đã để Text theo cách 1 thì không cần switch.

Xuất mỗi biên bản thành một file riêng

Finish & Merge gom mọi biên bản vào một file. Word không có sẵn nút lưu mỗi biên bản thành một file. Có ba cách, tùy số lượng.

Vài biên bản: làm tay theo từng số thứ tự

Chọn Finish & Merge › Edit Individual Documents, chọn From 1 To 1, bấm OK, lưu file với tên số biên bản. Lặp lại với 2–2, 3–3…

Nhiều biên bản: dùng macro VBA

Macro dưới đây trộn từng dòng một và lưu thành file .docx đặt tên theo cột So_bien_ban, trong cùng thư mục với file mẫu. Ký tự không được phép trong tên file như / được đổi thành -, nên 01/BBNT-CV thành 01-BBNT-CV.docx.

  1. Lưu file mẫu, làm xong bước 1–3 ở mục 3 (đã nối Excel). Không bỏ tích dòng nào trong Edit Recipient List; muốn bớt dòng thì xóa dòng trong một bản sao file Excel.
  2. Nhấn Alt+F11. Trong khung Project, chọn Normal, vào Insert › Module, dán đoạn mã, đóng cửa sổ VBA.
  3. Quay lại file mẫu, nhấn Alt+F8, chọn TronThu_MoiBienBanMotFile, bấm Run.
Sub TronThu_MoiBienBanMotFile()
    ' Tron thu: luu moi dong Excel thanh 1 file .docx, dat ten theo cot So_bien_ban
    Dim mau As Document, kq As Document
    Dim thuMuc As String, ten As String
    Dim i As Long, tong As Long, kyTu As Variant

    Set mau = ActiveDocument
    If mau.Path = "" Then
        MsgBox "Hay luu file mau truoc khi chay.", vbExclamation
        Exit Sub
    End If
    If mau.MailMerge.State <> wdMainAndDataSource Then
        MsgBox "File mau chua noi voi du lieu Excel (Select Recipients).", vbExclamation
        Exit Sub
    End If
    thuMuc = mau.Path & Application.PathSeparator

    With mau.MailMerge
        .Destination = wdSendToNewDocument
        .DataSource.ActiveRecord = wdLastRecord
        tong = .DataSource.ActiveRecord
        For i = 1 To tong
            .DataSource.ActiveRecord = i
            ten = Trim(.DataSource.DataFields("So_bien_ban").Value)
            If ten = "" Then ten = "ban-ghi-" & i
            For Each kyTu In Array("/", "\", ":", "*", "?", """", "<", ">", "|")
                ten = Replace(ten, kyTu, "-")
            Next kyTu
            .DataSource.FirstRecord = i
            .DataSource.LastRecord = i
            .Execute Pause:=False
            Set kq = ActiveDocument
            kq.SaveAs2 FileName:=thuMuc & ten & ".docx", FileFormat:=wdFormatXMLDocument
            kq.Close SaveChanges:=wdDoNotSaveChanges
        Next i
    End With
    MsgBox "Da luu " & tong & " file vao " & thuMuc, vbInformation
End Sub

Muốn ra PDF, đổi dòng SaveAs2 thành kq.SaveAs2 FileName:=thuMuc & ten & ".pdf", FileFormat:=wdFormatPDF. Hai dòng Excel cùng số biên bản sẽ ghi đè lên nhau, nên kiểm tra cột So_bien_ban không trùng trước khi chạy. Chạy thử với bản sao thư mục trước.

Giao việc cho AI viết script

Nếu mẫu công ty phức tạp hơn (nhiều bảng, nhiều phụ lục), có thể giao cho AI viết một script Python đọc Excel, điền mẫu và lưu mỗi biên bản một file. Hướng dẫn trong bộ mẫu có sẵn câu giao việc cho Codex làm đúng việc này, kèm yêu cầu tự mở lại từng file để báo chỗ còn sót.

Lỗi hay gặp khi trộn thư và cách sửa

Hiện tượngNguyên nhânCách sửa
Ngày ra 10/5/2026 hoặc số 46300Cột ngày là ngày thật, Word dùng định dạng mặc địnhĐổi cột sang Text, hoặc thêm switch \@ "dd/MM/yyyy"
Số ra 12.300000001, mất phân cách nghìnWord lấy giá trị gốc, bỏ định dạng ExcelSwitch \#, hoặc cột phụ dùng hàm TEXT
Ô có dữ liệu trong Excel nhưng trộn ra trốngCột trộn lẫn số và chữ, Word đoán kiểu theo các dòng đầu và bỏ giá trị khác kiểuĐịnh dạng cả cột là Text rồi nhập lại, hoặc gõ ' trước giá trị
Mất số 0 ở đầu (số điện thoại, mã hiệu)Excel lưu thành sốĐịnh dạng Text trước khi nhập
Ra thêm biên bản trốngCó dòng trống xen giữa hoặc cuối vùng dữ liệuXóa hẳn các dòng trống trong Excel, hoặc bỏ tích trong Edit Recipient List
Hiện { MERGEFIELD … } thay vì dữ liệuĐang bật hiện mã trườngNhấn Alt+F9
Chữ «Ten_cot» không đổi khi PreviewChữ được gõ tay, không phải trường thậtXóa, chèn lại bằng Insert Merge Field
Mở lại mẫu, Word hỏi lệnh SQL rồi báo không tìm thấy dữ liệuFile Excel đã đổi tên hoặc chuyển thư mụcChọn Yes, rồi Select Recipients chọn lại file
Nội dung dài làm biên bản tràn trangMột ô Excel quá dàiRút gọn ô, chuyển phần dài (bảng kết quả thí nghiệm) thành phụ lục

Câu hỏi thường gặp

Mail merge trong Word là gì?

Mail merge (trộn thư) là chức năng trên thẻ Mailings của Word, lấy từng dòng trong một bảng dữ liệu như Excel điền vào các trường của một văn bản mẫu. Mỗi dòng dữ liệu tạo ra một văn bản, nên in được hàng loạt thư, phiếu hay biên bản chỉ khác nhau vài thông tin.

Vì sao ngày tháng bị đảo khi trộn thư từ Excel?

Word đọc giá trị ngày gốc trong Excel và hiển thị theo kiểu tháng/ngày/năm. Cách sửa: định dạng cột ngày là Text trong Excel trước khi nhập, hoặc thêm switch \@ "dd/MM/yyyy" vào trường trộn (MM viết hoa là tháng).

Làm sao lưu mỗi biên bản trộn thư thành một file riêng?

Word không có sẵn nút này. Với vài biên bản, dùng Finish & Merge, Edit Individual Documents, chọn From và To cùng một số rồi lưu từng file. Với nhiều biên bản, dùng macro VBA trộn từng dòng và lưu file theo cột số biên bản, hoặc nhờ AI viết script làm việc đó.

Trộn thư có điền được bảng nhiều dòng trong một biên bản không?

Trộn thư kiểu Letters lấy một dòng Excel cho một văn bản, nên không điền trực tiếp được một bảng chi tiết nhiều dòng như bảng khối lượng trong cùng một biên bản. Nên để bảng chi tiết thành phụ lục riêng, hoặc dùng script, AI để điền bảng.

Muốn AI làm cả bộ hồ sơ Word theo mẫu công ty bạn?

Khóa AI ứng dụng cho kỹ sư xây dựng: 6 buổi Zoom, học phí trọn khóa 3.000.000đ.

Buổi 3 dành cho Word: đưa file mẫu và số liệu, AI soạn và chuẩn hóa biên bản, công văn, phụ lục, thuyết minh; căn lề, style, mục lục, header/footer. Bạn dựng trợ lý AI riêng với Codex CLI trên máy chủ đứng tên mình, giao việc bằng tiếng Việt, các buổi khác làm Excel và AutoCAD. Codex cần tài khoản ChatGPT Plus; AULISP tài trợ tháng đầu. Kết quả AI làm vẫn cần kỹ sư đọc lại trước khi ký.