Mục lục
Hôm nay, tôi sẽ trình bày cách tạo danh sách động dựa trên một hoặc nhiều tiêu chí trong Excel.
Tải xuống Sách bài tập thực hành
Danh sách động dựa trên Criteria.xlsx
Danh sách động trong Excel là gì?
Danh sách động là danh sách được tạo từ tập dữ liệu và cập nhật tự động khi bất kỳ giá trị nào trong tập dữ liệu gốc bị thay đổi hoặc giá trị mới được thêm vào tập dữ liệu gốc.
Trong hình ảnh đã cho, chúng tôi có danh sách tên của tất cả các sinh viên đạt điểm cao hơn 60 trong kỳ thi.
Bây giờ nếu bạn thay đổi điểm của Jennifer Marlo từ 68 thành 58 và thêm một học sinh mới tên là Ross Smith với điểm 81 vào bảng, danh sách sẽ tự động điều chỉnh.
Đây được gọi là danh sách động.
3 Cách tạo danh sách động trong Excel dựa trên tiêu chí
Ở đây chúng tôi có một bộ dữ liệu với ID học sinh, Tên, và Điểm của một số học sinh trong Trường có tên là Trường mẫu giáo Hoa hướng dương.
Mục tiêu của chúng ta hôm nay là tạo một danh sách động dựa trên các tiêu chí từ tập dữ liệu này. Hôm nay, chúng tôi sẽ sử dụng cả tiêu chí đơn và tiêu chí đa.
1. Sử dụng Hàm FILTER và Hàm OFFSET (Dành cho Phiên bản Excel mới)
Trước hết, chúng tôi sẽ sử dụng kết hợp FILTER , OFFSET và Hàm COUNTA của Excel.
Hàm FILTER chỉ khả dụng trong Office 365 . Vì vậy, điều này chỉ dành cho những người có đăng ký Office 365 .
Trường hợp 1: Dựa trên một tiêu chí duy nhất
Hãy thử tạo một tiêu chí động danh sách những sinh viên có điểm trung bình lớn hơn hoặc bằng 60 .
Bạn có thể sử dụng công thức này:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
Như bạn có thể thấy, chúng tôi có một danh sách tất cả những sinh viên đạt hơn 60 .
Và rõ ràng, đây là một danh sách. Bạn thay đổi bất kỳ giá trị nào trong tập dữ liệu hoặc thêm bất kỳ giá trị mới nào vào tập dữ liệu.
Danh sách sẽ tự động điều chỉnh.
Giải thích Công thức:
-
COUNTA(C:C)
trả về số hàng trong cột C không trống. Vì vậy,COUNTA(C:C)-1
trả về số hàng có giá trị không có Tiêu đề cột (trong ví dụ này là Tên sinh viên ). - Nếu bạn không có' Nếu không có Tiêu đề cột , hãy sử dụng
COUNTA(C:C)
-
OFFSET(C5,0,0,COUNTA(C:C)-1,1)
bắt đầu từ ô C5 (Tên của học sinh đầu tiên) và trả về một dãy tên của tất cả học sinh. - Hàm OFFSET kết hợp với hàm COUNTIF đã được sử dụng để giữ cho công thức động. Nếu thêm một sinh viên nữa vào tập dữ liệu, công thức
COUNTA(C:C)-1
sẽ tăng thêm 1 và hàm OFFSET sẽ bao gồm sinh viên đó. - Tương tự,
OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60
trả về TRUE cho tất cả các dấu lớn hơn hoặc bằng 60 . - Cuối cùng,
FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
trả về danh sách tất cả học sinh đạt điểm trên 60 . - Nếu bất kỳ sinh viên mới nào được thêm vào tập dữ liệu,
COUNTA(C:C)-1
tăng thêm 1 và hàm FILTER làm mới phép tính bao gồm nó. - Do đó công thức luôn giữ nguyên động.
Lưu ý:
Nếu bạn muốn lấy điểm cùng với tên trong danh sách, chỉ cần thay đổi đối số thứ năm của chức năng OFFSET đầu tiên từ 1 đến 2 .
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)
Trường hợp 2: Dựa trên nhiều tiêu chí
Lần này chúng ta hãy thử nhiều tiêu chí.
Chúng ta sẽ cố gắng tạo một danh sách động gồm những sinh viên có số điểm lớn hơn hoặc bằng 60 nhưng có ID nhỏ hơn hoặc bằng 200 .
Bạn có thể sử dụng công thức sau:
=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))
Như bạn có thể thấy, chúng tôi có danh sách tất cả các sinh viên đạt điểm trên 60 và có ID nhỏ hơn 200 .
Và không cần phải nói, đây là một danh sách động.
Nếu bạn thay đổi bất kỳ giá trị nào hoặc thêm bất kỳ sinh viên mới nào vào tập dữ liệu, danh sách sẽ tự động điều chỉnh.
Giải thích Công thức:
- Ở đây chúng tôi đã nhân hai phạm vi động của tiêu chí,
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
- Nếu bạn có nhiều hơn 2 tiêu chí, hãy nhân tất cả các phạm vi của tiêu chí theo cách tương tự.
- Phần còn lại giống như ví dụ trước (của tiêu chí đơn).Hàm OFFSET kết hợp với hàm COUNTA đã được sử dụng để giữ cho công thức động.
Lưu ý:
Nếu bạn muốn xem tất cả các cột trong danh sách ( Cột B, C, và D trong ví dụ này), hãy thay đổi đối số đầu tiên của OFFSET đầu tiên cho cột đầu tiên ( B5 trong ví dụ này) và đối số thứ năm cho tổng số cột ( 3 trong ví dụ này).
=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))
Đọc thêm: Tạo Excel động Liệt kê từ bảng (3 cách dễ dàng)
2. Sử dụng hàm INDEX-MATCH với các hàm khác (Dành cho phiên bản cũ)
Những người không có Đăng ký Office 365 không thể sử dụng công thức trên.
Tôi đang trình bày một cách phức tạp hơn cho những người sử dụng phiên bản Excel cũ hơn, sử dụng INDEX-MATCH, Hàm OFFSET, SMALL, IF, ROW, COUNTIF, và COUNTIFS của Excel. Lưu ý rằng các công thức này là công thức mảng. Vì vậy, để áp dụng chúng trong các phiên bản Excel cũ hơn, bạn cần nhấn Ctrl+Shift+Enter thay vì chỉ Enter.
Trường hợp 1: Dựa trên một tiêu chí duy nhất
Công thức tạo danh sách động gồm những học sinh có điểm lớn hơn hoặc bằng 60 sẽ là:
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,
OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)
Như bạn có thể thấy, một lần nữa chúng ta đã có tên của tất cả các học sinh đạt điểm trên hoặc bằng 60 .
Lần này chúng ta đã tăng dầnthứ tự của các con số.
Và vâng, danh sách là động. Thêm học sinh mới vào tập dữ liệu hoặc thay đổi điểm của bất kỳ học sinh nào trong tập dữ liệu.
Danh sách sẽ tự động điều chỉnh.
Giải thích về Công thức:
- Đây C:C là cột mà chúng tôi muốn trích xuất nội dung của danh sách ( Tên sinh viên trong này thí dụ). Bạn sử dụng cột của mình.
- D:D là cột chứa tiêu chí ( Điểm trung bình trong ví dụ này). Bạn sử dụng ô của mình.
- C5 và D5 là các ô mà dữ liệu của tôi được bắt đầu từ đó (ngay bên dưới Tiêu đề cột ). Bạn sử dụng tiêu chí của mình.
- “>=60” là tiêu chí của tôi (Lớn hơn hoặc bằng 60 trong ví dụ này). Bạn sử dụng công thức của mình.
- Ngoài một vài thay đổi này, hãy giữ nguyên phần còn lại của công thức và sử dụng nó trong tập dữ liệu của bạn. Bạn sẽ nhận được một danh sách động theo tiêu chí mong muốn của mình.
Trường hợp 2: Dựa trên nhiều tiêu chí
INDEX-MATCH công thức cho danh sách động dựa trên nhiều tiêu chí phức tạp hơn một chút. Tuy nhiên, tôi vẫn đang trình bày.
Công thức lấy tên của những học sinh có điểm lớn hơn hoặc bằng 60 , nhưng có ID nhỏ hơn 200 sẽ là;
=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)
Giải thích Công thức:
- Đây C:C là cột mà chúng tôi muốn từ đó đếntrích xuất nội dung của danh sách ( Tên sinh viên trong ví dụ này). Bạn sử dụng cột của mình.
- B:B và D:D là các cột chứa tiêu chí ( Mã sinh viên và Điểm trung bình trong ví dụ này). Bạn sử dụng ô của mình.
- B5, C5, và D5 là các ô mà từ đó dữ liệu của tôi được bắt đầu (ngay bên dưới Tiêu đề cột ). Bạn sử dụng tiêu chí của mình.
- Tôi đã nhân hai tiêu chí ở đây:
(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
.Nếu bạn có nhiều hơn hai tiêu chí, hãy nhân tương ứng. - Tôi đã sử dụng lại hai tiêu chí bên trong hàm COUNTIFS này:
COUNTIFS(B:B,"=60")
. Bạn sử dụng công thức của mình cho phù hợp. - Giữ nguyên phần còn lại của công thức và sử dụng nó trong tập dữ liệu của bạn. Bạn sẽ nhận được một danh sách động với nhiều tiêu chí.
Đọc thêm: Cách tạo danh sách xác thực dữ liệu động bằng VBA trong Excel
3 . Tạo danh sách thả xuống động dựa trên tiêu chí bằng công cụ xác thực dữ liệu
Bây giờ chúng ta đã tạo danh sách động. Nếu muốn, bạn có thể tạo danh sách thả xuống động trong bất kỳ ô nào trong trang tính của mình.
- Để tạo danh sách thả xuống động, hãy chọn bất kỳ ô nào trong trang tính của bạn và chuyển đến Dữ liệu > Xác thực Dữ liệu > Xác thực dữ liệu trong phần Công cụ dữ liệu .
- Bạn sẽ nhận được Xác thực dữ liệu Hộp thoại. Trong Tùy chọn Cho phép , chọn Danh sách . Và bên dưới tùy chọn Source ,nhập tham chiếu của ô đầu tiên chứa danh sách trong trang tính của bạn cùng với HashTag (#) ( $E$5# trong ví dụ này).
- Sau đó nhấp vào OK . Bạn sẽ nhận được một danh sách thả xuống trong ô đã chọn như thế này.
Đọc thêm: Cách tạo danh sách thả xuống động bằng VBA trong Excel
Cách tạo Danh sách duy nhất động trong Excel dựa trên tiêu chí
Trong phần này, chúng tôi sẽ trình bày cách tạo danh sách duy nhất trong Excel dựa trên tiêu chí tiêu chuẩn. Chúng ta sẽ sử dụng kết hợp các hàm UNIQUE và FILTER . Chúng tôi đã sửa đổi tập dữ liệu và thêm các trò chơi yêu thích của từng học sinh. Bây giờ, muốn biết tên của trò chơi loại bỏ trùng lặp với tiêu chí. Tiêu chí là điểm trung bình của học sinh phải lớn hơn 60 .
📌 Các bước thực hiện:
- Đặt công thức dựa trên sự kết hợp của các hàm UNIQUE và FILTER trên Ô G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Chúng tôi nhận được một danh sách duy nhất dựa trên các tiêu chí.
Giải thích về Công thức:
- FILTER(E5:E25,(D5:D25>60)
Lọc các giá trị của Phạm vi E5:E25 , với điều kiện điểm trung bình phải trên 60 .
Kết quả: [Quần vợt, Bóng chuyền, Bóng bầu dục, Quần vợt, Bóng đá, Bóng bầu dục, Bóng bầu dục, Bóng đá]
- UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Điều này trả về tất cả các độc đáocác giá trị từ kết quả trước đó.
Kết quả: [Quần vợt, Bóng chuyền, Bóng bầu dục, Bóng đá]
Kết luận
Sử dụng các giá trị này bạn có thể tạo một danh sách động dựa trên một hoặc nhiều tiêu chí trong bất kỳ tập dữ liệu nào trong Excel. Vui lòng xem trang web của chúng tôi ExcelWIKI và đưa ra đề xuất của bạn trong hộp nhận xét.