[TIP] Despre organizarea datelor

Ce este nou in Microsoft Excel 2010?
Informatii despre cum se utilizeaza Microsoft Excel 2010
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Închis
smcsa
Mesaje: 2805
Membru din: Mar Sep 29, 2009 7:29 pm
Localitate: Timisoara

[TIP] Despre organizarea datelor

Mesaj de smcsa » Joi Aug 25, 2011 10:18 am

Deoarece colegul Gecs (sau Lucian, ca am si eu o varsta ;) ) a tot zis ca vrea sa se apuce de un astfel de subiect, m-am gandit sa-l incep eu.

De (prea) multe ori, cand am incercat sa dam o solutie unei probleme postate pe forum, ne-am lovit de ceva: organizarea datelor din fisierul postat de utilizator. Mai exact dez-organizarea datelor :lol: Pentru a lucra eficient (unii ar spune si corect) este necesar ca datele mele sa fie organizate de asa natura incat sa ne fie usor sa introducem, actualizam sau extrage date.

Si am sa incep cu cateva sfaturi:
1. Folositi Tables in versiuni de la 2007 in sus sau Lists in versiuni anterioare. Acestea ofera din start cateva avantaje in manipularea datelor. Pot face rapid sortari, filtrari, subtotaluri, la inserarea / adaugarea unor randuri noi se pastreaza formatarile, validarile si formulele si multe altele.
2. Nu folositi celule unite. Niciodata. Chiar daca va cere Directorul sau sotia. Repet: niciodata. Un tabel cu celule unite nu poate fi sortat sau filtrat. Contopirea celulelor poate fi evidata cu un pic de gandire: de exemplu, daca vreau sa am in capul de tabel anul si sub el lunile, voi pune in celula cu numele lunii si anul, de genul 2011 - 01
3. Nu folositi cap de tabel pe mai mult de un rand. Datele de pe fiecare coloana trebuie sa aibe un nume si doar unul. Acelasi exemplu ca la pct. 2. Bine, veti intreba, dar cum fac atunci sa vad doar datele dintr-un an ? Pentru asta exista PivotTable.
4. Formatati coloanele conform datelor pe care le vor contine: data calendaristica -> Date, sume de bani -> numere cu 2 zecimale si miile despartite, varsta in ani -> numere fara zecimale
5. Nu introduceti caractere spatiu in plus (la inceputul sau sfarsitul textului). Chiar daca nu consuma toner, s-ar putea sa aveti nevoie de formule / macro care sa faca prelucrari pe texte si sa va incurce acel spatiu in plus. Daca acestea rezulta in urma unui import, ele se pot elimina cu functiile proprii Excel sau cu macro creat de noi, dupa caz.
6. Pastrati o uniformitate in completarea campurilor. De exemplu, daca am hotarat ca voi scrie numele complet ca "Nume Prenume", atunci asa va trebui sa scriu / completez pe intreaga coloana, nu "Prenume Nume" sau "Nume - Prenume". Pentru a identifica clar care este numele si care prenumele cand acestea sunt compuse, folositi cratima pentru a le uni (exact asta face si Evidenta Populatiei pe Cartile de Identitate), de exemplu "Popescu-Ionescu Vasile-George" dar nu "Popescu - Ionescu Vasile - George"
7. Nu folositi tipuri de date care nu isi au rostul. Cea mai frecventa greseala pe care am intalnit-o este folosirea tipului de date numeric in loc de text. Un exemplu: de ce ar trebui sa folosesc tipul de date numeric la numarul CNP ? Nu fac absolut nici-o operatiune matematica cu CNP-ul. Nu adun CNP-uri, nu scad CNP-uri si nu extrag radacina cubica dintr-un CNP. A, ca fac operatiuni PE un CNP (determin varsta), asta este o alta problema. O pot face la fel de bine si daca e text.

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

Re: [TIP] Despre organizarea datelor

Mesaj de gecs » Lun Noi 14, 2011 11:47 am

Hai sa adaug si eu cate ceva legat de tabele, ca atat m-am invartit pe dupa piersic cu subiectul asta, ca...

Desi n-am concizia si expresivitatea in exprimare a colegului smcsa, o sa incerc sa scriu tot asa, pe puncte, cateva sfaturi. Peste tot, in cele ce urmeaza, tabel se refera la Table, asa cum e definit incepand cu versiunea 2007 inclusiv.

Un tabel trebuie vazut intotdeauna ca o colectie de obiecte de acelasi fel cu atributele lor: fiecare inregistrare (rand) reprezinta un obiect si valorile de pe fiecare coloana reprezinta atributele obectului din inregistrarea respectiva. Fiecare inregistrare trebuie sa se deosebeasca de toate celelalte inregistrari cel putin prin valoarea unui camp (atribut). Tabelele se organizeaza cum am spus, CU INREGISTRARILE PE RANDURI SI ATRIBUTELE PE COLOANE, NU INVERS, pentru ca toate functiile de cautare si procesare, atat in Excel cat si in orice program de baze de date, sunt facute sa actioneze pe o asemenea organizare. Organizarea pe coloane poate fi acceptabila doar pentru forma finala, prelucrata a datelor.

1. Nu inserati mai mult de un tabel intr-o foaie de calcul. Cel mult, daca acel tabel tine loc de interogare parametrizata (extragere de date din alte tabele, dupa anumite conditii/parametri) puteti introduce controalele (de obicei liste create cu Data Validation din care sa se aleaga valorile parametrilor) - preferabil in acelasi rand al foii in care se afla capul de tabel, dar despartite de cel putin o coloana de acesta.

2. Cu tabele se lucreaza stergand intregul rand (daca e cazul) inserand unul/mai multe randuri (daca e cazul), fara sa lasati randuri libere (fara date).

3. La definirea (inserarea) unui tabel acesta primeste automat un nume - acel nume poate fi editat si e chiar bine s-o faceti, folosind un nume cat mai sugestiv pentru continutul acelui tabel. Simultan cu inserarea tabelului se creaza un nume (Name) dinamic (acelasi cu numele tabelului) care refera range-ul de date al tabelului. Exemplu: inseram in Sheet1 un tabel cu header-ul pe randul 1, 4 coloane (A:D) si 3 inregistrari (2:4) -> la inserare el va primi automat un nume de forma Table1 -> deschizand Name Manager vom observa ca exista un nume Table1 care refera range-ul Sheet1!$A$2$D$4 -> inchidem Name Manager, modificam numele tabelului in TblProduse, stergem randul 3 si deschidem din nou Name Manager -> vom gasi numele TblProduse care refera Sheet1!$A$2$D$3. La fel se intampla daca adaugam randuri, sau stergem/adaugam coloane. Acest nume poate fi folosit mai departe in orice formula, din orice foaie de calcul pentru a referi range-ul de date al tabelului din Sheet1.

4. Referintele structurate (structured references) sunt folosite pentru a adresa range-urile componente ale tabelului (header, coloane, totaluri, randul curent etc.) in forma nume_tabel[#Headers] introdus ca array formula pe tot atatea celule cate contine header-ul tabelului, pentru a afisa numele coloanelor din tabel (sau nume_tabel[[#Headers],[Coloana1]] pentru header-ul coloanei denumite Coloana1 - introdusa ca formula obisnuita), nume_tabel[Coloana1] pentru a referi range-ul de date al coloanei denumite Coloana1 (fara header), nume_tabel[[#Thisrow],[Coloana1]] pentru a referi celula de pe coloana denumita Coloana1, de pe randul curent etc. Toate acestea sunt foarte utile pentru ca nu e necesar sa specificam in ce foaie de calcul se afla tabelul, pe ce rand/coloana a fost inserat etc. In plus, in dialogul (menu-ul) ajutator care apare la scrierea unei formule, selectarea numelui tabelului aduce mai departe, dupa ce am tastat prima "[", lista cu elementele respectivului tabel. Poate parea greu de invatat la inceput, dar, credeti-ma, dupa ce te-ai obisnuit sa folosesti referintele structurate in lucrul cu tabele, nu te-ai mai lipsi de ele :)

Pentru adresarea range-ului de date dintr-un rand intreg, dar nu cel curent, folositi cu incredere functia INDEX sau combinatia INDEX+MATCH cu ultimul argument al lui INDEX lipsa. Exemplu: tabelul e inserat in randul 1 (header-ul) si vrem sa folosim intr-o formula datele de pe intregul rand 4 (a 3-a inregistrare) - putem folosi INDEX(nume_tabel,3,), sau daca vrem sa referim o inregistrare din tabel al carei atribut are o anume valoare - presupunem ca atributul se afla pe coloana Coloana1 - putem folosi INDEX(nume_tabel,MATCH(valoare,nume_tabel[Coloana1],0),). Remarcati prezenta virgulei inaintea ultimei paranteze, care determina returnarea tutror valorilor de pe toate coloanele din randul specificat in clar, sau cu ajutorul lui MTACH.

Cam atat, deocamdata. O sa mai adaug, eventual, raspunzand la eventuale intrebari pe tema asta, sau daca mai gasesc ceva semnificativ de scris despre tehnica folosirii tabelelor (sigur ar mai fi multe de spus, dar acum mi-a obosit inspiratia... ).

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

Re: [TIP] Despre organizarea datelor

Mesaj de gecs » Lun Noi 14, 2011 3:50 pm

In sectiunea pentru versiunea 2007 am mai scris un raspuns la acest subiect, dar ca sa nu incarc inca o data cele 3 fisiere atasate acolo, postez aici doar un link, pentru cei interesati:
Raspuns 3

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: [TIP] Despre organizarea datelor

Mesaj de Dr.Windows » Mie Noi 16, 2011 11:35 am

Pentru ca subiectul a fost considerat de importanta majora pentru orice sectiune de Excel (2003 ... 2010) a fost copiat in toate aceste subforumuri pentru a fi cat mai vizibil si "sticky", dar pentru intrebari/raspunsuri si mai multe detalii ramane subiectul din sectiunea de Excel 2007 - [TIP] Despre organizarea datelor - numai acolo se va putea continua discutia pe aceasta tema.

Închis

Înapoi la “Intrebari despre Excel 2010”