Chào mọi người,
Dạo này mình đang làm một file quản lý danh sách khá lớn trên Google Sheets, mà có một yêu cầu là làm sao để tạo mã số thứ tự tăng dần cho từng nhóm mặt hàng khác nhau. Ví dụ, nhóm 'Áo' sẽ có mã 1, 2, 3... và nhóm 'Quần' cũng bắt đầu lại từ 1, 2, 3... mà không ảnh hưởng lẫn nhau.
Ban đầu mình định dùng Apps Script nhưng nghĩ có thể có cách nào đó dùng công thức cho nhanh gọn hơn. Sau một hồi mò mẫm, mình đã tìm ra một cách kết hợp hàm COUNTIF và OFFSET khá hiệu quả. Chia sẻ lên đây để anh em nào cần thì tham khảo nhé.
Cách thực hiện:
Giả sử:
- Cột A chứa tên nhóm (ví dụ: 'Áo', 'Quần').
- Cột B là cột bạn muốn điền số thứ tự tự động.
Bạn có thể nhập công thức sau vào ô B2 (và kéo xuống):
=COUNTIF(A$2:A2, A2)Giải thích công thức:
A$2:A2: Đây là một vùng tham chiếu động. PhầnA$2cố định hàng đầu tiên của nhóm, cònA2sẽ thay đổi theo từng dòng bạn kéo công thức xuống.A2: Là giá trị nhóm ở dòng hiện tại.COUNTIF(A$2:A2, A2): Hàm này sẽ đếm xem trong vùng từ đầu danh sách nhóm cho đến dòng hiện tại, có bao nhiêu lần xuất hiện tên nhóm ở dòng hiện tại.
Ví dụ:
- Dòng 2: Nhóm là 'Áo'. Vùng là
A$2:A2.COUNTIF(A2, 'Áo')trả về 1. - Dòng 3: Nhóm là 'Áo'. Vùng là
A$2:A3.COUNTIF(A$2:A3, 'Áo')trả về 2. - Dòng 4: Nhóm là 'Quần'. Vùng là
A$2:A4.COUNTIF(A$2:A4, 'Quần')trả về 1.
Hy vọng mẹo nhỏ này giúp ích được cho mọi người trong quá trình làm việc với Google Sheets.
Có anh em nào có cách nào khác hay hơn không, chia sẻ thêm cho mình học hỏi với nhé!