Problemă de formatare în Excel


[Update – Rezolvarea]

Soluția câștigătoare este cea care presupune execuția cu cel mai puțin efort posibil. Așa cum am specificat în mesajul inițial, formatarea condițională era soluția cea mai la îndemână. Problema este că din câte am fost învățați formatarea condițională la nivel de bloc de căsuțe se aplică pentru o valoare fixă… în soluțiile mai evoluate pentru o valoare specificată într-o anumită celulă.

Interesant în schimb este că Excelul știe, da Excelul știe, să aplice relativitatea celulelor în formatarea condițională. Și pentru mine a fost o surpriză, de aceea am ținut să partajez cu voi această problemă, pentru că ”nu-i așa?”… poate fi fun.

Nu vă mai fierb. Soluția era așa:

  1. Se selectează blocul de căsuțe de la B2 la F5
  2. Conditional formatting, Highlight Cells Rules, Less than
  3. În fereastra cu formula se scrie la Format cells that are… =$A2
  4. Ok

image

Și merge!

Stupid de simplu nu? Învățămintele pe care ar trebui să le deducem: nu trebuie să căutăm soluții complicate la probleme simple! Dacă avem o cale de urmat, suntem datori să o încercăm. Necunoașterea te face să pierzi mai mult timp decât ar trebui.

Îmi cer scuze celor care ar fi dorit să răspundă și nu le-a mers adresa de e-mail pe care am specificat-o greșit… din viteză!

O să-i specific doar pe cei care au trimis soluții complete sau sefe.

Primul care a răspuns la mesaj a fost OvidiuD, din Iași. Soluție corectă.

Al doilea a fost AlexandruD din București la câteva minute după soluția lui Ovidiu.

Al  treilea a fost IonutE din Brașov care a dat o soluție nu tocmai optimă dar corectă. La fel ca el am mai primit alte mesaje. Soluția lor era de a formata prima celulă din tabel și apoi cu Format Painter să copie formatarea din celula de date odată pe linie și apoi în jos. Nu e cea mai rapidă dar este corectă.

Mult mai puține soluții față de problema trecută dar una dintre ele merită premiul de soluția sefe, și vine de la CiprianS din Iași:

Se adauga codul de mai jos in Visual Basic Editor:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column <> 1 Then

        currentRow = Target.Row

        If Target.Value < Cells(currentRow, 1).Value Then

            Target.Font.ColorIndex = 3

        End If

    End If

End Sub

Acum, eu zic că mă pricep puțin și la VBA, dar… o soluție nu este completă dacă nu are și o documentație corespunzătoare. Cum se execută? De ce? :) De multe ori ”butonangiilor”, cum ne spunea profesorul Oprea, li se pare pierdere de timp să-ți explice cum să folosești un cod. Dar mai mulți decât geeks sunt utilizatorii care nu pot obține/folosi rodul muncii fără documentația completă.

Cam atât pentru astăzi. Credeți că ar merge să vă dau o problemă cu rotunjiri la nivel de fracțiuni, pentru a cărei rezolvare am beneficiat și de ceva lăzi de bere? :)

Dacă aveți probleme interesante din Excel, dați un mail și le lansăm în public.

Mulțumesc tuturor pentru implicare.

PS. De ce fac chestiile astea? De fun! ;) Asta e menirea educației în fapt: ținerea cerebelului ocupat și partajarea cunoașterii. Că eu și mulți alții o facem instituționalizat?! Asta este doar chestie de conjunctură.

[/UPDATE]

 

Având în vedere interesul crescut față de subiect, m-am gândit să continui poveștile cu Excel și să vă dau o nouă problemă de rezolvat.

Se dă următorul tabel:

image

Se observă că valorile de pe coloanele 1,2,3,4,5 care sunt mai mici decât cele de pe coloana Refer sunt evidențiate. Aparent problema este simplă și orice utilizator trecut de nivelul începător se duce cu gândul spre formatarea condițională.

Numai că avem o constrângere foarte importantă! Soluția cea mai bună este cea care va prezenta un mod cât mai rapid de rezolvare sau utilizarea câtor mai puține operațiuni, formule, comenzi.

Soluțiile care presupun adăugarea și utilizarea de coloane suplimentare vor fi depunctate, dar vor fi lăudate dacă folosesc ”cârnați” întregi de formule, sub-formule și if-oase. :)

Aștept rezultatele pe e-mail la adresa: valygreavu [at] hotmail.com până marți, 18 septembrie ora 22:00. Nu comentați metodele de rezolvare în public, decât după expirarea timpului.

Succes!

Anunțuri

5 gânduri despre “Problemă de formatare în Excel

  1. Am corectat adresa de e-mail. Din viteza am uitat un y. :)
    Pana acum nu am primit decat putine solutii din care 2 perfecte, una optimizabilă și una sefe :)

    Apreciază

  2. Pingback: #Excel – Exercițiu cu intervale de timp | Valy Greavu's Live Blog

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