Nay mình chia sẻ cho các bạn một công thức để lọc 1 danh sách có nhiều giá trị trùng nhau thành 1 danh sách duy nhất.
Đang xem: Hàm lấy giá trị duy nhất trong excel
Bình thường thì các bạn có thể sử dụng chức năng Advanced Filter để lọc 1 danh sách. Nhưng cách này thì danh sách của bạn phải là danh sách cuối cùng, không bổ sung hay chỉnh sửa giá trị gì nữa.
Vậy trong trường hợp danh sách của bạn luôn thay đổi và bạn cần update giá trị thì phải làm sao? Thì nay, mình chia sẻ các bạn cách sử dụng các hàm trong Excel để lấy ra được danh sách này.
Mình đặt giá trị $A$2:$A$10 = list để công thức ngắn gọn hơn nhé.
{=INDEX(list,MATCH(0,COUNTIF($C$1:C1,list),0))} |
Dấu { } ở 2 đầu công thức: để chỉ đây là công thức mảng (Array Formula).
Các bạn nhập công thức như bình thường và nhấn tổ hợp phím:
Và các bạn copy công thức xuống các ô bên dưới để hiển thị các giá trị tiếp theo. Các bạn có thể copy sẵn trước, khi nào có giá trị mới, thì sẽ tự động hiện ở đây.
Khi này sẽ có trường hợp các bạn gặp lỗi “#N/A”.
Xem thêm: Thủ Tục Thẩm Định, Phê Duyệt Đồ Án Quy Hoạch Xây Dựng Vùng, Các Đồ Án Quy Hoạch Xây Dựng Được Duyệt
Lý do: Không còn giá trị phù hợp với điều kiện này.
Giải quyết: Các bạn bổ sung thêm hàm IFERROR để khi có lỗi, giá trị hiển thị sẽ là giá trị rỗng.Công thức như sau:
{=IFERROR(INDEX(list,MATCH(0,COUNTIF($C$1:C1,list),0)),””)} |
Mình sẽ giải thích chi tiết công thức để các bạn dễ hiểu và có thể áp dụng cho các trường hợp khác nhé:
Công thức cơ bản của hàm INDEX:
Công thức: | = INDEX (array, row_num, |
Giá trị trả về: | Giá trị tại hàng thứ |
Ghi chú: | – Nếu mảng giá trị chỉ có 1 cột thì không cần nhập |
Như vậy với công thức ở trên sẽ là:
array | Danh sách đầy đủ mà chúng ta cần lọc giá trị. Chính là: list ($A$2:$A$10) |
row_num | Giá trị mà hàm MATCH trả về |
column_num | Danh sách chỉ có 1 cột nên không cần nhập giá trị này.
Xem thêm: Khóa Học Edumall Đang Miễn Phí, Mời Bạn Học Ngay, Review Khóa Học Trực Tuyến Tại Edumall |
Tiếp theo, Công thức cơ bản của hàm MATCH:
Công thức: | = MATCH (lookup_value, lookup_array, |
Giá trị trả về: | Vị trí của |
1 – Less than: vị trí nhỏ hơn vị trí thực tế0 – Exact match: vị trí chính xác-1 – Greater than: vị trí lớn hơn vị trí thực tếNếu không nhập giá trị, mặc định là 0. |
Như vậy với công thức ở trên sẽ là:
CÔNG THỨC: | MATCH ( 0 , COUNTIF($C$1:C1,list) , 0 ) |
lookup_value | Giá trị 0 |
lookup_array | Giá trị mà hàm COUNTIF trả về |
match_type | 0 |
Ghi chú: | Tại sao lookup_value = 0 thì mình sẽ giải thích chi tiết tại hàm COUNTIF nhé |
Và công thức cơ bản của hàm COUNTIF: (hàm này chắc các bạn quen thuộc rồi nhỉ