Menu

Xử lý dữ liệu dạng bảng lồng nhau (Nested Tables) trong Excel với Power Query

Tráng Phát Lành 14/06/2026 15:58 594 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình làm việc với nhiều file báo cáo từ hệ thống khác về, và thường xuyên gặp phải dạng dữ liệu khá 'khó chịu': các bảng dữ liệu được lồng vào nhau trong một ô duy nhất. Ví dụ, trong một ô có thể chứa cả danh sách sản phẩm kèm số lượng, hoặc thông tin chi tiết của một đơn hàng. Excel mặc định không xử lý được dạng này, rất bất tiện cho việc phân tích.

Sau một hồi loay hoay, mình tìm ra cách xử lý khá hiệu quả bằng Power Query. Hôm nay chia sẻ lại cho anh em nào đang gặp tình huống tương tự.

Tình huống:

  • Dữ liệu nguồn có một cột chứa các bảng Excel khác (hoặc text mô phỏng dạng bảng).
  • Cần tách các bảng lồng nhau này ra thành các hàng riêng biệt để dễ dàng phân tích.

Cách làm với Power Query:

  1. Đưa dữ liệu vào Power Query (Data > From Table/Range).
  2. Chọn cột chứa dữ liệu dạng bảng lồng nhau.
  3. Vào tab Add Column > Custom Column.
  4. Trong ô Formula, nhập tên cột mới (ví dụ: ExtractedTable) và công thức sau (giả sử cột chứa dữ liệu lồng là NestedData):
if Text.Contains([NestedData], "[Table]") then Table.FromText([NestedData], [Delimiter = ",", Columns = 2, Encoding = 65001]) else null

Lưu ý: Công thức này cần điều chỉnh tùy thuộc vào cấu trúc và ký tự phân cách trong dữ liệu lồng của bạn. Ví dụ trên giả định dữ liệu lồng là text, phân cách bằng dấu phẩy và có 2 cột. Nếu là bảng thực sự thì cách làm sẽ khác chút.

Sau đó, bạn sẽ thấy xuất hiện các bảng mới trong cột ExtractedTable. Tiếp tục nhấp vào biểu tượng mũi tên đôi ở tiêu đề cột này để Expand (mở rộng) dữ liệu ra các hàng.

Cách này tuy hơi thủ công lúc đầu thiết lập, nhưng khi có dữ liệu mới, chỉ cần refresh là Power Query tự động xử lý hết. Tiết kiệm được rất nhiều thời gian so với làm tay.

Có anh em nào có cách nào khác hay hơn không, chia sẻ thêm cho mọi người học hỏi nhé!

2

Cái này đúng là đau đầu thật! Mình cũng từng gặp tình trạng tương tự khi tải báo cáo về. Power Query đúng là cứu cánh cho mấy bài toán này.

Bạn có thể chia sẻ cụ thể hơn về cách bạn "unwrap" (mở lồng) các bảng lồng nhau đó không? Ví dụ, nếu dữ liệu lồng là dạng Text thì bạn xử lý thế nào, hay nếu nó là Table Object thì mình dùng chức năng nào của Power Query để tách ra?

Rất mong được học hỏi thêm!

0

Đúng là dạng dữ liệu này gây nhiều khó khăn thật. Mình cũng từng mất kha khá thời gian để xử lý chúng. Power Query đúng là "vũ khí bí mật" cho những bài toán thế này.

Bạn có thể chia sẻ thêm về cách bạn đã "giải nén" các bảng lồng nhau đó không? Ví dụ, nếu dữ liệu lồng là dạng text thì bạn dùng hàm nào của Power Query để chuyển đổi, hay nếu nó là Table Object thì mình áp dụng chức năng nào để tách ra ạ?

Rất mong được học hỏi thêm kinh nghiệm từ bạn!

0

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

Đăng nhập Đăng ký