HLOOKUP: tra cứu theo hàng ngang, khi dữ liệu không nằm dọc theo cột
Chia sẻ
"HLOOKUP là bản song sinh nằm ngang của VLOOKUP — tìm giá trị trên hàng đầu tiên của bảng, rồi lấy kết quả từ một hàng bên dưới thay vì một cột bên phải. Ít dùng hơn hẳn VLOOKUP vì bảng dữ liệu thường xếp dọc, nhưng vẫn cần thiết khi dữ liệu vốn đã nằm ngang."
VLOOKUP tìm giá trị trong cột đầu tiên của một bảng, rồi lấy kết quả từ một cột bên phải. HLOOKUP làm đúng việc tương tự nhưng xoay ngang 90 độ: tìm trong hàng đầu tiên, lấy kết quả từ một hàng bên dưới.
Công thức trong bài dùng dấu phẩy (,); đổi sang dấu chấm phẩy (;) nếu Excel của bạn cấu hình theo vùng miền khác.
Cú pháp
=HLOOKUP(gia_tri_tim, bang, so_hang, [phai_khop_chinh_xac])
so_hang đếm từ hàng đầu tiên của bang là hàng 1 — khác hẳn VLOOKUP đếm theo cột. phai_khop_chinh_xac hoạt động y hệt VLOOKUP: FALSE (hoặc 0) để tìm khớp chính xác, gần như luôn nên dùng giá trị này trừ khi tra cứu theo khoảng.
Vì sao HLOOKUP ít gặp hơn hẳn VLOOKUP
Đa số dữ liệu thực tế xếp theo chiều dọc — mỗi dòng một bản ghi, càng nhiều bản ghi thì càng kéo dài xuống dưới, rất tự nhiên với cách người dùng nhập liệu. HLOOKUP chỉ thực sự cần khi bảng tra cứu vốn đã có sẵn dạng ngang, ví dụ bảng biểu thuế hay bảng đơn giá xếp các mức theo cột ngang thay vì dòng dọc:
=HLOOKUP(MucLuong,BangThue,2,TRUE)
Bảng tra cứu ở đây có hàng đầu tiên là các ngưỡng lương, hàng thứ 2 bên dưới là tỷ lệ thuế tương ứng — HLOOKUP tìm đúng ngưỡng khớp với MucLuong trên hàng đầu, rồi lấy kết quả từ hàng 2.
Giới hạn giống hệt VLOOKUP: chỉ tìm được ở hàng đầu tiên
=HLOOKUP(TenSanPham,Bang,3,FALSE)
Y hệt giới hạn nổi tiếng của VLOOKUP chỉ tìm được ở cột đầu tiên bên trái, HLOOKUP cũng chỉ tìm được ở hàng đầu tiên phía trên của bảng. Nếu giá trị cần tra nằm ở một hàng khác — không phải hàng trên cùng — HLOOKUP không có cách nào tìm ra, phải dùng INDEX/MATCH (xem bài INDEX/MATCH) để tra theo bất kỳ hàng nào, không bị ràng buộc phải là hàng trên cùng.
Ứng dụng: bảng chi phí theo quý xếp ngang
Một số báo cáo tài chính trình bày các quý theo cột ngang (Q1, Q2, Q3, Q4 nằm cùng một hàng) để tiện so sánh cạnh nhau. Tra cứu chi phí của một khoản mục ở đúng quý cần xem:
=HLOOKUP("Q3",BangChiPhi,5,FALSE)
Tìm cột "Q3" trên hàng tiêu đề, rồi lấy giá trị ở hàng 5 bên dưới — đúng dòng chứa khoản mục chi phí đang cần xem.
Cân nhắc: có cần xoay lại bảng thay vì dùng HLOOKUP không
Nếu bảng vốn được nhập ngang chỉ vì thói quen, nhưng sau này cần tra cứu thường xuyên, đôi khi xoay lại bảng cho đúng chiều dọc (bằng TRANSPOSE) rồi dùng VLOOKUP quen thuộc lại dễ bảo trì hơn là giữ nguyên bảng ngang và nhớ dùng đúng HLOOKUP mỗi lần — nhất là khi làm việc nhóm, phần lớn người dùng quen VLOOKUP hơn hẳn HLOOKUP.

Tổng kết
HLOOKUP là bản song sinh nằm ngang của VLOOKUP — tìm trên hàng đầu tiên, lấy kết quả từ một hàng bên dưới theo số thứ tự hàng. Ít gặp hơn hẳn VLOOKUP vì dữ liệu thường xếp dọc, nhưng vẫn cần thiết khi bảng tra cứu vốn đã có sẵn dạng ngang, và mang chung giới hạn "chỉ tìm được ở hàng trên cùng" như VLOOKUP chỉ tìm được ở cột bên trái.
Đọc tiếp trong cùng cụm bài: TRANSPOSE — hoán đổi hàng thành cột, cột thành hàng chỉ với một công thức.
Mục lục
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
GETPIVOTDATA: công thức Excel tự chèn khi bấm vào một ô trong Pivot Table
GETPIVOTDATA lấy một giá trị tổng hợp từ Pivot Table theo tên trường thay vì theo địa chỉ ô — công thức dài hơn hẳn một tham chiếu $B$5 thông thường, nhưng không bị lệch khi bố cục Pivot Table thay đổi.
TRANSPOSE: hoán đổi hàng thành cột, cột thành hàng chỉ với một công thức
TRANSPOSE xoay một bảng dữ liệu 90 độ — hàng thành cột, cột thành hàng — chỉ với một công thức duy nhất. Trên Excel 365 kết quả tự trải ra như một mảng động; trên bản cũ hơn phải chọn đúng vùng kích thước đã đảo trước khi nhấn Ctrl+Shift+Enter.
MINIFS: chiều ngược lại của MAXIFS, và hỗ trợ ký tự đại diện ít người để ý
MINIFS tìm giá trị nhỏ nhất trong một vùng có điều kiện, đối xứng với MAXIFS. Cả hai đều hỗ trợ ký tự đại diện * và ? trong điều kiện — một khả năng MIN/MAX gốc không hề có.
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.