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:

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.

note

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


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".

warning

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?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 nepřevádí oblast, ale pouze jednotlivé skalární hodnoty. Vstup '1e2 je považován za řetězec, který má pro funkci SUM hodnotu 0.

=SUM("1E2";1) vrátí #VALUE!, protože SUM() a některé další funkce, které procházejí řadu čísel, výslovně kontrolují typ argumentu.

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

Převod textu na číslo lze přizpůsobit volbou Podrobné nastavení výpočtů.

Podpořte nás!