Předmět Autor Datum
Na základe formátovania sa žiadne výpočty vo vzorcoch robiť nedajú - také niečo sa dá spraviť jedine…
los 14.11.2012 21:32
los
fajn, a vie mi teda niekto poradit, ako to spravit, aby mi spocitavalo iba vybrane bunky, ktorych ho…
slivki 23.11.2012 13:20
slivki
Ak to máš ale vytvorené pomocou nejakého pravidla v podmienenom formátovaní, tak vtedy sa to dá spra…
Siki83 23.11.2012 13:37
Siki83
Ano, prave makro odtialto som uz pouzil. Avsak ma zaujima ako spravit, aby som mohol zadefinovat, na…
slivki 23.11.2012 13:44
slivki
A k čemu se potřebujete dostat? Někdo ten výstup musí na základě něčeho formátovat, ne? Ta podmínka…
JR_Ewing 23.11.2012 13:48
JR_Ewing
v tabulke pisem riadky. Potrebujem aby mi scitalo v riadku tie bunky, ktore mu farebne vyznacim, no…
slivki 23.11.2012 13:52
slivki
No, pořád netuším strukturu databáze. Když do výpočtu potřebujete jen některé hodnoty s řádků a slou…
JR_Ewing 23.11.2012 13:57
JR_Ewing
Ty je vyznačuješ ručně? Ony se nepřebarvují automaticky na základě nějakého pravidla?
Kráťa 26.11.2012 11:01
Kráťa
Vybereš oblast buněk (A2:F2), jinak nechápu smysl vyzobávání určitých buněk.
Siki83 23.11.2012 13:51
Siki83
vyzobavanie buniek je dobre na to, aby som nemusel pouzivat mnoho farieb, tym by mi to dost ulahcilo…
slivki 23.11.2012 13:54
slivki
Vytvor si funkciu v module VBA projektu, pomocou ktorej zistíš farby pre rozsah buniek: Function CO…
los 23.11.2012 19:43
los
Ano, takto som to uz riesil, takto to aj funguje, no ja by som potreboval vyselektovat rozne bunky (…
slivki 26.11.2012 10:16
slivki
Môžeš si vybrať bunky a definovať pomenovanú oblasť (nemusí byť spojitá), s ktorou potom môžeš normá…
los 26.11.2012 19:51
los
fajn. funguje to presne ako chcem. Vdaka vsetkym za pomoc. poslední
slivki 29.11.2012 10:43
slivki

Na základe formátovania sa žiadne výpočty vo vzorcoch robiť nedajú - také niečo sa dá spraviť jedine makrom. Ak to máš ale vytvorené pomocou nejakého pravidla v podmienenom formátovaní, tak vtedy sa to dá spraviť aj pomocou vzorca.

A k čemu se potřebujete dostat? Někdo ten výstup musí na základě něčeho formátovat, ne? Ta podmínka by nešla přenést do tabulky?

No, pořád netuším strukturu databáze. Když do výpočtu potřebujete jen některé hodnoty s řádků a sloupců, tak je blbě navržený způsob zapisování. Ty hodnoty (které vyznačíte) vybíráte na základě jakého klíče? Že se vám víc líbí?

vyzobavanie buniek je dobre na to, aby som nemusel pouzivat mnoho farieb, tym by mi to dost ulahcilo, aktualne to mam nastavene, ze jednotlive bunky rozlisujem farebne a vyvedeny mam cely rozsah.. co je vsak dost nepriehladne a obmedzujuce, musiet takmer kazdu druhu bunku farbit...

Vytvor si funkciu v module VBA projektu, pomocou ktorej zistíš farby pre rozsah buniek:

Function COLOR(aRange As Range) As Variant
    Dim aColors() As Variant
    Dim aRow As Integer
    Dim aColumn As Integer
    
    If aRange.Cells.Count = 1 Then
        COLOR = aRange.Interior.ColorIndex
        Exit Function
    End If
    
    ReDim aColors(1 To aRange.Rows.Count, 1 To aRange.Columns.Count)
    For aRow = 1 To aRange.Rows.Count
        For aColumn = 1 To aRange.Columns.Count
            aColors(aRow, aColumn) = aRange.Cells(aRow, aColumn).Interior.ColorIndex
        Next aColumn
    Next aRow
    COLOR = aColors
End Function

Potom môžeš bunky rovnakej farby v nejakej oblasti jednoducho spočítať pomocou funkcie SUMPRODUCT. Napríklad bunky v oblasti C1:C8, ktoré majú farbu ako bunka A1, spočítaš takto:

=SUMPRODUCT((COLOR($C$1:$C$8)=COLOR($A$1))*$C$1:$C$8)

Česky:

SOUČIN.SKALÁRNÍ((COLOR($C$1:$C$8)=COLOR($A$1))*$C$1:$C$8)

P.S.: Ešte dodám, že počítať čokoľvek podľa farby je nesystémové riešenie, ktoré so sebou prináša len problémy. S takým zošitom, kde záleží na farbe buniek, sa nepracuje dobre.

Ano, takto som to uz riesil, takto to aj funguje, no ja by som potreboval vyselektovat rozne bunky (t.j. Nezadavam rozsah, od-do, zadavam konkretne bunky) vie mi s tym niekto pomoct?
Vdaka

P.S. Viem, ze pocitanie na zaklade farby neje to prave, no takto na moje poziadavky to staci, uz iba dotiahnut tento problem..

Môžeš si vybrať bunky a definovať pomenovanú oblasť (nemusí byť spojitá), s ktorou potom môžeš normálne počítať vo vzorcoch.

Druhá možnosť je vytvoriť si pomocné funkcie, ktoré ti vrátia pole hodnôt a pole farieb, ktoré môžeš potom medzi sebou násobiť:

Function COLOR_ARRAY(aRange As Range) As Variant
    Dim aColors() As Variant
    Dim aIndex As Integer
    Dim aCell As Range
    
    ReDim aColors(1 To aRange.Cells.Count)
    aIndex = 1
    For Each aCell In aRange.Cells
        aColors(aIndex) = aCell.Interior.ColorIndex
        aIndex = aIndex + 1
    Next
    COLOR_ARRAY = aColors
End Function

Function VALUE_ARRAY(aRange As Range) As Variant
    Dim aValues() As Variant
    Dim aIndex As Integer
    Dim aCell As Range
    
    ReDim aValues(1 To aRange.Cells.Count)
    aIndex = 1
    For Each aCell In aRange.Cells
        aValues(aIndex) = aCell.Value
        aIndex = aIndex + 1
    Next
    VALUE_ARRAY = aValues
End Function

Vzorec by potom mohol napríklad pre nespojitú oblasť C1:C6;C8 vyzerať takto:

=SUMPRODUCT((COLOR_ARRAY(($C$1:$C$6;$C8))=COLOR($A$1))*VALUE_ARRAY(($C$1:$C$6;$C8)))

Zpět do poradny Odpovědět na původní otázku Nahoru