Excel – Data validation and Conditional Formatting


În Excel există posibilitatea de a face validarea datelor introduse într-o foaie de calcul pe baza unor constrângeri.

Din păcate în opțiunea Data validation din meniul Data nu putem introduce decât o singură condiție de validare. De cele mai multe ori suntem obișnuiți să folosim opțiunea de List și introducem valorile în căsuțe pe baza unei liste predefinite:

Data validation, List

Ce facem când dorim să facem mai multe validări pe aceeași înregistrare? În baze de date există triggere și proceduri stocate de validare, în Access există Validation Rule la nivel de tabelă, dar în Excel nu avem posibilitatea decât să avertizăm utilizatorul prin formatare condițională.

În tabelul următor, (definit/formatat ca un tabel – Format as table) valorile care pot fi introduse pe coloana A sunt doar MC și MA. În coloanele D, F, H și J valorile pot fi doar correct și incorrect. Aceste constrângeri au fost stabilite cu Data validation.

Tabel date

Mai departe, pentru ca o înregistrare să fie validă trebuie să se respecte următoarele constrângeri:

  • dacă tipul înregistrării este MC, atunci între valorile din coloanele D, F, H și J trebuie să se găsească o singură dată valoarea correct;
  • dacă tipul înregistrării este MA, atunci între valorile din coloanele D, F, H și J valoarea correct trebuie să apară de două sau de trei ori, niciodată de 0, 1 sau 4 ori.
    Având în vedere faptul că nu putem constrânge utilizatorul să respecte acele reguli, putem măcar să-l avertizăm prin formatare condițională.
    Selectăm tabelul cu date fără capul de tabel, apoi din meniul Home, activăm Conditional Formatting, New Rule. Având în vedere faptul că trebuie îndeplinite condiții cumulative, trebuie să folosim funcția AND() în scrierea formulei condiționale sau cu OR() în cazul condiției 2.
    Pentru prima condiție formula va fi:

Formatare condițională cu AND()

 

pentru a doua condiție:

Formatare condițională cu AND() și OR()

=AND($A2="MA";OR(COUNTIF($D2:$J2;"correct")<2;COUNTIF($D2:$J2;"correct")>3))

Vă las să testați singuri rezultatul.

Sper să vă fie util.

Anunțuri

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s