1. Nếu số thay đổi khác thì bạn nhắm chừng mức cao nhất có thể phát sinh, ví dụ: nhỏ hơn 500, thì bạn thay số 10 thành 500; Nhỏ hơn 1000, thì bạn thay số 10 thành 1000, nhưng nếu là 1000 Mảng bự lắm nó sẽ làm trì trệ máy.
Như bạn ví dụ thì chỉ:
=IFERROR(LOOKUP(10^10,FIND((ROW($1:$100)-1)&AQ$2,$E4),ROW($1:$100)-1),0)
2. Đơn giản 10^10 chỉ là 1 con số 'bự thiệt bự'

, bự hơn những con số gì chứa trong 'Mảng' phía sau. Vã lại, nó giống ký tự 'Mặt cười' 0^0 nên tôi thích dùng, chỉ vậy thôi!
Khi bạn gõ vào bất kỳ số nào sao cho lớn hơn mọi vị trí có trong chuỗi tìm, ví dụ: (3HB+1AK) có chiều dài 10 ký tự, thì bạn có thể gõ: 10,11,12...100, 1000, 10^4, 10^10 tùy hĩ.
Hàm FIND((ROW($1:$10)-1)&F$2,$E4) như bài trước giải thích, nó tìm vị trí của ký tự của dãy Mảng, như: "0HB;1HB;2HB;3HB;4HB;5HB;6HB;7HB;8HB;9HB", dùng Lookup('Số bự thiệt bự',{Mảng dò}, {Mảng kết quả}) thì nó trả về 'Trị giá lớn nhất' cuối cùng của {Mảng dò}, chính là số vị trí của 3HB trong chuỗi (3HB+1AK), tức bằng 2.
Chúc bạn ngày vui.