Съдържание

# Преобразуване на текст в числа

При подразбираните настройки Calc преобразува текста в клетките към съответните числови стойности, ако е възможно еднозначно преобразуване. Ако не е възможно преобразуване, Calc връща грешка #VALUE!.

Преобразуват се само цели числа, включително експоненти, както и дати и часове по ISO 8601 в разширени формати с разделители. Всичко останало, например дробни числа с десетични разделители или дати по друг стандарт, не се преобразува, тъй като текстовият низ би бил зависим от локала. Водещите и завършващите интервали се пренебрегват.

Преобразуват се следните формати по 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

Кодът за век CC не може да бъде пропускан. Вместо разделителя за дата и час T може да се използва точно един знак за интервал.

Ако е дадена дата, тя трябва да бъде валидна дата по григорианския календар. В този случай незадължителният час трябва да е в интервала от 00:00 до 23:59:59,99999…

Ако е даден само низ с час, той може да има стойност за часовете повече от 24, докато минутите и секундите са максимум по 59.

Преобразуването се извършва само за единични скаларни стойности, не и в диапазони.

Преобразуването се извършва за единични скаларни стойности, например =A1+A2 или ="1E2"+1. Аргументите, които са диапазони от клетки, не се влияят от него, например SUM(A1:A2) се различава от A1+A2, ако поне една от двете клетки съдържа подлежащ на преобразуване низ.

Низовете във формули също се преобразуват, например ="1999-11-22"+42, което връща датата 42 дни след 22 ноември 1999 г. Изчисления, включващи локализирани дати като низове във формулата, връщат грешка. Например локализираният низ с дата "11/22/1999" или "22.11.1999" не може да се използва за автоматичното преобразуване.

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".

## Пример

В A1 въведете текста '1e2 (който вътрешно се преобразува до числото 100).

В A2 въведете =A1+1 (което дава правилния резултат 101).

Формулата =SUM(A1:A2) връща 101 вместо 201, защото преобразуването не се извършва в диапазон, а само за единични скаларни стойности. Тук '1e2 се интерпретира като низ, който се игнорира от функцията SUM.

=SUM("1E2";1) връща #VALUE!, защото SUM() и други функции, които обхождат поредици от числа, изрично проверяват типа на аргументите.

## Промяна на подразбираните настройки за преобразуване от текст към числа

Преобразуването от текст към число може да се персонализира с настройката Подробни настройки за изчисляване.

Теми, свързани с показаната

Подробни настройки за изчисляване

Форматиране на числа като текст

Въвеждане на числа с водещи нули

Форматиране - Клетки - Числа

Форматиране на числа с десетична запетая

Моля, подкрепете ни!