Chia sẻ
"Bộ 4 hàm sắp xếp dữ liệu mới trong Excel 365: HSTACK ghép ngang, VSTACK ghép dọc, TOROW phẳng hóa thành hàng, TOCOL phẳng hóa thành cột. Cú pháp, ví dụ và kỹ thuật kết hợp."
HSTACK, VSTACK, TOROW, TOCOL — bộ 4 hàm sắp xếp dữ liệu mới trong Excel 365. Ghép nhiều mảng thành bảng, chuyển cột thành hàng, phẳng hóa ma trận. Bài viết hướng dẫn cú pháp, ví dụ thực tế, và kỹ thuật kết hợp nâng cao.
Tại Sao Cần Bộ 4 Hàm Xếp Lại Dữ Liệu?
Trước Excel 365, việc ghép nhiều bảng hoặc chuyển đổi dữ liệu từ hàng sang cột (và ngược lại) đòi hỏi VBA hoặc công thức phức tạp. Bộ 4 hàm mới giải quyết vấn đề này:
HSTACK: Ghép mảng theo chiều ngang (cạnh nhau).
VSTACK: Ghép mảng theo chiều dọc (chồng lên nhau).
TOROW: Phẳng hóa mảng 2D thành 1 hàng.
TOCOL: Phẳng hóa mảng 2D thành 1 cột.
HSTACK — Ghép Mảng Theo Chiều Ngang
Cú pháp
=HSTACK(array1, [array2], [array3], ...)
// Ghép tối đa 254 mảng theo chiều ngang
// Nếu mảng có số hàng khác nhau → ô thiếu tự điền #N/AVí dụ 1: Ghép 2 bảng cạnh nhau
// A1:B5 = Thông tin NV (Tên, Mã)
// D1:E5 = KPI (Doanh thu, Rating)
=HSTACK(A1:B5, D1:E5)
// → Bảng 4 cột: Tên | Mã | Doanh thu | RatingVí dụ 2: Thêm cột tính toán vào bảng
// Thêm cột xếp hạng vào bên phải bảng dữ liệu:
=HSTACK(
A1:C10,
RANK(C1:C10, C1:C10)
)
// → Bảng gốc + cột xếp hạngVí dụ 3: Ghép header thủ công
=HSTACK({"Tên","Tuổi","Phòng ban"}, {"Lương"})
// → 1 hàng header gồm 4 cộtVSTACK — Ghép Mảng Theo Chiều Dọc
Cú pháp
=VSTACK(array1, [array2], [array3], ...)
// Xếp chồng mảng theo chiều dọc
// Nếu mảng có số cột khác nhau → ô thiếu tự điền #N/AVí dụ 1: Gộp danh sách từ nhiều sheet
// Gộp danh sách nhân viên từ 3 phòng ban:
=VSTACK(Sheet1!A2:C20, Sheet2!A2:C15, Sheet3!A2:C10)
// → 1 bảng chứa tất cả nhân viênVí dụ 2: Thêm header vào kết quả
=VSTACK(
{"Tên", "Phòng ban", "Lương"},
FILTER(A2:C100, B2:B100="IT")
)
// → Header + dữ liệu đã lọcVí dụ 3: Tạo mảng lookup từ nhiều nguồn
// Kết hợp VSTACK + XLOOKUP:
=XLOOKUP(
G2,
VSTACK(Sheet1!A:A, Sheet2!A:A),
VSTACK(Sheet1!B:B, Sheet2!B:B)
)
// Tra cứu xuyên nhiều bảngTOROW — Phẳng Hóa Thành 1 Hàng
Cú pháp
=TOROW(array, [ignore], [scan_by_column])
ignore: 0=giữ tất cả, 1=bỏ blank, 2=bỏ error, 3=bỏ cả hai
scan_by_column: FALSE=scan theo hàng (mặc định), TRUE=scan theo cộtVí dụ
// Ma trận 3×3:
// 1 2 3
// 4 5 6
// 7 8 9
=TOROW(A1:C3)
// → 1 2 3 4 5 6 7 8 9 (scan theo hàng)
=TOROW(A1:C3, , TRUE)
// → 1 4 7 2 5 8 3 6 9 (scan theo cột)
// Bỏ ô trống:
=TOROW(A1:C3, 1)
// → Chỉ giữ giá trị có dữ liệuTOCOL — Phẳng Hóa Thành 1 Cột
Cú pháp
=TOCOL(array, [ignore], [scan_by_column])
// Giống TOROW nhưng kết quả xếp thành cột thay vì hàngVí dụ thực tế
// Bảng điểm 5 học sinh × 3 môn → Danh sách tất cả điểm:
=TOCOL(B2:D6)
// → 15 giá trị xếp thành 1 cột
// Loại bỏ ô trống + lỗi:
=TOCOL(B2:D6, 3)
// → Chỉ giữ giá trị hợp lệ
// Ứng dụng: Đếm giá trị duy nhất trong bảng 2D:
=ROWS(UNIQUE(TOCOL(B2:D6, 1)))Kỹ Thuật Kết Hợp Nâng Cao
1. VSTACK + HSTACK: Tạo bảng từ đầu
=VSTACK(
HSTACK("Tên", "Tuổi", "Điểm"),
HSTACK("An", 22, 8.5),
HSTACK("Bình", 24, 9.0),
HSTACK("Chi", 21, 7.5)
)
// → Bảng 3 cột × 4 hàng (gồm header)2. TOCOL + UNIQUE + SORT: Giá trị duy nhất từ bảng
=SORT(UNIQUE(TOCOL(A1:E10, 1)))
// Phẳng hóa → loại bỏ trùng → sắp xếp
// Kết quả: danh sách giá trị duy nhất từ toàn bộ bảng 2D3. VSTACK + FILTER: Gộp + Lọc đa sheet
=LET(
all_data, VSTACK(Sheet1!A2:D50, Sheet2!A2:D50, Sheet3!A2:D50),
col_B, INDEX(all_data, , 2),
FILTER(all_data, col_B = "IT")
)
// Gộp data từ 3 sheet → lọc phòng ITBảng Tóm Tắt 4 Hàm
Hàm | Chức năng | Input | Output |
|---|---|---|---|
HSTACK | Ghép ngang | Nhiều mảng | Bảng rộng hơn |
VSTACK | Ghép dọc | Nhiều mảng | Bảng dài hơn |
TOROW | Phẳng hóa → hàng | Mảng 2D | 1 hàng |
TOCOL | Phẳng hóa → cột | Mảng 2D | 1 cột |
Câu Hỏi Thường Gặp (FAQ)
Nếu 2 mảng VSTACK có số cột khác nhau thì sao?
Excel tự thêm ô #N/A cho mảng ít cột hơn. Dùng IFERROR để thay #N/A bằng giá trị mong muốn: =IFERROR(VSTACK(A1:B5, D1:E10), "").
TOROW và TOCOL scan theo hàng hay theo cột?
Mặc định scan theo hàng (đọc hết hàng 1 rồi sang hàng 2). Đặt scan_by_column = TRUE để đọc theo cột (đọc hết cột A rồi sang cột B).
Có thể dùng trên Excel 2019 không?
Không. HSTACK, VSTACK, TOROW, TOCOL chỉ có trên Excel 365 (Microsoft 365). Trên Excel 2019 trở xuống, phải dùng kết hợp INDEX, INDIRECT, hoặc VBA.
Tổng Kết
HSTACK và VSTACK giải quyết bài toán ghép mảng — ngang và dọc. TOROW và TOCOL xử lý bài toán phẳng hóa — biến bảng 2D thành 1D. Kết hợp 4 hàm này với FILTER, UNIQUE, SORT, LET tạo nên pipeline xử lý dữ liệu mạnh mẽ mà không cần VBA hay Power Query.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
