Funcția LET() în Excel

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:

Recuperare parola fisier Excel sau Word

De fapt titlul este unul de tip clickbait… articolul este despre eliminarea parolei de editare a unui fișier Excel sau Word.

În urmă cu câteva zile, un coleg de la o firmă pentru care lucrez, mi-a povestit că un fost coleg a plecat din firmă și nu a lăsat parola de la un fișier template de Word parolat la editare. Ca să poți edita/actualiza acel document ai nevoie de parola de editare, altfel nu prea ai cum… La fel se poate întâmpla și cu documentele Excel care au fost protejate prin parola la editare de către utilizatori. Îmi povestea că a încercat tot felul de soluții de pe Internet … dar nu prea a găsit ceva free, iar cele on-line nu fac mare lucru. Mai sunt metode de a malforma documentul prin WordPad… dar se modifică mult structura, mai ales în Word dacă ai casete de fill-in sau alte texte.

Dacă nu știți cum să protejați un fișier Excel la editare, după acest articol nici nu veți mai considera util să învățați. Dar dacă totuși vreți să protejați anumite zone dintr-o foaie de calcul, puteți urmări detaliile și metodele din acest filmuleț de pe Youtube.

Articolul nu se aplică pentru parola de deschidere a fișierului…(Encrypt with Password) care la versiunile mai noi de Office fac criptarea conținutului și nu mai pot fi deschise dacă nu ai parola. În imagine metodele de protecția pentru un document Word și Excel din meniul File, Info.

Revenind la problema editării fișierelor parolate, procedura pe scurt de eliminare este următoarea:

  1. Creați o copie a fișierului parolat.
  2. Redenumiți fișierul parolat și schimbați extensia acestuia în .ZIP
  3. Deschideți fișierul ZIP
  4. Accesați locația XL\Worksheets și localizați fișierul XML care are numele foii de calcul protejate la editare, în cazul meu sheet1.xml

  5. Editați fișierul XML cu un editor de text. Eu folosesc Notepad++
  6. Localizați în fișierul XML linia specifică marcajului <sheetProtection … /> (exemplificare în imagine) și ștergeți această linie.

    În Word găsim în folderul Word fișierul Settings.xml marcajul <w:documentProtection ..

  7. Salvați fișierul XML și închideți
  8. Ieșiți din arhivă, redenumiți fișierul cu extensia .XLSX
  9. Deschideți și lucrați.

 

O demonstrație video este disponibilă pe Youtube.

Recomandarea mea pentru protecția documentelor este să folosiți sisteme de management al documentelor dedicate, exemplu SharePoint, și să alocați corect seturi de permisiuni și versionare pe bibliotecile de documente. De asemenea, SharePoint prin intermediul listelor va permite crearea de versiuni granulare la nivel de „linie”, amintind în același timp de beneficiile formularelor PowerApps cu business logic implementat și a fluxurilor Power Automate.

Sper să vă fie util.

“Biblioteca 52” – Problemă de #Excel [Update 21.09.2022]

De ceva vreme mă tot chinuie un gând legat de amestecarea unui pachet de cărți în mod aleatoriu în Excel. Așa cum probabil (puțini din) cititorii acestui blog știu, operațiunea ar trebui să se desfășoare fără Macro.

Care este utilitatea acestui exemplu? Cred că din punct de vedere economic nu prea are aplicabilitate. Este mai mult vorba despre exercițiul mental și de a vedea că putem să facem și altfel de calcule în Excel decât cele cu numere, produse și facturi. Având la bază principiul KISS, știm că la baza în orice problemă de Excel sunt numerele.

După cum puteți vedea în Gif-ul de mai jos, am reușit o rezolvare a problemei dar sunt curios în legătură cu alte variante de rezolvare, inclusiv cu Macro.

 

Fișierul poate fi descărcat pentru rezolvare la adresa: Biblioteca 52.xlsx

În cazul în care „vă prindeți în joc” vă rog să îmi trimiteți soluțiile voastre la adresa valy.greavu@feaa.uaic.ro până în data de 21.09.2022, ora 13:00. După acea oră voi face un update la articol cu propunerea mea de rezolvare și cele mai bune soluții. Repet, este doar un exercițiu, dar dacă cineva poate găsi o utilitate lăsați mesaj în comentarii.

[UPDATE 21.09.2022]

Din păcate nu am primit decât o singură soluție la problemă din partea lui CiprianS care rezolvă într-un fel aproape identic cu propunerea mea de rezolvare.

Aici soluția mea:

Spuneam că la bază totul înseamnă numere în Excel. Ca să amesteci niște numere trebuie doar să le generezi aleatoriu (random) iar după să sortezi acele numere după randomizare. Nu poți folosi doar funcția Random pentru că ea poate genera numere duplicat din aceeași plajă.

Aplicabilitate practică

Un coleg mi-a sugerat și o aplicabilitate practică: ai un anumit număr de oameni și trebuie să-i așezi într-o sală, un rând aleatoriu. Nu le poți aloca doar numere random ci trebuie să-i și ordonezi random.

[/UPDATE]

Sper să fie interesant pentru cineva!

Blog la WordPress.com.

SUS ↑