Obsah
Index 🔎︎

# Převod textu na čísla

Ve výchozím nastavení Calc převede text v buňkách na příslušné číselné hodnoty, pokud lze provést jednoznačný převod. Pokud převod možný není, vrátí Calc chybu #VALUE!

Převáděny jsou pouze celá čísla včetně exponentů a data a časy podle ISO 8601 ve svých rozšířených formátech s oddělovači. Cokoliv jiného, například zlomky s desetinnými oddělovači nebo jiná data než podle ISO 8601, převáděno není, protože by textový řetězec závisel na národním prostředí. Bílé znaky na začátku a na konci jsou ignorovány.

Převáděny jsou následující formáty podle ISO 8601:

- CCYY-MM-DD

- CCYY-MM-DDThh:mm

- CCYY-MM-DDThh:mm:ss

- CCYY-MM-DDThh:mm:ss,s

- CCYY-MM-DDThh:mm:ss.s

- hh:mm

- hh:mm:ss

- hh:mm:ss,s

- hh:mm:ss.s

Kód století CC nelze vynechat. Místo oddělovače data a času T smí být použita právě jedna mezera.

Je-li zadáno datum, musí se jednat o platné datum gregoriánského kalendáře. Volitelný čas musí být v tomto případě v rozmezí 00:00 až 23:59:59.99999...

Je-li zadán pouze řetězec pro čas, hodnota hodin může být větší než 24, ale minuty a sekundy mohou dosáhnout maximálně hodnoty 59.

Převod se provádí pouze pro jednotlivé skalární hodnoty, nikoli v rámci rozsahů.

Převod se provádí pouze pro jednotlivé skalární hodnoty jako v =A1+A2 nebo ="1E2"+1. Netýká se argumentů oblasti buněk, proto se bude SUM(A1:A2) lišit od A1+A2, jestliže aspoň jedna z obou buněk obsahuje řetězec, který může být převeden.

Převáděny jsou také řetězce ve vzorcích, například ="1999-11-22"+42 vrátí datum následující 42 dnů po 22. prosinci 1999. Výpočet vzorce, který obsahuje řetězec s datem v místním nastavení, vrátí chybu. Pro automatický převod tak nemůže být použit například řetězec "11/22/1999" nebo "22.11.1999".

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".

## Příklad

Do A1 zadejte text '1e2 (který se vnitřně převede na číslo 100).

Do A2 zadejte =A1+1 (což vede ke správnému výsledku 101).

Vzorec =SUM(A1:A2), vrátí 101 místo 201, protože se konverze neprovádí na oblast, ale na jednotlivé skalární hodnoty. Zde je '1e2 bráno jako řetězec s hodnotou 0 pro funkci SUM.

=SUM("1E2";1) vrátí #VALUE!, protože SUM() a některé další funkce, které iterují početní sekvence, výslovně kontrolují typ argumentu.

## Změna výchozího nastavení převodu textu na číslo

Převod textu na čísla se nastavuje ve volbě Podrobné nastavení výpočtů.

Související témata

Podrobné nastavení výpočtů

Formátování čísel jako textu

Zadání čísla začínajícího nulou

Formát - Buňky - Čísla

Formátování čísel s desetinnými místy