Công thức Excel: Kết hợp đầu tiên không bắt đầu bằng -

Mục lục

Công thức chung

(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))

Tóm lược

Để so khớp giá trị đầu tiên không bắt đầu bằng một chuỗi cụ thể, bạn có thể sử dụng một mảng dựa trên các hàm MATCH và LEFT. Trong ví dụ được hiển thị, công thức trong F5 là:

(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))

trong đó "mã" là phạm vi được đặt tên là B5: B12.

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

Chìa khóa của công thức này là mảng hoặc các giá trị TRUE và FALSE được tạo bằng biểu thức này:

LEFT(code,1)"N"

Ở đây, mỗi giá trị trong dải ô được đặt tên "mã" được đánh giá bằng phép kiểm tra logic "chữ cái đầu tiên không phải là N". Kết quả là một mảng hoặc các giá trị TRUE và FALSE như sau:

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

Mảng này được đưa vào hàm MATCH dưới dạng mảng tra cứu. Giá trị tra cứu là TRUE và loại đối sánh được đặt thành 0 để bắt buộc đối sánh chính xác. Hàm MATCH trả về vị trí của giá trị đầu tiên không bắt đầu bằng chữ cái "N" (Z09876), là 5.

INDEX và MATCH

Để truy xuất một giá trị được liên kết với vị trí được trả về bởi MATCH, bạn có thể thêm hàm INDEX. Trong ví dụ được hiển thị, công thức trong F6 là:

(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))

Lưu ý rằng chúng tôi đang sử dụng cùng một công thức MATCH ở trên để cung cấp số hàng cho INDEX, với mảng được đặt thành phạm vi được đặt tên là "giá trị". Như trước đây, hàm MATCH trả về 5. INDEX sau đó trả về giá trị tại vị trí đó, -23.

Như trước đây, đây là một công thức mảng và phải được nhập bằng control + shift + enter.

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