
Általános képlet
=RIGHT(domain,LEN(domain)-FIND("*",SUBSTITUTE(domain,".","*",LEN(domain)-LEN(SUBSTITUTE(domain,".","")))))
Összegzés
A legfelső szintű tartomány (TLD) (pl. "Com", "net", "org") kibontásához egy domain névből vagy e-mail címből több szövegfüggvényen alapuló képletet használhat: MID, RIGHT, FIND, LEN, és Pótolja. A bemutatott példában a C5 cellában szereplő képlet a következő:
=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))
Megjegyzés: A képlet általános formájában a "domain" olyan tartományt vagy e-mail címet jelent, mint például a "www.domain.com".
Magyarázat
A példában a C5 cella a következő képletet tartalmazza:
=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))
Lényegében ez a képlet a JOBB függvényt használja a jobbról kezdődő karakterek kibontására. A képlet többi funkciója csak egyet tesz: kitalálják, hány karaktert kell kibontani, n:
=RIGHT(B5,n) // n = ??
Magas szinten a képlet helyettesíti az utolsó "" pontot. a tartományban csillaggal (*), majd a FIND funkcióval keresi meg a csillag helyzetét. Amint a pozíció ismert, a RIGHT funkció kibonthatja a TLD-t.
Honnan tudja a képlet csak az utolsó pont helyettesítését? Ez az okos rész. A kulcs itt van:
SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))
Ez a kódrészlet az utolsó pont tényleges helyettesítését csillaggal (*) váltja fel.
A trükk az, hogy a SUBSTITUTE függvénynek van egy opcionális negyedik argumentuma, amely meghatározza, hogy a keresési szöveg melyik "példányát" kell kicserélni. Ha semmi nincs megadva, akkor az összes példány kicserélődik. Ha azonban mondjuk a 2-es számot adják meg, akkor csak a második példány kerül kicserélésre.
A helyettesítendő példány kitalálásához a LEN funkciót kell használni:
LEN(B5)-LEN(SUBSTITUTE(B5,".",""))
A pontok nélküli tartomány hossza kivonásra kerül a tartomány teljes hosszából. Az eredmény a tartományban lévő pontok száma.
A B5 példában szereplő névben két pont van a tartományban, így a 2-es számot a példányszámhoz hasonlóan használják:
SUBSTITUTE(B5," ","*",2)
Ez csak a második pontot helyettesíti "*" -ra. A név ekkor így néz ki:
"www.domain * com"
A FIND függvény ekkor veszi át, hogy kiderítse, pontosan hol található a csillag a szövegben:
FIND("*", "www.domain*com")
Az eredmény 11 (a * a 11. pozícióban van), amelyet kivonunk a tartomány teljes hosszából:
LEN(B5)-11
Mivel a név 15 karakter, ezért:
14-11 = 3
Végül a 3-as számot RIGHT használja, így:
=RIGHT(B5,3)
Ami "com" -t eredményez