Menu

Biến đổi dữ liệu 'dạng bảng' thành dạng 'chuỗi' dễ dàng với Power Query

Biện Hoàng Nga 03/06/2026 08:53 366 lượt xem 1 trả lời

Chào mọi người,

Dạo này mình hay làm việc với dữ liệu mà sếp gửi về, mà toàn ở dạng 'bảng' lộn xộn. Ví dụ như thế này:

Tên sản phẩm | Số lượng | Đơn giá
--------------------------------------
Sữa tươi   | 10       | 25.000
Bánh mì    | 20       | 5.000
Trái cây   | 5        | 50.000

Cái khó là đôi khi mình cần ghép các thông tin này lại thành một chuỗi duy nhất để đưa vào báo cáo hoặc gửi đi. Ví dụ: "Sữa tươi - 10 - 25.000; Bánh mì - 20 - 5.000; Trái cây - 5 - 50.000".

Hồi trước mình cứ phải ngồi copy-paste rồi dùng hàm CONCATENATE hoặc ký tự '&' để nối, mất cả buổi. Nhưng gần đây mình khám phá ra cách dùng Power Query để làm việc này siêu nhanh và hiệu quả.

Cách làm như sau:

  1. Chọn vùng dữ liệu, vào tab Data -> From Table/Range.
  2. Trong cửa sổ Power Query Editor, chọn các cột bạn muốn nối (ví dụ: Tên sản phẩm, Số lượng, Đơn giá).
  3. Vào tab Add Column -> Custom Column.
  4. Trong ô Formula, nhập công thức nối chuỗi. Ví dụ, để nối 3 cột với dấu " - " ở giữa và dấu "; " giữa các dòng, bạn nhập:
    Text.Combine({[Tên sản phẩm], Text.From([Số lượng]), Text.From([Đơn giá])}, " - ")
    Lưu ý: Cần ép kiểu số sang Text bằng Text.From().
  5. Sau đó, bạn có thể chọn cột tùy chỉnh vừa tạo, chuột phải -> Drill Down để lấy ra giá trị dạng chuỗi, hoặc copy nó ra.
    Hoặc bạn có thể chọn các cột ban đầu, chuột phải -> Remove Columns, rồi vào tab Home -> Close & Load To... để đưa kết quả ra Excel.
    Nếu muốn nối các dòng thành một chuỗi duy nhất, bạn có thể dùng chức năng Group By sau khi tạo cột tùy chỉnh, rồi dùng hàm Text.Combine trên cột tùy chỉnh đó với dấu phân cách là "; ".

Cách này thực sự tiết kiệm thời gian đáng kể, đặc biệt với các file lớn. Ai hay gặp tình huống tương tự thì thử áp dụng xem sao nhé!

2

Hay quá bạn ơi! Mình cũng hay gặp tình huống tương tự. Dùng Power Query để "unpivot" dữ liệu rồi nối chuỗi đúng là giải pháp gọn gàng thật.

Mình có một ý nhỏ thế này, không biết có phù hợp không: Sau khi Power Query trả về chuỗi mong muốn, nếu cần xử lý thêm (ví dụ phân tách chuỗi này ra lại ở một sheet khác), mình có thể dùng hàm TEXTSPLIT (cho các phiên bản Excel mới) hoặc kết hợp LEFT, RIGHT, MID với FIND để tách.

Bạn có thể chia sẻ thêm về cách bạn xử lý dữ liệu sau khi đã nối chuỗi bằng Power Query không? Rất tò mò muốn học hỏi thêm!

3

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

Đăng nhập Đăng ký