Công thức Excel: Nhận miền cấp cao nhất (TLD) -

Mục lục

Công thức chung

=RIGHT(domain,LEN(domain)-FIND("*",SUBSTITUTE(domain,".","*",LEN(domain)-LEN(SUBSTITUTE(domain,".","")))))

Tóm lược

Để trích xuất miền cấp cao nhất (TLD) (tức là "com", "net", "org") từ tên miền hoặc địa chỉ email, bạn có thể sử dụng công thức dựa trên một số hàm văn bản: MID, RIGHT, FIND, LEN, và SUBSTITUTE. Trong ví dụ được hiển thị, công thức trong ô C5 là:

=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))

Lưu ý: Ở dạng chung của công thức, "miền" đại diện cho một miền hoặc địa chỉ email như "www.domain.com".

Giải trình

Trong ví dụ, ô C5 chứa công thức này:

=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))

Về cốt lõi, công thức này sử dụng hàm RIGHT để trích xuất các ký tự bắt đầu từ bên phải. Các hàm khác trong công thức này chỉ làm một việc: chúng tìm ra bao nhiêu ký tự cần được trích xuất, n:

=RIGHT(B5,n) // n = ??

Ở cấp độ cao, công thức thay thế dấu chấm cuối cùng "." trong miền có dấu hoa thị (*) và sau đó sử dụng hàm TÌM để xác định vị trí của dấu hoa thị. Khi đã biết vị trí, hàm RIGHT có thể trích xuất TLD.

Làm thế nào để công thức biết chỉ thay thế dấu chấm cuối cùng? Đây là phần thông minh. Chìa khóa là ở đây:

SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))

Đoạn mã này thực sự thay thế dấu chấm cuối cùng bằng dấu hoa thị (*).

Bí quyết là hàm SUBSTITUTE có đối số thứ tư tùy chọn chỉ định "phiên bản" nào của văn bản tìm nên được thay thế. Nếu không có gì được cung cấp, tất cả các phiên bản sẽ được thay thế. Tuy nhiên, nếu giả sử số 2 được cung cấp, thì chỉ có trường hợp thứ hai được thay thế.

Để tìm ra trường hợp nào cần thay thế, hàm LEN được sử dụng:

LEN(B5)-LEN(SUBSTITUTE(B5,".",""))

Chiều dài của miền không có bất kỳ dấu chấm nào được trừ vào chiều dài đầy đủ của miền. Kết quả là số chấm trong miền.

Trong tên ví dụ ở B5, có hai dấu chấm trong miền, vì vậy số 2 được sử dụng như trong số cá thể:

SUBSTITUTE(B5," ","*",2)

Điều này chỉ thay thế dấu chấm thứ hai bằng "*". Sau đó, tên giống như sau:

"www.domain * com"

Sau đó, hàm FIND sẽ tiếp nhận để tìm ra chính xác vị trí của dấu hoa thị trong văn bản:

FIND("*", "www.domain*com")

Kết quả là 11 (dấu * ở vị trí thứ 11) được trừ cho tổng độ dài của miền:

LEN(B5)-11

Vì tên có 15 ký tự, chúng tôi có:

14-11 = 3

Cuối cùng, số 3 được sử dụng bởi RIGHT như vậy:

=RIGHT(B5,3)

Kết quả là "com"

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