Problemă cu șiruri in Excel

Sunt la un curs de Excel și mi-a venit în cap o problemă faină, zic eu, de Excel.

Așa că m-am gândit să o aduc în atenția voastră și să vă provoc la o rezolvare.

Rezultatele trebuie trimise prin e-mail la valygreavu [at] hotmail.com până joi, 13 septembrie ora 22:00.

UPDATE: Trimitere rezultate încheiată! Soluția câștigătoare:

=IF((LEFT(RIGHT(A2;3))=”.”);RIGHT(A2;2);RIGHT(A2;3))

Email Domeniu
x@yahoo.com com
y@yahoo.ro ro
j@hotmail.com com
m@x.jp jp
m@yyyy.com com
x@yahoo.com com
y@yahoo.ro ro
j@hotmail.com com
m@x.fr fr
m@yyyy.mx mx
j@hotmail.com com
m@x.jp jp
m@yyyy.com com

Link public la fisierul Excel cu soluțiile propuse: https://skydrive.live.com/redir?resid=6EC38785F56DAE91!2715

 

Cerința: Care este formula prin care obțineți valorile din dreapta?

Pentru clarificări dați comentarii. Pentru rezolvitori dați soluția pe mail. Cea mai bună soluție va fi publicată.

[UPDATE 14.09.2012 h 00:10]

Cea mai rapida solutie a venit de la Mircea P: =RIGHT(A2; LEN(A2)-SEARCH(„.”; A2; 1))  Foarte buna in contextual datelor, dar nu general valabila in contextual adreselor de tip: prenume.nume@domeniu.co.jp

Altă soluție: =MID(A2, FIND(„.”, A2) + 1, 4) nu se aplică în contextual adresei de mai sus.

Viorel L care mi-a fost student, dar nu la Excel, a spus ca problema este simpla. Si a venit cu formula: =RIGHT(A2;LEN(A2)-SEARCH(„.”;A2)) Normal ca nefunctionala pentru toate tipurile de adrese valabile de mail.

Alina C. a venit cu formula pe care o aveam si eu in minte: =IF((LEFT(RIGHT(A2;3))=”.”);RIGHT(A2;2);RIGHT(A2;3)) Se vede ca mi-a fost studenta si a facut Excel cu mine, chiar dacă la orele cu ei nu am facut așa ceva, se pare că a înțeles metoda :)

Ionut S. a vrut sa fie altfel si a trimis o solutie prin care sa scoti domeniul de mail nu domeniul de root. Formula lui arata: =LEFT(RIGHT(A2;LEN(A2)-FIND(„@”;A2));FIND(„.”;RIGHT(A2;LEN(A2)-FIND(„@”;A2)))-1) si se pare ca merge pe mai multe tipuri de adrese. De fapt pe toate pe care le-am testat eu, chiar dacă soluția originală nu este funcțională pentru a scoate domeniile de tara: =RIGHT(A2;LEN(A2)-FIND(„.”;A2))

Aceași soluție nefuncțională cu Right la început a mai venit de la alți concurenți, bună pentru exemplul dar, dar nu pentru toate adresele de e-mail valabile.

Simona C. a dat soluția corectă folosind aceeași formula ca Alina C. Si Simona a trecut pe la orele mele… deja devin suspicios.

Ovidiu D, a obținut rezultate destul de interesante în prima versiune, dar nu suficient de exacte. Formula lui: =RIGHT(A2;LEN(A2)-FIND(„.”;A2;FIND(„@”;A2;1))).

În ordinea mesajelor mi-a mai scris și Ala Posta, o soluție cu Viagra… dar nu se aplică în cadrul problemei curente :)

Ovidiu D a mai venit cu o soluție bazată pe array-uri. Din păcate formula: {=RIGHT(A2:A16;LEN(A2:A16)-FIND(„.”;A2:A16;FIND(„@”;A2:A16;1)))} returnează același rezultat, inexact ca cel al formulei de mai sus.

Mihai P a trimis o altă formă de RIGHT cu trim-uri =TRIM(RIGHT(A2;LEN(A2)-FIND(„.”;A2))) O menționez pentru că TRIM-urile pot avea un rol bun în lucrul cu șiruri… din păcate soluția se aplică doar pe datele de test nu și pe toate celelalte adrese de e-mail valabile.

Catalin D aplica un fel de hard-code prin formula sa: =MID(A2;SEARCH(„.”;A2;SEARCH(„@”;A2)+1)+1;6) Nu am înțeles cum a obținut acea valoare 6 din search, dar pare destul de matematizat pentru că ies destul de multe cazuri corect la iveala.

Andreea A propune asa după cum spune și ea o soluție mai băbească… care arată cam așa: =RIGHT(RIGHT(A2; LEN(A2)-FIND(„@”; A2)); LEN(RIGHT(A2; LEN(A2)-FIND(„@”; A2)))-FIND(„.”; RIGHT(A2; LEN(A2)-FIND(„@”; A2))))

Mie mi-a plăcut pentru că este lungă și drăguță… are atât de multe paranteze… :)))

Și în ordinea lor încă vre-o două mesaje cu right șiiii mid și right și len și search…

De departe în schimb cea mai lungă formulă îi aparține lui Constantin S:

=RIGHT(RIGHT(A2;LEN(A2) – SEARCH(„@”;A2)); LEN(RIGHT(A2;LEN(A2) – SEARCH(„@”;A2))) – SEARCH(„.”;RIGHT(A2;LEN(A2) – SEARCH(„@”;A2)))) Nefuncțională complet din păcate…

Așa cum îmi imaginam, Alexandru D. de la www.tutorialeoffice.ro a trimis cele mai multe și mai variate soluții de rezolvare a problemei cu datele de test prezentate. Din păcate nu toate exacte… făcând aceeași omisiune ca majoritatea, aceea de a rezolva problema fără a parcurge corect pașii: analiză, proiectare, implementare, testare, documentare și utilizare.

Aparent pare simplă problema dar metodologia de lucru în rezolvarea problemelor în Excel este să poți rezolva toate problemele de același tip sau cu diferite seturi de date, utilizând o singură formulă.

Felicitări Alinei și Simonei pentru soluție. Nu știu dacă este suficient pentru ele să știe că au reușit… să dea soluția corectă… pentru că trebuie să se mulțumească cu asta momentan. :)

Mulțumesc pentru implicare și sper că va plăcut!

PS. Vă provoc la o regulă de 3 simple sau la o ecuație de gradul 2 în Excel? :)

 

2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about 54,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 20 sold-out performances for that many people to see it.

Click here to see the complete report.

Voteaza un proiect in Restart Romania

 

Povesteam ceva timp în urmă despre Restart Romania.

Acum a venit timpul să spui care e cea mai bună idee.

E simplu:

1. Mergi pe: http://restartromania.netsquared.org/

2. Autentifica-te sau crează un cont nou şi confirmă-l pe mail.

2. Identifica proiectul care-ti place si da click pe el

3. Apasă butonul Votează

4. După ce ai ales 3 proiecte apesi pe butonul Submit Ballot!

Voturile sunt foarte importante pentru ideile celor implicati, reprezânt 50% din numărul de voturi care vor decide proiectele câştigătoare.

Chiar daca poate fi considerata sugestie voi spune ca eu am votat:

    1. Conducere Defensiva
    2. donor.ro
    3. Audit On-line

    Trebuie să menţionez că unul din proiecte este făcut de studenţi FEAA iar celelalte două sunt tot din Iaşi, provenind de la firme la care lucrează şi absolvenţi FEAA.

    Succes tuturor!

    Blog la WordPress.com.

    SUS ↑