Přeskočit na obsah

Matematické funkceVBA

Vrátí absolutní hodnotu čísla.

Pokud je číslo negativní (mínusové znaménko), vrátí hodnotu pozitivní. Pokud se jedná o pozitivní číslo, vrátí stejné číslo pozitivní.

Abs(number)

number – Číslo, jehož absolutní hodnota má být získána. Může se jednat o jakékoliv reálné číslo.

result = Abs(-15) – Výsledkem bude 15, jelikož se jedná o absolutní hodnotu negativního čísla.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Round(Abs(-3.14)) – Zaokrouhlení pomocí funkce Round daného negativního čísla, které je převedeno na absolutní hodnotu.

Zaokrouhlí číslo matematicky na zadaný počet desetinných míst.

Funkce zaokrouhluje pouze desetinná místa, nikoliv čísla před desetinnou čárkou. Zaokrouhlování na desítky, stovky atd. tedy není možné. Je nutné použít matematické operace pro pomoc se zaokrouhlováním na desítky, stovky a jiné vyšší hodnoty.

Round(number, [num_digits])

number (povinné) – Číslo, které má být zaokrouhleno.

num_digits (volitelné, výchozí=0) – Počet desetinných míst, na které má být číslo zaokrouhleno.

result = Round(3.14159, 2) – Zaokrouhlí číslo na 2 desetinná místa matematicky.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Round(Abs(-3.14)) – Zaokrouhlení negativního čísla, kdy negativní číslo je nejprve převedeno na kladné (absolutní hodnotu) pomocí funkce Abs.

Zaokrouhlí číslo dolů na nejbližší celé číslo.

Funkce zaokrouhluje čísla pouze na celá čísla. Pokud je nutné zaokrouhlit číslo dolů na desítky nebo desetinná místa, je nutné využít matematických operací s kombinací s touto funkcí.

Int(number)

number – Číslo, které má být zaokrouhleno dolů.

result = Int(7.8) – Zaokrouhlení čísla dolů na celé číslo 7.

result = Int(7.3) – Zaokrouhlení čísla dolů na celé číslo 7.

result = Int(128.85) – Zaokrouhlení čísla dolů na celé číslo 128.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Round(Rnd() * 100) – Získání náhodného čísla pomocí funkce Rnd, které vrací pouze číslo mezi 0 a 1, proto je následně vynásobeno 100, aby se jednalo o číslo vyšší než 1 a toto číslo je zaokrouhleno dolů na celé číslo.

Odstraní desetinnou část čísla bez zaokrouhlení.

Pokud se jedná o číslo, které je desetinné, tak vše za desetinnou čárkou bude prakticky odstraněno, ale neprobíhá žádné zaokrouhlení. Do funkce lze zadat i negativní číslo.

Fix(number)

number – Číslo, které má být upraveno.

result = Fix(45.87) – Výsledkem bude číslo 45.

result = Fix(40) – Výsledkem bude číslo 40, jelikož se nejedná o desetinné číslo.

result = Fix(0.27) – Výsledkem bude 0, jelikož vše za desetinnou čárkou je odstraněno.

result = Fix(-7.47) – Výsledkem bude -7.

Generuje náhodné číslo mezi 0 a 1.

Pokud je nutné vygenerovat např. číslo mezi 0 a 100, stačí funkci vynásobit 100, aby bylo dostáno číslo mezi 0 a 100.

Rnd()

Funkce nemá žádné argumenty.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Fix(Rnd() * 100) – Získání náhodného čísla, které je vynásobeno 100 aby se jednalo o číslo mezi 0 a 100 a následně bude zbytek desetinného čísla odstraněno funkcí Fix.

Vrátí druhou odmocninu čísla.

Sqr(number)

number – Číslo, jehož druhá odmocnina má být získána.

result = Sqr(16) – Výsledkem bude druhá odmocnina, tedy 4.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Sqr(Abs(-16)) – Pokud má být zjištěna druhá odmocnina z negativního čísla, je nutné získat absolutní hodnotu čísla pomocí funkce Abs.

Vrátí přirozený logaritmus čísla.

Log(number)

number – Číslo, jehož logaritmus má být vypočten. Musí se jednat o kladné číslo.

result = Log(24) – Přirozený logaritmus čísla 24.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = Log(Abs(-24)) – Pokud má být zjištěn logaritmus z negativního čísla, je nutné získat absolutní hodnotu čísla pomocí funkce Abs.

Vrátí hodnotu exponenciální funkce čísla (e^x).

Exp(number)

number – Exponent (x) pro exponenciální funkce čísla „e“ (Eulerova čísla). Jedná se o reálné číslo.

result = Exp(10) – Výsledkem bude e^10 (e na desátou).

result = Exp(0) – Výsledkem bude 1, jelikož cokoliv na nultou je 1.

Vypočte sinus čísla, které je vloženo v radiánech.

Sin(Number)

Number – Úhel ve stupních nebo radiánech.

result = Sin(0.5) – Výsledek pro sinus 0,5 radiánu.

Vypočte kosinus čísla, které je vloženo v radiánech.

Cos(Number)

Number – Úhel ve stupních nebo radiánech.

result = Cos(0.5) – Výsledek pro kosinus 0,5 radiánu.

Vypočte tangens čísla, které je vloženo v radiánech.

Tan(Number)

Number – Úhel ve stupních nebo radiánech.

result = Tan(0.5) – Výsledek pro tangens 0,5 radiánu.

Vrátí inverzní tangens čísla zadaného v radiánech.

Atn(number)

number – Hodnota v radiánech, jejíž inverzní tangens má být vypočten.

result = Atn(1) – Inverzní tangens čísla 1.

Převádí hodnotu na celé číslo.

Pokud se jedná o hodnotu v buňce, která je naformátovaná jako text, převede i formát dané buňky na číslo. Tato funkce se navíc hodí i v případě, kdy je v buňce error formátu (s vykřičníkem u dané buňky):

Pokud by se použila klasická možnost NumberFormat, buňka by stále zůstala errorem. Pomocí téhle funkce však error v buňce nebude.

CInt(expression)

expression – Výraz, který má být převeden na číslo.

result = CInt(9.7) – převedení desetinného čísla na celé číslo (Výsledkem bude 10).

result = CInt(Range(„A1“).Value) – Převedení hodnoty z buňky A1 na číslo.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Použití cyklu for pro převedení hodnot v sloupci „A“ od řádku 2 do 9 na celé číslo i v případě, kde je v buňce error:

For i = 2 To 9

cleanedValue = CInt(Cells(i, „A“).Value)

Cells(i, „A“).Value = cleanedValue

Next i

Převádí hodnotu na dlouhé celé číslo.

Podobná funkci CInt s rozdílem formátování. Pokud se jedná o hodnotu v buňce, která je naformátovaná jako text, převede i formát dané buňky na dlouhé číslo. Tato funkce se hodí i v případě, kdy je v buňce error formátu (s vykřičníkem u dané buňky):

Pokud by se použila klasická možnost NumberFormat, buňka by stále zůstala errorem. Pomocí téhle funkce však error v buňce nebude.

CLng(expression)

expression – Výraz, který má být převeden na dlouhé číslo.

result = CLng(9000007895.7) – převedení desetinného čísla na celé dlouhé číslo.

result = CLng(Range(„A1“).Value) – Převedení hodnoty z buňky A1 na dlouhé číslo.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Použití cyklu „for“ pro převedení hodnot v sloupci „A“ od řádku 2 do 9 na dlouhé celé číslo i v případě, kde je v buňce error:

For i = 2 To 9

cleanedValue = CLng(Cells(i, „A“).Value)

Cells(i, „A“).Value = cleanedValue

Next i

Převádí hodnotu na číslo s desetinnou čárkou.

Pokud se jedná o hodnotu v buňce, která je naformátovaná jako text, převede i formát dané buňky na dlouhé číslo. Tato funkce se hodí i v případě, kdy je v buňce error formátu (s vykřičníkem u dané buňky):

Pokud by se použila klasická možnost NumberFormat, buňka by stále zůstala errorem. Pomocí téhle funkce však error v buňce nebude.

CDbl(expression)

expression – Výraz, který má být převeden na desetinné číslo.

result = CDbl(9) – Převedení čísla na desetinné číslo.

result = CDbl(Range(„A1“).Value) – Převedení hodnoty z buňky A1 na desetinné číslo.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Použití cyklu „for“ pro převedení hodnot v sloupci „A“ od řádku 2 do 9 na desetinné číslo i v případě, kde je v buňce error:

For i = 2 To 9

cleanedValue = CDbl(Cells(i, „A“).Value)

Cells(i, „A“).Value = cleanedValue

Next i

Vrátí číslo ve formátu textu s určitým počtem desetinných míst, oddělovači tisíců a možností zobrazit záporná čísla ve specifickém formátu.

FormatNumber(Expression, [NumDigitsAfterDecimal], [IncludeLeadingDigit], [UseParensForNegativeNumbers], [GroupDigits])

Expression (povinné) – Číslo nebo výraz, který má být formátován.

NumDigitsAfterDecimal (volitelné, výchozí=-1) – Počet desetinných míst. Výchozí hodnota je systémové nastavení.

IncludeLeadingDigit (volitelné) – Boolean, určuje, zda se má zobrazit nula před desetinnou čárkou u čísel mezi -1 a 1.

UseParensForNegativeNumbers (volitelné) – Boolean, určuje, zda se mají záporná čísla zobrazovat v závorkách.

GroupDigits (volitelné) – Boolean, určuje, zda se mají oddělovat tisíce.

result = FormatNumber(1234.5678, 2, vbTrue, vbFalse, vbTrue) – Formátování čísla na 2 desetinná místa. Pokud bude číslo v rozmezí -1 a 1 bude zde zobrazena 0 před desetinným místem. Záporná čísla se nebudou zobrazovat v závorkách a oddělovače budou uplatněny.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

formatted = FormatNumber(Abs(-1234.5678), 2) – Použití funkce Abs pro zjištění absolutní hodnoty negativního čísla a následné formátování počtu desetinných míst. Výsledek bude „1,234.57“.

Vrátí číslo ve formátu procenta s možností určit počet desetinných míst.

FormatPercent(Expression, [NumDigitsAfterDecimal], [IncludeLeadingDigit], [UseParensForNegativeNumbers], [GroupDigits])

Expression (povinné) – Číslo nebo výraz, který má být naformátován jako procento.

NumDigitsAfterDecimal (volitelné, výchozí=-1) – Počet desetinných míst.

IncludeLeadingDigit (volitelné) – Boolean, zda se má zobrazit nula před desetinnou čárkou.

UseParensForNegativeNumbers (volitelné) – Boolean, zda se mají záporná čísla zobrazovat v závorkách.

GroupDigits (volitelné) – Boolean, zda se mají oddělovat tisíce.

result = FormatPercent(0.1234, 2) – Formátování na procento s 2 desetinnými místy, výsledek bude 12,34%.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = FormatPercent(Sqr(0.18), 2) – Zjištění odmocniny funkcí Sqr z čísla 0,18 a následné naformátování na procenta s 2 desetinnými místy.

result = FormatPercent(Abs(-0.45), 2) – Výpočet absolutní hodnoty funkcí Abs z čísla 0.45 a naformátování na procenta.

Funkce vrací číslo ve formátu měny s možností specifikovat počet desetinných míst a zobrazení záporných čísel.

Pomocí funkce nelze specifikovat formát měny. Měna závisí na systémovém nastavení. Pokud je v systémovém nastavení měna nastavena na české koruny, bude u čísla symbol „Kč“. Pokud je nastaveno na eura, bude u čísla symbol „€“ atd. Pokud se jedná o číslo vyšší než 999, číslo je navíc naformátováno s mezerou mezi tisíci a stovkami.

FormatCurrency(Expression, [NumDigitsAfterDecimal], [IncludeLeadingDigit], [UseParensForNegativeNumbers], [GroupDigits])

Expression (povinné): Číslo nebo výraz, který má být naformátován jako měna.

NumDigitsAfterDecimal (volitelné, výchozí=-1): Počet desetinných míst.

IncludeLeadingDigit (volitelné): Boolean, zda se má zobrazit nula před desetinnou čárkou.

UseParensForNegativeNumbers (volitelné): Boolean, zda se mají záporná čísla zobrazovat v závorkách.

GroupDigits (volitelné): Boolean, zda se mají oddělovat tisíce.

result = FormatCurrency(1234.5678, 2) – Nastavení čísla na 2 desetinné místa se výchozím symbolem měny. Pokud je výchozí symbol „Kč“, výsledkem bude „1 234 Kč“.

result = FormatCurrency(-1234.5678, 2, , vbTrue)– Jelikož se jedná o záporné číslo a 4. argument „UsseParensForNegativeNumbers je nastavený na „True“, záporné číslo bude naformátováno v závorkách bez mínusu. Výsledkem tak bude „(1 234,57 Kč)“.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

result = FormatCurrency (Sqr(1234.5678), 2) – Zjištění odmocniny funkcí Sqr a následné naformátování na měnu s 2 desetinnými místy.

result = FormatCurrency (Abs(-1234.5678), 2) – Výpočet absolutní hodnoty funkcí Abs a naformátování na měnu.

© 2026 Excelland