aducere date de pe alt sheet dupa 1 conditie

Informatii despre cum se utilizeaza Microsoft Excel 2007. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
surferboy79
Mesaje: 104
Membru din: Lun Mai 25, 2009 8:29 pm

aducere date de pe alt sheet dupa 1 conditie

Mesaj de surferboy79 » Vin Feb 26, 2010 12:05 am

In exemplul de mai jos in sheetul lista_angajati vreau sa aduc automat tariful corespunzator angajatului introdus in coloana A.Am o formula dar care nu este completa, nu stie sa tina cont care tarif este actual (asta e conditia).Il ia pe primul pe care il gaseste in istoric_tarif.Care a fi formula corecta care sa tina cont ca trebuie sa aduca tariful actual?
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de IPP » Vin Feb 26, 2010 7:19 am

Buna ziua

O idee dar folosind functia vlookup. De regula, functia cauta intr-o lista in care, daca exista mai multi itemi identici, returneaza rezultatul din dreptul primei aparitii gasite. In aceast fel ar fi suficient sa sortati lista in care trebuie sa caute dupa 2 criterii: identificator angajat si stadiu. In urma sortarii (ascendente) stadiul "activ" va fi primul (evident daca pastrati denumirile de Activ si Suspendat in dreptul fiecarui identificator angajat).

IP

Vedeti si fisierul atasat unde am facut pasii enumerati mai sus
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de IPP » Vin Feb 26, 2010 7:59 am

Buna ziua

.... sau folosind SUMPRODUCT? ;)

Vedeti si fisierul atasat.

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

surferboy79
Mesaje: 104
Membru din: Lun Mai 25, 2009 8:29 pm

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de surferboy79 » Vin Feb 26, 2010 9:57 am

Varianta cu sumproduct este mai buna caci nu mai este obligatoriu sa se faca sortare.
In aceeasi varianta in care sa nu necesite sortare prealabila, va propun o noua problema.Vedeti fisierul atasat.As vrea ca sa poata traga salariul pe primul sheet la fel ca si in cealalta problema doar ca acum sa faca luand tariful cu data de valabilitate cea mai recenta (ultima din punct de vedere calendaristic)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

surferboy79
Mesaje: 104
Membru din: Lun Mai 25, 2009 8:29 pm

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de surferboy79 » Dum Mar 07, 2010 2:03 pm

ma poate ajuta cineva cu ultima mea intrebare din acest topic?

Avatar utilizator
gecs
Moderator
Moderator
Mesaje: 2311
Membru din: Sâm Aug 15, 2009 10:05 am
Localitate: Bucuresti

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de gecs » Dum Mar 07, 2010 2:30 pm

Se poate doar cu formula CSE pentru ca e o cautare dupa conditii multiple.

In fisierul atasat ai o solutie tot cu SUMPRODUCT ca functie de baza pe o coloana si cu INDEX+MATCH pe alta coloana, dar daca ai doua inregistrari pentru aceeasi persoana cu acelasi an si aceeasi luna in tabelul din foaia "istoric_tarif" formula cu SUMPRODUCT o sa-ti returneze suma acelor tarife, iar cea cu INDEX+MATCH va returna prima valoare gasita care respecta conditiile - conditia ca solutia sa functioneze corect e sa nu ai asemenea duplicate, eventual sa le rezolvi adaugand si o coloana pentru zi si acolo datele sa fie diferite (de fapt e nevoie de o singura coloana pentru datele calendaristice, coloana pe care am adaugat-o in tabel).
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

surferboy79
Mesaje: 104
Membru din: Lun Mai 25, 2009 8:29 pm

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de surferboy79 » Lun Mar 08, 2010 10:36 am

Clar ca formula cu sumproduct in acest caz nu este buna, ca face altceva decat ar trebui.Dar nici cealalta formula nu functioneaza corect deoarece daca am in istoric la aceeasi angajat pe aceeasi an si luna doua tarife singura diferenta fiind A sau L (incepand cu avans adica pana in 15 data calendaristica sau lichidare dupa 15) el nu mai stie sa tina cont de aceasta conditie si pur si simplu ia primul gasit.Cum se poate rezolva si asta?Poti sa imi dai o formula care sa ia luna, anul si AsauL pur si simplu ca niste conditii oarecare, valabila ptr orice alta conditie (fiind trei conditii in total), decat ca special data calendaristica?

Avatar utilizator
gecs
Moderator
Moderator
Mesaje: 2311
Membru din: Sâm Aug 15, 2009 10:05 am
Localitate: Bucuresti

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de gecs » Lun Mar 08, 2010 10:55 am

Cea mai buna diferentiere e pe data calendaristica integrala (an, luna, zi). Se poate forma coloana suplimentara interpretand A sau L: pentru A se ia ziua 15, iar pentru L se ia ziua 28 (ca sa existe in toate lunile anului) si atunci nu mai e nicio ambiguitate (si formula cu SUMPRODUCT ar functiona corect pentru ca ar fi o singura inregistrare care indeplineste toate conditiile - de fapt e o singura conditie, nu 3: cea mai recenta inregistrare pentru o anume persoana). Daca apar doua inregistrari pentru aceeasi persoana cu aceeasi data completa (an, luna, zi), dar cu valori diferite de tarif situatia asta nu poate fi interpretata altfel decat ca o greseala si in consecinta si rezultatele returnate de formule vor fi gresite - principiul Garbage In - Garbage Out ;)

In fisierul atasat de mine anterior nu ai de facut altceva decat sa modifici formula de pe coloana "Data" in:
=DATE($B2,$C2,IF($D2="A",15,28))
pentru F2, copiata apoi in jos, pe coloana. Ambele formule din foaia "lista_angajati" vor functiona, dar ca si tine, si eu as alege formula bazata pe INDEX + MATCH.

surferboy79
Mesaje: 104
Membru din: Lun Mai 25, 2009 8:29 pm

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de surferboy79 » Vin Mar 12, 2010 12:37 pm

Functioneaza intr-adevar.Multumesc.Cred ca o sa mai revin totusi la acest topic in curand ptr ca mai am o situatie asemanatoare, putin diferita.

marius2004
Mesaje: 1
Membru din: Sâm Oct 29, 2011 9:44 am

Re: aducere date de pe alt sheet dupa 1 conditie

Mesaj de marius2004 » Sâm Oct 29, 2011 10:09 am

Salut, am si eu o intrebare legata de acest subiect, dar nu prea am folosit macro-uri pana acum.
Am o baza de date cu niste informatii despre niste comenzi.
In cazul unei comenzi nu toate celulele sunt completate.
Cand toate celulele vor fi completate, la capatul tabelului am o celula "A fost facuta comanda?", si am facut cu data validation un drop down menu pentru acea celula, cu "Da" si "Nu" ca optiuni de selectare.
In cazul in care selectez "da", as vrea sa imi mute tot randul cu comanda respectiva in alt spreadsheet, ca in primul spreadsheet ("Inregistrare") sa ramana doar comenzile care inca nu sunt complete inca, iar in celalalt spreadsheet ("Comenzi facute") sa fie cele complete.
As vrea sa am si posibilitatea ca in cazul in care am dat "da" din greseala sa pot triminte randul inapoi in primul spreadsheet.
Am atasat un exemplu al tabelului.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Închis

Înapoi la “Intrebari despre Excel 2007”