Hàm CONCAT trong Excel là công cụ mạnh mẽ để nối (gộp) hai hoặc nhiều chuỗi văn bản, ký tự hoặc giá trị từ các ô khác nhau thành một chuỗi duy nhất. Cú pháp cơ bản: =CONCAT(text1, text2, ...). Hàm này thay thế CONCATENATE trong các phiên bản Excel mới, linh hoạt hơn và cho phép nối cả dải ô. Ví dụ: =CONCAT(A2, " ", B2) sẽ nối nội dung ô A2 với B2, ngăn cách bởi khoảng trắng. Lưu ý quan trọng: cần thêm dấu phân cách thủ công bằng dấu ngoặc kép. Để tự động thêm dấu phân cách hoặc bỏ qua ô trống, nên sử dụng hàm TEXTJOIN hiệu quả hơn.
Hàm CONCAT giúp nối nhiều chuỗi văn bản thành một chuỗi duy nhất mà không cần viết công thức dài dòng như CONCATENATE. Tôi phát hiện ra sức mạnh của nó khi phải xử lý hàng nghìn dòng dữ liệu khách hàng và cần ghép họ tên, địa chỉ thành format chuẩn.
Điều làm tôi ấn tượng nhất về CONCAT là khả năng xử lý cả dải ô một lúc. Thay vì phải tham chiếu từng ô riêng lẻ như =A1&B1&C1, tôi chỉ cần viết =CONCAT(A1:C1) và Excel tự động nối hết. Đây chính là lý do tôi chuyển từ CONCATENATE sang CONCAT từ năm 2019.
Cú Pháp Cơ Bản Của Hàm CONCAT
Cú pháp của CONCAT đơn giản hơn nhiều so với CONCATENATE:
=CONCAT(text1, [text2], …)
Trong đó:
- text1: Chuỗi văn bản đầu tiên (bắt buộc)
- text2, text3…: Các chuỗi văn bản tiếp theo (tùy chọn)
Điểm khác biệt lớn nhất? CONCAT chấp nhận dải ô làm tham số. Tôi có thể viết =CONCAT(A1:E1) để nối tất cả ô từ A1 đến E1, thay vì phải liệt kê từng ô.
Ví Dụ Thực Tế Tôi Hay Dùng Nhất
Ghép Họ Tên Từ Các Cột Riêng Biệt
Khi nhận file Excel từ phòng HR với họ và tên ở hai cột riêng:
=CONCAT(B2, ” “, C2)
Ô B2 chứa “Nguyễn”, C2 chứa “Văn An” → Kết quả: “Nguyễn Văn An”
Tôi luôn nhớ thêm " " (khoảng trắng) giữa các phần. Đây là sai lầm tôi mắc phải nhiều lần khi mới học – quên dấu cách khiến kết quả thành “NguyễnVănAn”.
Tạo Mã Sản Phẩm Tự Động
Trong dự án quản lý kho, tôi cần tạo mã sản phẩm theo format: Loại + Năm + Số thứ tự
=CONCAT(“SP”, YEAR(TODAY()), “-“, TEXT(D2, “000”))
Nếu D2 = 15 → Kết quả: “SP2024-015”
Hàm TEXT với format “000” giúp số thứ tự luôn có 3 chữ số, đảm bảo mã sản phẩm nhìn professional.
Nối Địa Chỉ Đầy Đủ
Thay vì viết công thức dài:
=A2&”, “&B2&”, “&C2&”, “&D2
Tôi dùng:
=CONCAT(A2, “, “, B2, “, “, C2, “, “, D2)
Rõ ràng và dễ đọc hơn nhiều, đặc biệt khi cần sửa đổi.
So Sánh CONCAT Với Các Hàm Khác
CONCAT vs CONCATENATE
| Đặc điểm | CONCAT | CONCATENATE |
|---|---|---|
| Phiên bản Excel | 2016 trở lên | Tất cả phiên bản |
| Dải ô | Hỗ trợ | Không hỗ trợ |
| Số tham số tối đa | 253 | 255 |
| Tốc độ | Nhanh hơn | Chậm hơn |
Tôi từng test với 1000 dòng dữ liệu: CONCAT nhanh hơn CONCATENATE khoảng 15-20%.
CONCAT vs TEXTJOIN
TEXTJOIN mạnh hơn khi cần:
- Tự động thêm dấu phân cách giống nhau cho tất cả
- Bỏ qua ô trống trong dải
Ví dụ: =TEXTJOIN(", ", TRUE, A2:E2) sẽ tự động thêm dấu phẩy giữa các ô và bỏ qua ô trống.
Nhưng CONCAT vẫn tốt hơn khi tôi cần kiểm soát chính xác từng phần của chuỗi kết quả.
Những Lỗi Thường Gặp Và Cách Khắc Phục
Quên Thêm Dấu Phân Cách
Lỗi: =CONCAT(A2, B2, C2) → “NguyễnVănAn”
Sửa: =CONCAT(A2, " ", B2, " ", C2) → “Nguyễn Văn An”
Xử Lý Ô Trống
CONCAT không tự động bỏ qua ô trống. Nếu B2 trống:
=CONCAT(A2, " ", B2, " ", C2) → “Nguyễn An” (hai khoảng trắng)
Giải pháp: Dùng IF để kiểm tra:
=CONCAT(A2, IF(B2<>“”, ” “&B2, “”), IF(C2<>“”, ” “&C2, “”))
Nối Số Với Định Dạng
Khi nối số, Excel có thể mất định dạng:
=CONCAT("Giá: ", D2) với D2 = 15000 → “Giá: 15000”
Để giữ định dạng tiền tệ:
=CONCAT(“Giá: “, TEXT(D2, “#,##0″) & ” VNĐ”)
→ “Giá: 15,000 VNĐ”
Kỹ Thuật Nâng Cao Tôi Hay Dùng
Nối Với Điều Kiện
Tạo thông báo tùy theo điều kiện:
=CONCAT(“Khách hàng “, A2, IF(B2>1000000, ” VIP”, ” thường”), ” – Doanh số: “, TEXT(B2, “#,##0”))
Tạo Query SQL Tự Động
Trong dự án database, tôi dùng CONCAT để tạo câu lệnh SQL:
=CONCAT(“UPDATE customers SET status=’active’ WHERE id=”, A2, “;”)
Nối Với Ngày Tháng
=CONCAT(“Báo cáo tháng “, TEXT(TODAY(), “mm/yyyy”), ” – “, A2)
Mẹo Tối Ưu Hiệu Suất
Sử Dụng Dải Ô Thông Minh
Thay vì:
=CONCAT(A2, B2, C2, D2, E2)
Dùng:
=CONCAT(A2:E2)
Ngắn gọn và ít lỗi syntax hơn.
Kết Hợp Với Named Range
Tôi tạo named range “CustomerInfo” cho A2:C2, sau đó:
=CONCAT(CustomerInfo)
Dễ nhớ và dễ maintain khi cần thay đổi.
Khi Nào Không Nên Dùng CONCAT
File Cần Tương Thích Với Excel Cũ
Nếu file phải mở được trên Excel 2013 trở xuống, tôi vẫn dùng CONCATENATE hoặc toán tử &.
Cần Dấu Phân Cách Phức Tạp
Khi cần logic phức tạp cho dấu phân cách, TEXTJOIN hoặc kết hợp nhiều hàm sẽ hiệu quả hơn.
Xử Lý Dữ Liệu Lớn
Với hàng chục nghìn dòng, tôi thường chuyển sang Power Query để xử lý nhanh hơn.
Sau 5 năm sử dụng, CONCAT đã giúp tôi tiết kiệm hàng trăm giờ xử lý dữ liệu. File báo cáo hàng tháng từ 3 tiếng thủ công giảm xuống còn 30 phút với CONCAT và các kỹ thuật tự động hóa. Điều quan trọng nhất? Luôn nhớ thêm dấu phân cách và test kỹ với dữ liệu mẫu trước khi áp dụng cho toàn bộ file.







