Τύπος Excel: Λήψη τομέα ανώτερου επιπέδου (TLD) -

Πίνακας περιεχομένων

Γενική φόρμουλα

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

Περίληψη

Για να εξαγάγετε τον τομέα ανώτατου επιπέδου (TLD) (π.χ. "com", "net", "org") από ένα όνομα τομέα ή μια διεύθυνση email, μπορείτε να χρησιμοποιήσετε έναν τύπο βασισμένο σε διάφορες λειτουργίες κειμένου: MID, RIGHT, FIND, LEN, και ΥΠΟΘΕΣΗ. Στο παράδειγμα που εμφανίζεται, ο τύπος στο κελί C5 είναι:

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

Σημείωση: Στη γενική μορφή του τύπου "domain" αντιπροσωπεύει έναν τομέα ή μια διεύθυνση email όπως "www.domain.com".

Εξήγηση

Στο παράδειγμα, το κελί C5 περιέχει αυτόν τον τύπο:

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

Στον πυρήνα, αυτός ο τύπος χρησιμοποιεί τη συνάρτηση RIGHT για εξαγωγή χαρακτήρων ξεκινώντας από τα δεξιά. Οι άλλες λειτουργίες σε αυτόν τον τύπο κάνουν μόνο ένα πράγμα: καταλαβαίνουν πόσους χαρακτήρες πρέπει να εξαχθούν, n:

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

Σε υψηλό επίπεδο, ο τύπος αντικαθιστά την τελευταία τελεία "." στον τομέα με αστερίσκο (*) και στη συνέχεια χρησιμοποιεί τη συνάρτηση FIND για να εντοπίσει τη θέση του αστερίσκου. Μόλις γίνει γνωστή η θέση, η συνάρτηση RIGHT μπορεί να εξαγάγει το TLD

Πώς γνωρίζει ο τύπος ότι αντικαθιστά μόνο την τελευταία κουκκίδα; Αυτό είναι το έξυπνο μέρος. Το κλειδί είναι εδώ:

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

Αυτό το απόσπασμα κάνει την πραγματική αντικατάσταση της τελευταίας κουκκίδας με αστερίσκο (*).

Το κόλπο είναι ότι η συνάρτηση SUBSTITUTE έχει ένα προαιρετικό τέταρτο όρισμα που καθορίζει ποια "παρουσία" του κειμένου εύρεσης πρέπει να αντικατασταθεί. Εάν δεν παρέχεται τίποτα, όλες οι παρουσίες αντικαθίστανται. Ωστόσο, εάν, ας υποθέσουμε ότι παρέχεται ο αριθμός 2, αντικαθίσταται μόνο η δεύτερη περίπτωση.

Για να καταλάβετε ποια παρουσία πρέπει να αντικαταστήσετε, χρησιμοποιείται η συνάρτηση LEN:

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

Το μήκος του τομέα χωρίς τελείες αφαιρείται από το πλήρες μήκος του τομέα. Το αποτέλεσμα είναι ο αριθμός των κουκκίδων στον τομέα.

Στο όνομα του παραδείγματος στο B5, υπάρχουν δύο τελείες στον τομέα, οπότε ο αριθμός 2 χρησιμοποιείται όπως στον αριθμό παρουσίας:

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

Αυτό αντικαθιστά μόνο τη δεύτερη κουκκίδα με το "*". Το όνομα μοιάζει έτσι:

"www.domain * com"

Η συνάρτηση FIND αναλαμβάνει στη συνέχεια για να καταλάβει πού βρίσκεται ο αστερίσκος στο κείμενο:

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

Το αποτέλεσμα είναι 11 (το * βρίσκεται στην 11η θέση) που αφαιρείται από το συνολικό μήκος του τομέα:

LEN(B5)-11

Δεδομένου ότι το όνομα είναι 15 χαρακτήρες, έχουμε:

14-11 = 3

Τέλος, ο αριθμός 3 χρησιμοποιείται από το ΔΕΞΙΟ όπως:

=RIGHT(B5,3)

Που οδηγεί στο "com"

ενδιαφέροντα άρθρα...