Am văzut multe la viața mea, dar cu cât cotinuii să găsesc alte și alte lucruri faine, ajung să dau uneori peste chestii aberante, proceduri de lucru fără nici o regulă sau după reguli rudimentare sau care aparent sunt cele mai simple pentru îndeplinirea activităților zilnice.
Aceste cazuri stupide sunt rezultanta directă a gândirii manageriale lipsite de orizontul rezultatului pe care-l poate oferi un sistem informatic.
Revenind în meandrele concretului, mi s-a întâmplat ca o fostă studentă să-mi trimită un e-mail cu o provocare de Excel. Hm… habar nu aveam cine este, dar dacă e Excel zic să arunc totuși un ochi.
Emailul era cam asa: Lucrez la o firma si am primit un tabel cu peste 1000 de randuri si sefii vor sa adun pentru coloana A, toate sumele scrise cu verde, rosu, albastru. La fel pentru coloanele B, C, D.
Iată și Excelul:
Prima idee: Sumif()
După culori? Nu avea cum să meargă, pentru că nu ai cum să pui conditia sa fie o culoare.
SumIf() in Macro? Nici acolo nu ai cum sa pui conditia formata dintr-o culoare pentru ca in macro culoarea din Excel are o valoare care nu poate fi utilizata in insumarea conditionala.
Apoi solutia a venit, greeeeu aproape de la sine: O functie:
Function SumCuloare(Culoare As Range, Casute As Range) 'Definirea variabilelor Dim rrRange As Range Dim sumColor As Long Dim rrCasute As Range 'Definirea constantelor sumColor = 0 Set rrCasute = Casute vCuloare = Culoare.Font.Color ' Suma pe culori For Each rrRange In rrCasute If rrRange.Font.Color = vCuloare Then sumColor = sumColor + rrRange.Cells.Value End If Next rrRange ' Returnare rezultat SumCuloare = sumColor End Function
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, „Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
A?! Nice?
Iata rezultatul!
Nu stiu cum ar fi fost mai simplu să se lucreze cu Excelul ăsta în așa fel încât să fie folosit un alt criteriu decât culoarea… dar bine că putem crea funcții total dinamice.
Mult mai important este, că înainte de a critica un sistem de lucru sau altul trebuie să ne amintim că tehnica este în slujba business-ului nu invers.
Spor la Work!