Menu

Biến đổi dữ liệu 'dạng danh sách' thành 'bảng' hiệu quả với Power Query

Liễu Thụy Huyền 03/06/2026 20:21 265 lượt xem 3 trả lời

Chào mọi người,

Dạo gần đây mình có làm việc với một số file Excel mà dữ liệu đầu vào được trình bày dưới dạng một danh sách dài, mỗi mục trên một dòng. Tuy nhiên, yêu cầu cuối cùng lại cần chuyển đổi nó sang dạng bảng để dễ dàng phân tích và tạo báo cáo. Mình đã thử nhiều cách nhưng khá mất thời gian.

Hôm nay, mình muốn chia sẻ một mẹo nhỏ với Power Query để giải quyết vấn đề này một cách cực kỳ hiệu quả. Cách này đặc biệt hữu ích khi bạn có một danh sách các mục, và mỗi mục cần được phân tách thành các cột khác nhau dựa trên một quy tắc hoặc ký tự phân tách.

Ví dụ, bạn có dữ liệu dạng:

Mã SP_Tên SP_Số lượng_Giá bán
SP001_Bút bi_100_5000
SP002_Vở học sinh_200_7000
...

Và bạn muốn chuyển nó thành:

Mã SP | Tên SP | Số lượng | Giá bán
SP001 | Bút bi | 100 | 5000
SP002 | Vở học sinh | 200 | 7000
...

Cách thực hiện với Power Query:

  • Đầu tiên, bạn cần đưa dữ liệu vào Power Query (Data > Get Data > From Other Sources > Blank Query hoặc From File nếu dữ liệu có sẵn).
  • Trong cửa sổ Power Query Editor, chọn cột chứa dữ liệu dạng danh sách.
  • Vào tab Transform, chọn Split Column > By Delimiter.
  • Chọn ký tự phân tách (ví dụ: dấu gạch dưới `_`).
  • Trong phần Advanced options, chọn Split into Rows nếu bạn muốn mỗi phần của chuỗi nằm trên một dòng riêng biệt, hoặc chọn Split into Columns để phân tách trực tiếp thành các cột. Tùy vào cấu trúc dữ liệu ban đầu mà bạn chọn phương án phù hợp.
  • Nếu bạn chọn Split into Rows, bạn sẽ cần một bước tiếp theo để Pivot Column dữ liệu đã tách thành dạng bảng mong muốn.

Cách này giúp tự động hóa quá trình, tiết kiệm rất nhiều thời gian so với việc làm thủ công, đặc biệt với các file dữ liệu lớn. Hy vọng chia sẻ này hữu ích cho mọi người!

3

Cảm ơn bạn đã chia sẻ mẹo hay về Power Query! Mình cũng hay gặp trường hợp dữ liệu "dạng danh sách" này, đúng là mất công xử lý thủ công khá mệt. Power Query đúng là "cứu cánh" cho những bài toán như vậy. Bạn có thể chia sẻ thêm một ví dụ cụ thể hơn về cách bạn "phân tách th..." (như bạn đề cập) để chuyển từ danh sách sang bảng không? Mình tò mò muốn biết cách bạn áp dụng chi tiết hơn.

0

Chào bạn,

Mình hoàn toàn đồng ý với bạn về sự hiệu quả của Power Query trong trường hợp này. Đúng là xử lý thủ công với dữ liệu dạng danh sách dài rất dễ phát sinh lỗi và tốn thời gian.

Về phần "phân tách th...", bạn có thể chia sẻ rõ hơn là các mục trong danh sách của bạn được phân tách bằng ký tự gì không? Ví dụ: dấu phẩy, dấu chấm phẩy, hay xuống dòng? Biết được điểm này sẽ giúp mình và mọi người hình dung rõ hơn cách bạn áp dụng các bước trong Power Query để tách và gom dữ liệu vào bảng.

4

Đúng là Power Query có sức mạnh ghê gớm với các bài toán chuyển đổi dữ liệu! Với kinh nghiệm của mình, nếu dữ liệu danh sách của bạn có một quy luật nhất định (ví dụ: các dòng cùng một loại thông tin sẽ đi liền nhau), bạn có thể thử dùng các tùy chọn Group By hoặc Pivot Column sau khi tách dòng. Đôi khi kết hợp thêm Unpivot Column cũng cho ra kết quả bất ngờ lắm.

Nhân tiện, bạn có thể cho biết cụ thể hơn về "mỗi mục trên một dòng" của bạn là như thế nào không? Ví dụ, một dòng có chứa nhiều thông tin cần tách ra, hay mỗi dòng chỉ là một mẩu tin riêng lẻ và bạn muốn gom chúng lại thành các cột?

1

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

Đăng nhập Đăng ký