În urma publicării articolului trecut legat de transformarea numerelor în litere în Excel, un mare specialist în Excel, Ciprian Stoian, membru al comunității DrExcel.ro și ITLearning.ro mi-a trimis o variantă actualizată a formulei care poate fi folosită fără tabele de căutare și funcții VLOOKUP(). Provocarea a fost legată de idea de a implementa această funcționalitate în listele de tip SharePoint, care se poate realiza prin coloane calculate în mod nativ sau xPath pe formularele InfoPath.
Problema coloanelor calculate în SharePoint este dată de limitarea formulelor la 1024 de caractere, așa că am folosit formula lui Ciprian (vezi imaginea) și am descompus-o în 3 coloane calculate diferite (Bani, SuteZeci, SuteMii) a căror rezultat l-am reconcatenat într-o coloană calculată cu LitereTotal.
Noua versiune, pentru care am obținut acordul lui Ciprian, a fișierului Excel incluzând ambele variante poate fi descărcat de aici. Din punctul meu de vedere formula lui Ciprian este mai bună decât cea propusă inițial de mine pentru că funcționează oarecum diferit pe partea de calcul matematic a zecimalelor și este mai scurtă, deci mai ușor de memorat. ”Marele meu merit” este că am reușit să-l provoc! Mai trebuie să vă amintesc faptul că Ciprian a fost cel care a propus cea mai funcțională soluție pentru problema cu combinațiile unice între mulțimi.
Mai jos găsiți un model de implemetare adaptată a formulei lui Ciprian în format funcțional pentru SharePoint din Office 365.
Pentru cei care doresc să dezvolte astfel de formulare citiți înainte seria de articole despre business forms. Pe lângă formula în sine apare problema completării on-line a formularului. Câmpurile calculate nu apar pe formularele de date Excel, ci apar abia după ce a fost completat formularul. Poate fi deranjant pentru cineva care are de completat mai multe date din cauză ca trebuie să deschidă și apoi să printeze formularul. Pentru a rezolva problema am creat un secondary data connection către lista de OP-uri care să fie declanșată la modificarea sumei. Utilizatorul scrie suma în caseta dedicată, ceea ce înseamnă change. După change, formularul trimite datele în listă (sursa Main), pasul 2 este interogarea pe secondary și apoi setarea formulei calculate de litere pe formularul curent. Asta se traduce prin a salva în timp real.
Cineva m-a întrebat de ce fără VBA?
Pentru că VBA-ul chiar dacă este excelent de bun și util, nu este suportat în toate mediile. În SharePoint poți introduce date în liste de date asemănător Excelului și poți folosi coloane calculate pentru combinarea valorilor. Dar nu poți folosi toate funcțiile Excel și nici pe departe VBA. De asemenea, în Excel Services (aplicațiile de editare on-line a fișierelor Excel) nu sunt permise macrourile VBA, din rațiuni de securitate. Pentru mine este suficient să caut metode, sau prieteni dispuși să-și își aloce timp pentru a ajuta. Nu în ultimul rând, consider că utilizatorii obișnuiți caută soluții simple la probleme complicate. Iar pentru mulți VBA-ul este deja o soluție suficient de complexă. Sigur uneori chiar nu se poate fără VBA, vezi aici propunerea mea pentur formula de însumare a unor celule Excel pe bază de culori.
Dacă mai aveți probleme interesate de Excel nu exitați să mă contactați sau să contactați forumurile
Sper să vă fie util! Mulțumim Ciprian!
Buna ziua.
La banca imi cere ca suma sa se scrie cu liniuta, adica 2012-26 lei si nu 2012,26 lei.
Cand scriu asa formula imi da eroare. Puteti sa-mi spuneti ce trebuie de modificat in formula ca sa poata scrie in litere?
ApreciazăApreciază
Sery, formula este valabila doar pentru numere. Scriind numar-zecimala acea valoare nu mai este un număr.
Am doua solutii pentru tine:
1. Introduci valoarea numerica in caseta in formatul de number, apoi aplici un custom format pe acea celula ca sa iti arate zecimalele separate prin cratima.
2. Folosesti doua celule cu numere întregi si una de separate cu cratima. Modifici formula in ca sa apară in doua celule distincte apoi le concatenezi.
Sper sa fie util.
ApreciazăApreciază
Te-ai gindit la un Add-In cu Office.js (care merge pe excel online – android, iOS si excel desktop 2016)
ApreciazăApreciat de 1 persoană
Alf, chiar nu m-am gândit, dar dacă vrei să îl faci poti să ma pui la bibliografie. :)
ApreciazăApreciază
in formula de transformare cifre in numere totul lukreaza in afara de.. cin introducem 101 000, 102 000, 103 000, 104 000, 105 000, 106 000,107 000,108 000, 109 000 se afiseaza una suta mii lei si nu una suta unu mii lei etc…
ApreciazăApreciază
nu lukreaza la 101 000 102 000 pina la 109 000 afiseaza una suta mii lei si nu una suta unu mii lei etc
ApreciazăApreciază
Artimon, verifica te rog in fisierul cu versiunea 2 in foaia de calcul Ciprian Stoian: https://gallery.technet.microsoft.com/Romanian-Transformare-917b9167 Descarci de aici fisierul.
ApreciazăApreciază
Am verificat aceeasi problema…
ApreciazăApreciază
Multumesc mult pentru implementare. Folosirea functiei CHOOSE in loc de VLOOKUP voiam si eu sa o sugerez pe pagina articolului initial, pentru ca formula sa fie compatibila si cu SharePoint. Mii de multumiri, chiar este foarte utila. Aveti cumva si cele trei variante pe bucati pentru SharePoint si le puteti incarca aici? Multumesc, o zi frumoasa!
ApreciazăApreciază