Menu

Tự động hóa việc chuẩn hóa tên tỉnh/thành phố trong Power Query

Kha Thế Nghĩa 11/06/2026 03:47 368 lượt xem 2 trả lời

Chào các bác, hôm nay em lại lên đây nhờ các cao nhân chỉ giáo một chút ạ. Em đang làm báo cáo tổng hợp dữ liệu từ nhiều nguồn, mà khổ nỗi cái cột tỉnh/thành phố nó cứ loạn xạ lên. Nào là 'Hà Nội', 'TP. Hà Nội', 'Hà Nội City', rồi 'Hồ Chí Minh', 'TP. Hồ Chí Minh', 'Sài Gòn'... nhìn mà đau đầu.

Em đã thử dùng VLOOKUP với một bảng chuẩn hóa, nhưng dữ liệu nguồn thì thay đổi liên tục, mà số lượng tỉnh/thành phố thì cũng kha khá, làm bảng tra cứu mệt quá.

Liệu có cách nào dùng Power Query để tự động chuẩn hóa cái cột này không ạ? Em muốn nó có thể xử lý được các trường hợp như:

  • Thêm/bớt 'TP.', 'Tỉnh', 'Thành phố', 'City'
  • Xử lý các tên viết tắt (VD: 'HCM' thành 'Hồ Chí Minh')
  • Loại bỏ các ký tự thừa (VD: dấu chấm, dấu phẩy không cần thiết)

Em có thử tìm hiểu về hàm Text.Clean nhưng chưa thấy hiệu quả lắm. Có bác nào có kinh nghiệm xử lý vụ này bằng Power Query không ạ? Chia sẻ cho em xin ít kinh nghiệm hoặc hướng dẫn chi tiết với ạ. Em xin cám ơn!

5

Cái vụ chuẩn hóa tên tỉnh/thành phố này đúng là nhức đầu thật bác ạ! Mình cũng từng bị tình trạng tương tự khi tổng hợp dữ liệu từ nhiều nguồn khác nhau.

Nếu bác đã dùng VLOOKUP mà thấy mệt rồi, thì Power Query đúng là cứu cánh đấy. Thay vì dùng bảng tra cứu, mình có thể tận dụng các tính năng của PQ để xử lý gọn gàng hơn.

Bác đã nghĩ đến việc tạo một danh sách các biến thể tên chưa? Ví dụ: "Hà Nội", "TP. Hà Nội", "Hà Nội City" đều quy về một chuẩn là "Hà Nội". Sau đó dùng chức năng "Merge Queries" hoặc "Append Queries" để kết hợp với danh sách chuẩn và làm sạch.

Hoặc một cách khác là dùng tính năng "Group By" sau khi chuẩn hóa một phần tên, rồi dùng hàm Text.Replace để thay thế các biến thể.

Bác có thể chia sẻ chi tiết hơn về các biến thể tên mà bác đang gặp phải không? Để mọi người cùng tìm ra giải pháp tối ưu nhất!

1

Hay quá bác ơi! Cái vụ chuẩn hóa tên tỉnh/thành phố này đúng là nhức đầu thật đấy. Mình cũng từng vật lộn với nó rồi.

Bác đã nghĩ đến việc dùng Conditional Column để gán mã chuẩn cho từng biến thể tên chưa? Ví dụ, nếu cột tên tỉnh là "TP. Hà Nội" thì gán mã "HN", "Hà Nội City" cũng gán "HN", rồi gán mã tương ứng cho các tỉnh khác. Sau đó mình chỉ cần lọc theo mã này thôi.

Hoặc một cách khác, nếu các biến thể tên không quá phức tạp, mình có thể dùng Replace Values để thay thế từng loạt tên. Ví dụ, thay "TP. " bằng trống, rồi thay " City" bằng trống. Cái này làm thủ công ban đầu nhưng sau đó PQ sẽ tự động chạy.

Bác thử chia sẻ thêm ví dụ về các biến thể tên mà bác đang gặp phải xem sao? Biết đâu có thể tối ưu thêm nữa!

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký