Astăzi trebuia să calculez punctajele și mediile studenților pentru evaluarea pe parcurs. Exemplu în imagine, ordonat după punctajul obținut.
Întotdeauna mi-a plăcut să le ofer studenților opțiuni de îmbunătățire a rezultatelor, iar facultatea ne permite să acordăm bonusuri pentru activități extracuriculare. În exemplul acesta, studenții care au participat la un curs facultativ și au obținut calificative din partea unei companii partenere a facultății au obținut un bonus de un punct care se adaugă la rezultatele obținute în timpul semestrului. Având în vedere că de obicei studenții cei mai buni, sunt și cei care accesează toate oportunitățile care le sunt puse la dispoziție, avem un fenomen că aceștia au depășit nota 10.
Ca să calculez punctajul studenților am folosit media ponderată care le oferă un punctaj de maxim 5 puncte, care înmulțit cu 2 se transformă în nota finală, la care se adaugă punctul de la Club (celula F2). Ca să afișez doar două zecimale am folosit funcția TRUNC().
Formula inițială: =TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2)
Pentru că nota care se trece în catalog NU poate depăși nota 10, avem mai multe metode, cea mai frecvent întâlnită și mai incorectă este de a „strica” formula și a completa automat cu nota 10. O altă metodă, folosită de cei care lucrează puțin mai bine cu Excelul este de a folosi o funcție IF() care să compare rezultatul obținut cu 10. Dacă nota este mai mare ca 10, rezultatul IF-ului va fi 10. Altfel va fi din nou media ponderată.
Exemplificare cu IF: =IF(TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2)>10;10;TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2))
Această metodă complică puțin actualizarea formulei și are o lungime de 84 de caractere. În ziua de astăzi, în abordarea Modern Excel este de a folosi tehnici de a reduce cât mai mult complexitatea formulelor.
O funcție suport este funcția LET() care are următoarea sintaxă:
LET() permite definirea uneia sau mai multor variabile și a valorilor acesteia după care se realizează calculul.
În exemplul meu, am nevoie de o singură variabilă care va lua valoarea din formula inițială. Apoi în partea finală de LET() folosesc funcția IF() pentru a determina rezultatul comparat cu nota 10.
Astfel formula mea din G2 devine:
=LET(Media; TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2); IF(Media>10;10;Media))
În care Media ca nume de variabilă (name din sintaxă), ia în mod dinamic valoarea TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2) (name_value), iar în partea treia a formulei am IF-ul de comparația cu nota 10 (IF(Media>10;10;Media)) (calculation).
Funcția LET() permite definirea până la 126 de variabile.
În exemplul prezentat în imaginea următoare am implementat 3 variabile, din care una pentru calcul punctaj curs (MedCurs), una pentru calcul punctaj laborator (MedLab), o medie finală prin însumarea celor două medii intermediare (MedFin) și la final formula de validare a notelor peste 10.
Exemplu cu trei variabile:
Pentru a scrie în formula bar pe mai multe linii eu folosesc combinația de taste Alt (Stanga)+Enter pentru trecere pe rând nou.
În Google Spreadsheets nu am identificat implementarea funcției LET().
Sper să fie util cuiva!
Referințe suplimentare:
=MIN(TRUNC((C2*0,1+D2*0,3+E2*0,1)*2+F2;2);10)
ApreciazăApreciat de 1 persoană
Absolut de acord ca este o soluție mai simplă. Idea articolului era de a prezenta un exemplu de utilizare pentru funcția nouă LET() 😉
ApreciazăApreciază