Excel-formule: verkrijg top level domain (TLD) -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om het topleveldomein (TLD) (dwz "com", "net", "org") uit een domeinnaam of e-mailadres te extraheren, kunt u een formule gebruiken die is gebaseerd op verschillende tekstfuncties: MIDDEN, RECHTS, FIND, LEN, en VERVANGING. In het weergegeven voorbeeld is de formule in cel C5:

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

Opmerking: in de generieke vorm van de formule staat "domein" voor een domein of e-mailadres zoals "www.domein.com".

Uitleg

In het voorbeeld bevat cel C5 deze formule:

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

In de kern gebruikt deze formule de functie RECHTS om tekens te extraheren die van rechts beginnen. De andere functies in deze formule doen maar één ding: ze berekenen hoeveel tekens moeten worden geëxtraheerd, n:

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

Op een hoog niveau vervangt de formule de laatste punt "." in het domein met een asterisk (*) en gebruikt vervolgens de functie FIND om de positie van de asterisk te lokaliseren. Zodra de positie bekend is, kan de functie RECHTS de TLD extraheren.

Hoe weet de formule dat alleen de laatste punt moet worden vervangen? Dit is het slimme deel. De sleutel is hier:

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

Dit fragment vervangt de laatste punt door een asterisk (*).

De truc is dat de functie SUBSTITUTE een optioneel vierde argument heeft dat specificeert welke "instantie" van de zoektekst moet worden vervangen. Als er niets wordt geleverd, worden alle exemplaren vervangen. Als echter bijvoorbeeld het nummer 2 wordt opgegeven, wordt alleen het tweede exemplaar vervangen.

Om erachter te komen welke instantie moet worden vervangen, wordt de LEN-functie gebruikt:

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

De lengte van het domein zonder punten wordt afgetrokken van de volledige lengte van het domein. Het resultaat is het aantal punten in het domein.

In de voorbeeldnaam in B5 zijn er twee punten in het domein, dus het nummer 2 wordt gebruikt zoals in het instantienummer:

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

Dit vervangt alleen de tweede punt door "*". De naam ziet er dan als volgt uit:

"www.domein * com"

De FIND-functie neemt het vervolgens over om erachter te komen waar de asterisk precies in de tekst staat:

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

Het resultaat is 11 (de * staat op de 11e positie) die wordt afgetrokken van de totale lengte van het domein:

LEN(B5)-11

Omdat de naam 15 tekens lang is, hebben we:

14-11 = 3

Ten slotte wordt het cijfer 3 door RIGHT als volgt gebruikt:

=RIGHT(B5,3)

Wat resulteert in "com"

Interessante artikelen...