Công thức Excel: Nhận trận đấu thứ n -

Mục lục

Công thức chung

=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)

Tóm lược

Để có được vị trí của khớp thứ n (ví dụ: giá trị khớp thứ 2, giá trị khớp thứ 3, v.v.), bạn có thể sử dụng công thức dựa trên hàm NHỎ. Trong ví dụ được hiển thị, công thức trong G5 là:

=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)

Công thức này trả về vị trí của lần xuất hiện thứ hai của "red" trong danh sách.

Lưu ý: đây là công thức mảng và phải được nhập bằng control + shift + enter.

Giải trình

Công thức này sử dụng phạm vi được đặt tên là "danh sách" là phạm vi B5: B11.

Cốt lõi của công thức này là hàm SMALL, hàm này chỉ trả về giá trị nhỏ nhất thứ n trong danh sách các giá trị tương ứng với số hàng. Các số hàng đã được "lọc" bởi câu lệnh IF, áp dụng logic cho một trận đấu. Làm việc từ trong ra ngoài, IF so sánh tất cả các giá trị trong phạm vi được đặt tên là "danh sách" với giá trị trong B5, tạo ra một mảng như sau:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)

"Giá trị nếu đúng" là một tập hợp các số hàng tương đối được tạo bởi mã này:

ROW(list)-MIN(ROW(list))+1

Kết quả là một mảng như thế này:

(1;2;3;4;5;6;7)

Xem trang này để được giải thích đầy đủ.

Với kiểm tra logic trả về một mảng kết quả, hàm IF hoạt động như một bộ lọc - chỉ các số hàng tương ứng với một kết quả phù hợp mới tồn tại, phần còn lại trả về FALSE. Kết quả trả về bởi IF trông giống như sau:

(1;FALSE;FALSE;FALSE;5;FALSE;7)

Các số 1, 5 và 7 tương ứng với vị trí của "màu đỏ" trong danh sách.

Cuối cùng, SMALL trả về mục nhỏ thứ n trong danh sách này, bỏ qua các giá trị FALSE. Trong ví dụ, F5 chứa 2, vì vậy SMALL trả về giá trị nhỏ nhất thứ 2: 5.

Nhận giá trị liên quan

Khi bạn có vị trí tương đối của đối sánh thứ n, bạn có thể sử dụng vị trí đó với hàm INDEX để trả về giá trị được liên kết.

thú vị bài viết...