Keresés ebben a blogban

2011. május 23., hétfő

Színjáték

Találtam egy színgyűjteményt a http://kb.iu.edu/data/aetf.html oldalon, és persze megpróbáltam kihozni belőle valami izgalmasat egy táblázatkezelőben: egy mini-makró, ami bizonyos területeket az általam választott színre fest. A színeket lenyíló listából lehet kiválasztani.


Először is bemásoltam a színkódokat egy munkalapra, aminek az adatbazis nevet adtam. Aztán a színek neveit kijelöltem, és a listát elneveztem Colors-nak.


Ugyanígy nevet adok a területeknek, amiket majd színezni szeretnék, ezek egy másik munkalapon vannak (a munkalap neve Szinezes), a területek neve legyen fal (Wall), padló (Floor) és szőnyeg (Carpet):

Annak érdekében, hogy a színek kiválaszthatók legyenek egy lenyíló listából, a színlista nevét megadom a Data validationben mindhárom területhez:

A színkódokra is szükség lesz, ezért VLOOKUP függvényekkel megkeresem az R, G, B értékeket mindhárom választott színhez.

Ennyi volt az előkészület, jöhet a mini-makró: Excelben Alt+F11 lenyomásával lehet előhívni a makrószerkesztőt. A Szinezes munkalapon a következő kód fogja végezni a színezést:



Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Address = "$B$3" Then
        ColorMe Range("Wall"), ActiveSheet.Cells(3, 3).Value, ActiveSheet.Cells(4, 3).Value, ActiveSheet.Cells(5, 3).Value
    ElseIf Target.Address = "$B$12" Then
        ColorMe Range("Floor"), ActiveSheet.Cells(12, 3).Value, ActiveSheet.Cells(13, 3).Value, ActiveSheet.Cells(14, 3).Value
    ElseIf Target.Address = "$B$15" Then
        ColorMe Range("Carpet"), ActiveSheet.Cells(15, 3).Value, ActiveSheet.Cells(16, 3).Value, ActiveSheet.Cells(17, 3).Value
    End If
End Sub

Sub ColorMe(myRange As Range, myRed As Integer, myGreen As Integer, myBlue As Integer)
myRange.Interior.Color = RGB(myRed, myGreen, myBlue)
End Sub


Az első rész figyeli, hogy történik-e változás azokban a cellákban, ahol az egyes területek színeit ki lehet választani ($B$3, $B$12, $B$15). Amennyiben új színt választok, a makró akcióba lép és elindítja a második részt, ami maga a színezés. A második, rövidke makró az RGB függvény segítségével kiszínezi a megfelelő cellaterületet.

A fenti módszer felhasználható például a feltételes formázás lehetőségeinek kiterjesztésére: egy cella értékétől függően szabályozhatjuk több független (akár üres) terület celláinak színét.

2011. május 7., szombat

Kerekítési lehetőségek

Elég sok táblázatkezelő függvényt használhatunk kerekítésre, attól függően, hogy milyen kerekítési szabályt szeretnénk használni. Kerekíthetünk lefelé, fölfelé, bizonyos számú tizedesjegyre, kérhetünk meghatározott számú nullát a szám végére... Néhány példa, most a Google Docs függvényeivel (a legtöbbjük ugyanilyen vagy hasonló formában elérhető a többi táblázatkezelőben is):

ROUNDUP (magyar rokona Excelben a KEREK.FEL): felfelé kerekíti a megadott értéket a következő szabályok szerint: a negatív paraméter hatására nullá(k)ra végződő egész számot fogunk kapni (annyi nulla, ahányat a negatív paraméterben megadunk), míg pozitív paraméter hatására csak a tizedesjegyeket kerekíti fölfelé (mégpedig annyi tizedesjegyre, ahányat a pozitív paraméterben megadunk).

ROUNDDOWN (magyar  rokona Excelben a KEREK.LE): ugyanúgy működik, mint az előbbi függvény, csak ez lefelé kerekít.

CEILING (magyar  rokona Excelben a PLAFON): nagyon hasonlít a negatív paraméterrel ellátott ROUNDUP-hoz, csak itt konkrétan azt adjuk meg a függvénynek, hogy a fölfelé kerekített érték mivel legyen osztható.

FLOOR (magyar  rokona Excelben a PADLÓ): ugyanaz, lefelé.

ROUND (magyar  rokona Excelben a KEREKÍTÉS): hasonlít a fölfelé vagy lefelé kerekítő testvéreihez, de ő a kerekítés szabályait veszi figyelembe, hogy eldöntse, lefelé vagy fölfelé kerekítsen. Vagy a záró nullák számát, vagy a tizedesjegyek számát adjuk meg paraméterként.

MROUND (magyar  rokona Excelben a TÖBBSZ.KEREKÍT): a CEILING és a FLOOR testvére, azt adjuk meg neki, hogy mivel legyen osztható a kerekített érték, viszont nem határozzuk meg, hogy lefelé vagy fölfelé kerekítsen, hanem hagyjuk, hogy az MROUND magától döntsön. Persze csak a kerekítési szabály keretein belül...





További Google Docs függvények

2011. május 6., péntek

Egy-két kattintás

Manapság minden olyan bonyolult... nemrég egy általános távirányító 10 oldalas használati utasítása akadt a kezembe. Kezdem értékelni az egyszerű dolgokat.

Itt van például egy igen egyszerű, de nagyon látványos funkció Excel 2007-ben: egy adatsort minden további hókuszpókusz nélkül, két kattintással vizuálissá alakíthatunk.

A módja pedig: kijelöltem a Bevétel oszlop számait, és választottam egyet a Data bars (Színskálák) színei közül a Conditional Formatting (Feltételes formázás) menüben:

Nagyon sok helyzetben jött már jól a gyors és látványos adatmegjelenítés, amikor arra vagyok kíváncsi, hogy van-e valami határozott iránya a dolgok alakulásának, vagy amikor sok különféle adatsor közül kell kiválasztani a számomra érdekeset vagy hasznosat.