Excel - kontrola dat
Dobrý večer =)
Mám excelovskou tabulku, ve které jsou e-mailové adresy. A mnoho z těch adres je zapsáno špatně (.ccom, &, vseznam, vcentrum, google.cz, mezera v adrese...)
Nevíte někdo (Mezek, třeba=)), jak to udělat, aby se nějak označilo, když je adresa zadána špatně?
Je mi jasné, že to nebude stoprocentní, špatně zadané adrese se nevyhneme, ale stačilo by mi, kdyby šly nějak kontrolovat ty nejčastější chyby.
Zkoušel jsem najít nějakou funkci, ale neúspěšně. A makra mi moc nejdou...
Předem děkuji velice.
Mám excelovskou tabulku, ve které jsou e-mailové adresy. A mnoho z těch adres je zapsáno špatně (.ccom, &, vseznam, vcentrum, google.cz, mezera v adrese...)
Nevíte někdo (Mezek, třeba=)), jak to udělat, aby se nějak označilo, když je adresa zadána špatně?
Je mi jasné, že to nebude stoprocentní, špatně zadané adrese se nevyhneme, ale stačilo by mi, kdyby šly nějak kontrolovat ty nejčastější chyby.
Zkoušel jsem najít nějakou funkci, ale neúspěšně. A makra mi moc nejdou...
Předem děkuji velice.
Odpovědi
Diskuze
Konkrétně jde o tohle - ve sloupci B jsou adresy. Definoval bych znaky, nebo řetězec znaků, které by nějaká funkce vyhledala a pokud by ten znak (řetězec znaků) našla, vrátila by do sloupce C hodnotu NEPRAVDA.
Ale pokud by bylo potřeba je shrnout do nějakého jednoho konkrétní slova, pak se obávám, že mám asi smůlu...
=KDYŽ(JE.CHYBA(NAJÍT("@";E5;1));"Chyba!";"")
Na základě hodnoty G5 můžeme udělat podmíněné formátování - třeba červené pozadí- buňky E5.
Stačí?
www.regularnivyrazy.info/email.html#.UKVfWeTUvSk
Jestli umí Excel regulární výrazy nevím, ale umí je vbscript a vba.
Jen by mě zajímalo, proč je v té syntaxi 1. ("@";E5;1)
msdn.microsoft.com/en-us/library/ms974570.aspx
ale chtělo by to nějaký tutoriál (rozumný - já se to učil ze stránek o PHP), a pak program na testování regulárních výrazů (na netu je hodně archivů):
"The RegEx Coach.exe"
PS: regulární výrazy se mohou hodit i do budoucna, doporučuji jim věnovat pozornost. Nic lepšího pro testování neznám, akorát se všichni shodují na tom, že jsou obtížně pochopitelné - nejsou jaksi intuitivní, což se ale asi časem může změnit. Já už se v nich čas od času trošku orientuji :)
• záleží zda máš zkušenost s programováním (říkal jsem že je to VBA)
něco@nekde.cz
bigbob@seznam.cz
bigbadbob@seznamcz chyba
salazar-slytherin@seznam.cz
echovseznam.sk chyba
rozum@gmail.cz
ja@cokoliv.c chyba
ja@cokoliv.cz
adresa@microsoft.de
frantik@paris.fr
Poměrně uspokojivý výsledek, ale všimněte si, že u adresy rozum@gmail.cz se chyba nevypisuje. Pokud se nepletu, gmail.cz neexistuje. Asi by to šlo upravit v kódu, ale to fakt nedám =)
A u adresy něco@nekde.cz taky nevypisuje chybu, ačkoliv obsahuje znak ě, čili adresa je napsaná špatně...
• diakritika - musí se přidat podmínka aby žádný "Příliš žluťoučký kůň úpěl ďábelské ódy" nebyl v adrese mailu.
• regulární výrazy minimalizují právě ten počet dalších a dalších testů - jsou však složitější na naprogramování a chyba se i těžko odhaluje - musí se ladit