Pagina 1 din 1

Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 10:51 am
de Lanicu
Buna ziua.

Dupa indelungi ore de "prins urechile" prin diverse fisiere, am hotarat sa apelez la bunavointa dvs. cu speranta ca poate asa am reusesc sa ma luminez si uite asa creste IQ pe Romania. :)

Problema mea se prezinta in felul urmator :

- Am doua sheeturi ale aceluiasi workbook care contin date formatate in acelasi mod.
- Unul din sheeturi contine mai multe date decat celalalt (In fapt este o fisa de cont, un sheet contine date la data fizica de 25/05/2010, iar altul la 31/05/2010)
- Numarul de randuri din fisiere este variabil, numarul de coloane de regula este fix, pot aparea cazuri in care sa varieze dar ma rog sa zicem ca il fac sa fie fix.
- Mentionez ca un sheet are in medie intre 1500 si 3000 de randuri, iar numarul diferentelelor intre cele 2 sheeturi este de cateva zeci poate chiar peste o suta.

Problema mea este sa gasesc un macro/functie/mai multe functii care sa imi evidentieze cumva ( sa le coloreze, sa le "scuipe"in alt sheet) informatiile care au aparut in plus intre cele doua date. Cu alte cuvinte ce are sheetul 2 in plus fata de sheetul 1. Ma intereseaza sa imi returneze/sublinieze tot randul nu doar o celula.

Ce spuneti, credeti ca exista vre-o solutie inteligenta sau tot punctarea manuala ma asteapta?

P.S. Probabil din fisierul atasat se va intelege mai bine dilema mea, niciodata nu m am priceput la explicatii

Cu multe,sincere si calduroase multumiri.

Un angajat ce poate pleca in concediu dupa ce rezolva blestemata asta de problema :)

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:29 pm
de gecs
In fisierul atasat ai o varianta cu formule (de fapt o singura formula, da' CE FORMULA! ;))
Pasii au fost urmatorii:
- Transformat range-ul de valori din foaia "initial" in tabel (Table1 - e importanta denumirea);
- Transformat range-ul de valori din foaia "dupa" in tabel (Table2 - e importanta denumirea);
- Adaugata o coloana (am numit-o "Diferenta") la Table2 ;
- Pe primul rand cu date al lui Table2, pe coloana "Diferenta" scrisa formula - formula se va autocompleta pe toata coloana dupa ce a fost confirmata cu Enter;
- Selectat range-ul de date al intregului Table2 (fara header, incepand cu A2) -> Conditional Formatting -> New Rule... -> Use a formula to determine whic cells to format -> se foloseste formula "=$AS2=0" (fara ghilimele, evident) se alege formatul dorit (eu am schimbat doar fondul celulelor in galben) -> OK.
Formula folosita numara cate aparitii ale inregistrarii curente din Table2 exista in Table1, facand comparatia camp cu camp - daca rezultatul e 0, evident ca inregistrarea respectiva nu exista in Table1.

Concediu placut!

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:46 pm
de Dr.Excel
Wonderfull :P

care era limita la nr de caractere dintr-o formula?

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:52 pm
de Dr. Cloud
Cred ca trebuie sa vorbim la Microsoft sa o schimbe.
gecs tocmai a stabilit un nou record pe forum.
Pentru cei care nu au vazut-o:
=SUMPRODUCT(--(Table2[[#This Row];[Document]]=Table1[Document]);--(Table2[[#This Row];[Data]]=Table1[Data]);--(Table2[[#This Row];[Cod TVA]]=Table1[Cod TVA]);--(Table2[[#This Row];[Abgeschlossenes Jahr]]=Table1[Abgeschlossenes Jahr]);--(Table2[[#This Row];[Cod perioada]]=Table1[Cod perioada]);--(Table2[[#This Row];[Valuta]]=Table1[Valuta]);--(Table2[[#This Row];[Suma valuta]]=Table1[Suma valuta]);--(Table2[[#This Row];[Suma]]=Table1[Suma]);--(Table2[[#This Row];[Betrag in alternativer Währung]]=Table1[Betrag in alternativer Währung]);--(Table2[[#This Row];[Text inregistrare]]=Table1[Text inregistrare]);--(Table2[[#This Row];[Grupă produse / centru de cost]]=Table1[Grupă produse / centru de cost]);--(Table2[[#This Row];[Magazin]]=Table1[Magazin]);--(Table2[[#This Row];[Purtator de costuri]]=Table1[Purtator de costuri]);--(Table2[[#This Row];[Cupon]]=Table1[Cupon]);--(Table2[[#This Row];[Dokument]]=Table1[Dokument]);--(Table2[[#This Row];[Dokumentdatum]]=Table1[Dokumentdatum]);--(Table2[[#This Row];[Nr. crt.]]=Table1[Nr. crt.]);--(Table2[[#This Row];[Nivel]]=Table1[Nivel]);--(Table2[[#This Row];[Tip contabilizare]]=Table1[Tip contabilizare]);--(Table2[[#This Row];[Buchungsart]]=Table1[Buchungsart]);--(Table2[[#This Row];[Contabilizare credit]]=Table1[Contabilizare credit]);--(Table2[[#This Row];[Corectura]]=Table1[Corectura]);--(Table2[[#This Row];[Nivel contabilizare]]=Table1[Nivel contabilizare]);--(Table2[[#This Row];[Cod perioada2]]=Table1[Cod perioada2]);--(Table2[[#This Row];[Valuta3]]=Table1[Valuta3]);--(Table2[[#This Row];[Suma valuta4]]=Table1[Suma valuta4]);--(Table2[[#This Row];[Menge]]=Table1[Menge]);--(Table2[[#This Row];[Betrag in alternativer Währung5]]=Table1[Betrag in alternativer Währung5]);--(Table2[[#This Row];[Triangulation]]=Table1[Triangulation]);--(Table2[[#This Row];[Curs]]=Table1[Curs]);--(Table2[[#This Row];[Curs de schimb alternativ]]=Table1[Curs de schimb alternativ]);--(Table2[[#This Row];[Abgeschlossenes Jahr6]]=Table1[Abgeschlossenes Jahr6]);--(Table2[[#This Row];[Numar declaratie vamala]]=Table1[Numar declaratie vamala]);--(Table2[[#This Row];[Grupă produse / centru de cost7]]=Table1[Grupă produse / centru de cost7]);--(Table2[[#This Row];[Magazin8]]=Table1[Magazin8]);--(Table2[[#This Row];[Purtator de costuri9]]=Table1[Purtator de costuri9]);--(Table2[[#This Row];[Cupon10]]=Table1[Cupon10]);--(Table2[[#This Row];[Dimensiune IC - Inter Company]]=Table1[Dimensiune IC - Inter Company]);--(Table2[[#This Row];[Dimensiune 6]]=Table1[Dimensiune 6]);--(Table2[[#This Row];[Zurückgesetzt]]=Table1[Zurückgesetzt]);--(Table2[[#This Row];[Tracenummer]]=Table1[Tracenummer]);--(Table2[[#This Row];[Cont analitic]]=Table1[Cont analitic]);--(Table2[[#This Row];[Denumire cont]]=Table1[Denumire cont]);--(Table2[[#This Row];[Text inregistrare11]]=Table1[Text inregistrare11]))
Deci...WOW

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:54 pm
de Dr.Excel
nu a scris-o de mana, a folosit copy/paste. Oricum incomod

Cine ii face lui gecs o formula care sa genereze automat formula de mai sus

Stiu cine .. gecs? :lol:

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:55 pm
de gecs
Pai conform Excel specifications and limits sunt admise 8192 de caractere. Formula mea are "doar" 2836, asa ca mai "incap" vreo doua tabele de comparat ;)

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 12:57 pm
de gecs
N-am folosit copy-paste, dar nici de mana n-am scris decat "=SUMP",[Tab], parantezele, minusurile, virgulele si egalurile - restul click-uri ;)

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 2:19 pm
de Lanicu
Wow.. mai mult nu am ce sa zic, decat vorba la un post de televiziune manelistic "Jos palaria"

Intentionam sa rasplatesc autorul cu 2 beri de litera a formulei izbavitoare, acum trebuie sa ma gandesc la altceva, nu de alta dar imi e mila de ficatul lui :D

O zi minunata la toata lumea, cel putin a mea sigur va fi.

Multam inca o data Gecs

Laurentiu

Re: Comparatie data intre doua sheeturi

Scris: Lun Iun 07, 2010 2:29 pm
de gecs
Cu placere. Formula nu cred ca mi-a luat mai mult de 5 minute s-o "scriu", pentru ca toate referintele structurate se completeaza automat la click in celula, sau pe header-ul coloanei...

Cat despre bere, daca e ca asta, e suficienta doar una :D