Một cách để tối ưu hóa tọa độ bạn cần biết về tìm kiếm xấp xỉ trong Excel

lúc tiêu dùng Excel, ta đã quá quen thuộc với những hàm tìm kiếm như VLOOKUP, HLOOKUP, INDEX/MATCH. Mới hơn nữa ta sở hữu XLOOKUP, XMATCH. Lâu đời hơn cả là LOOKUP. Các bạn sở hữu quan tâm rằng trong các hàm này đều mang một thông số tùy chọn giữa "Exact" – tìm chuẩn xác và "Approximate" – tậu xấp xỉ không? Trong bài viết này, Học Excel Online sẽ đề cập về kiếm tìm xấp xỉ. Hiểu được bí quyết Excel thực hành việc tìm kiếm này, Anh chị em sẽ biết thêm bí quyết để tối ưu hóa tốc độ file.



Chúng ta sẽ tới với một hàm rất quen thuộc: MATCH.

=MATCH(lookup_value,lookup_array,[match_type])

MATCH sẽ trả về vị trí của một trị giá trong 1 mảng. Chả hạn ta sở hữu mảng:

["a","c","b","z","e","f","g"]

Ở đây, lúc nhập hàm MATCH để kiếm tìm "b", ta sẽ viết:

=MATCH("b",mảng_trên,0)

Kết quả trả về là 2, vì phần tử "b" ở vị trí thứ hai trong khoảng trái sang.

vì sao match_type đề nghị lại là 0? Bởi vì theo như tài liệu của Microsoft cũng như theo "kinh nghiệm dân gian", nếu bỏ không hoặc điền 1/-1 thì kết quả trả về sẽ sai hoặc lỗi.

Giờ hãy tới sở hữu ví dụ tiếp theo.

một tỉ dụ khác, ta sở hữu mảng:

[5,10,15,20,25,30]

khi thực hiện tìm kiếm số 15 sở hữu MATCH, ta hoàn toàn với thể viết:

=MATCH(15,mảng_trên,0) hoặc =MATCH(15,mảng_trên) hoặc =MATCH(15,mảng_trên,1)

Cả 3 công thức trên đều trả về kết quả 3, chính là vị trí của số 15 trong mảng. Vậy tại sao trong trường hợp này lại sở hữu thể sử dụng match_type = một?

Chúng ta đã biết rằng ví như để mặc định thì match_type sẽ được ngầm hiểu là một, và theo như tài liệu của Microsoft, ví như tiến hành tìm kiếm "xấp xỉ" sở hữu tham số 1, mảng cần phải được bố trí theo trật tự.

Quả vậy, giả dụ mảng của ta đổi thành [10,5,30,25,20,15] hoặc sắp xếp theo một thứ tự khác, thì tìm kiếm xấp xỉ sẽ bị sai.

Nhưng đã bao giờ bạn tự hỏi tại sao chưa?

Hãy đọc tiếp nhé.

vì sao lúc kiếm tìm xấp xỉ, ta cần phải xếp đặt dữ liệu trong khoảng nhỏ tới to hoặc trong khoảng lớn đến nhỏ?

Mình đã đi hỏi những người "trong ngành" và biết được 1 điều rằng, việc chọn match_type (cũng như lookup_type) giống như trigger một chiếc công tắc về chọn lựa thuật toán kiếm tìm.

mang type = 0, Excel sẽ tiêu dùng Linear Search.

có type = một, Excel sẽ dùng Binary Search.

có những hàm như MATCH, XLOOKUP, XMATCH, ta sở hữu thêm tùy chọn -1, cũng vẫn là Binary Search với mảng được xếp ngược lại.

Cả nhà mang thể google 2 trong khoảng khóa trên để hiểu.

Và chính vì Binary Search chỉ hoạt động đúng lúc mảng được sắp xếp từ nhỏ đến to, nên trong những tài liệu của Excel luôn buộc phải ta phải bố trí như vậy để kết quả không sai.

Các bạn mang thể giới hạn đọc ở đây. Lý do đã được nêu lên rồi.

Nhưng vì sao ko đào sâu thêm nữa nhỉ? Các bạn sở hữu hứng thú đọc tiếp chứ?

Phần dưới đây là một "nhận định" – assumption của mình. Gọi là Phân tích vì Microsoft ko chia sẻ tài sản mang trí tuệ – intellectual property (cách những kĩ sư đã viết nên những hàm).

Share on Google Plus
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét