Chào các bác, dạo này em đang làm việc với một bảng dữ liệu khá lớn, thường xuyên phải thêm hoặc xóa dòng để cập nhật thông tin. Vấn đề là mỗi lần làm vậy, cái cột STT (số thứ tự) lại bị nhảy lung tung, hoặc phải tự làm lại thủ công rất mất thời gian. Em đã thử nhiều cách, nhưng có vẻ mấy cái hàm cũ như ROW() hay COUNT() không được linh hoạt lắm khi bảng thay đổi cấu trúc.
Hôm nay, em tình cờ đọc được một bài viết về cách dùng kết hợp hàm SEQUENCE và FILTER để giải quyết triệt để vấn đề này. Em thấy khá hay và muốn chia sẻ lại cho anh em nào đang gặp tình huống tương tự.
Cách làm như sau:
- Giả sử dữ liệu của bạn bắt đầu từ ô
A2(cột STT là cột A, dữ liệu bắt đầu từ dòng 2). - Tại ô STT đầu tiên (ví dụ
A2), bạn nhập công thức:=IF(FILTER(B2:B1000"",B2:B1000""), SEQUENCE(ROWS(FILTER(B2:B1000"",B2:B1000""))), "")
Trong đó:
B2:B1000là cột chứa dữ liệu chính của bạn (ví dụ, cột Tên nhân viên). Bạn cần điều chỉnh phạm vi này cho phù hợp với bảng của mình. Nếu bạn dùng Table thì càng tiện, chỉ cần chọn tên cột.- Hàm
FILTERsẽ lọc ra những dòng không trống trong cột B. - Hàm
SEQUENCEsẽ tạo ra một dãy số liên tục từ 1 đến số lượng dòng không trống đó. - Hàm
IFdùng để kiểm tra xem dòng đó có dữ liệu hay không, nếu có thì điền STT, còn không thì để trống.
Với công thức này, mỗi khi bạn thêm một dòng mới vào bảng hoặc xóa đi một dòng, cột STT sẽ tự động cập nhật lại đúng thứ tự mà không cần can thiệp thủ công. Rất tiện lợi!
Anh em nào có cách nào hay hơn hoặc gặp khó khăn gì khi áp dụng thì cùng thảo luận nhé!