Hàm OFFSET cũng trả về tham chiếu tương tự như INDIRECT, trong phần này chúng ta sẽ tìm hiểu về hàm Offset, cách kết hợp Offset với Match trong Data Validation để tạo liên kết danh sách List động.
Ở bài trước chúng ta đã học cách tạo drop-down list có giá trị phụ thuộc một list khác bằng INDIRECT trong Data Validation, trong bài này chúng ta có một lựa chọn khác để tạo liên kết List động trong Excel bằng hàm OFFSET thay cho hàm INDIRECT.
Trước tiên chúng ta hãy tìm hiểu về cách sử dụng hàm OFFSET
có thể bạn muốn xem: |
Lưu ý: Để thực hiện theo hướng dẫn bài viết các bạn có thể tải file mẫu TẠI ĐÂY
1. Cách sử dụng hàm OFFSET trong Excel
Hàm Offset có công dụng: Trả về tham chiếu đến một vùng nào đó, cách một ô hoặc một dãy ô một khoảng cách với số dòng hoặc số cột được chỉ định trước. Chúng ta có thể chỉ định số dòng, số cột của vùng tham chiếu trả về.
Cú pháp (syntax): =OFFSET(reference, rows, cols, height, width)
Trong đó:
Lưu ý:
Vì Offset chỉ trả về tham chiếu nên chúng ta có thể sử dụng Offset với bất kỳ hàm nào cần đối số là một tham chiếu, dưới đây là một số ví dụ offset kết hợp với các hàm Sum, Match, Index, . . .
- Ví dụ cách dùng hàm OFFSET
Trong hình trên, OFFSET bắt đầu từ địa chỉ ô A3, di chuyển xuống dưới 2 dòng, sang phải 1 cột trả về giá trị trong ô B5
- Sử dụng OFFSET kết hợp hàm SUM
trong hình trên hàm OFFSET bắt đầu từ địa chỉ ô A3 di chuyển xuống 1 dòng, sang phải 2 cột, độ cao vùng dữ liệu (số dòng) là 6, số cột là 1, hàm SUM sẽ tính tổng vùng dữ liệu của OFFSET, kết quả là tổng của vùng dữ liệu từ C4:C9
2. Kết hợp OFFSET trong Data validation để tạo List động
Sau khi đã hiểu rõ cách sử dụng hàm OFFSET, bây giờ chúng ta sẽ sử dụng OFFSET thay cho INDIRECT trong Data validation để tạo List động trong Excel.
Ví dụ cho bảng danh sách 1 loạt hãng xe và loại xe như sau
Trường hợp hãng xe chưa sắp xếp các bạn hãy sắp xếp lại theo hãng (chức năng data -> sort), với bảng dữ liệu trên giờ yêu cầu chúng ta tạo danh sách LIST động, tức là chọn hãng xe nào thì mục loại xe sẽ hiển thị dòng xe của hãng đó.
Bước 1: Các bạn copy cột hãng xe sang 1 sheet khác và sử dụng chức năng Data -> Remove Duplicates để khử các dữ liệu trùng nhau, kết quả ta thu được tên từng hãng là duy nhất. Quét chọn vùng dữ liệu hãng xe, trong vùng Name box đặt tên là tenhangxe như hướng dẫn sau:
Bước 2: để chuột ở ô E4 chọn thẻ Data -> Data validation, trong thẻ settings, mục Allow chọn List, mục Fomular nhập:=tenhangxe.
Sau bước 2, Hãng xe đã có dạng danh sách.
Bước 3: Chọn ô F4 trong thẻ Data chọn Data validation, trong thẻ settings mục Allow chọn List, mục Fomular nhập công thức như sau: =OFFSET($A$3,MATCH(E4,$A:$A,0)-3,1,COUNTIF($A:$A,E4),1)
và nhấn OK, như hướng dẫn ở hình sau:
Giải thích hàm: =OFFSET($A$3,MATCH(E4,$A:$A,0)-3,1,COUNTIF($A:$A,E4),1)
Reference: điểm bắt đầu với tham chiếu là ô A3.
Rows: Sử dụng hàm MATCH để tìm vị trí dòng đầu tiên của tên hãng xe (ô E4) trong danh sách hãng xe ở cột A của sheet, trừ đi 3 cho 2 ô trống A1,A2 và tiêu đề A3.
Cols: Nhập giá trị là "1" để di chuyển qua bên phải 1 cột (trong ví dụ là cột B).
Height: Sử dụng COUNTIF để đếm số lần xuất hiện của tên hãng xe ở cột A, ví dụ như hãng Mercedes trả về 12, tức là vùng dữ liệu sẽ có chiều cao là 12 dòng.
Width: Vùng dữ liệu rộng 1 cột (cột B)
Sau thao tác này ta được kết quả như sau:
Kết thúc bước 3, ta đã hoàn thành việc tạo danh sách LIST động sử dụng OFFSET trong Data validation và thu được kết quả như hình trên. Đây sẽ là một lựa chọn khác để tạo danh sách động ngoài cách sử dụng INDIRECT trong Data validation. Thực tế, nếu dữ liệu lớn thì việc sử dụng indirect để tạo list trong data validation sẽ tốt hơn cho việc xử lý dữ liệu.
Mời bạn xem video hướng dẫn chi tiết cách sử dụng OFFSET trong Data validation để tạo liên kết danh sách, LIST động trong Excel.
Hy vọng với bài viết về cách sử dụng OFFSET và Data Validation để tạo liên kết List động trong Excel của Hay Học Hỏi ở trên giúp ích cho các em. Mọi góp ý và thắc mắc các bạn hãy để lại nhận xét dưới bài viết để ghi nhận và hỗ trợ, chúc các bạn thành công.