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

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

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

Преобразуват се следните формати по ISO 8601:

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

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

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

note

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


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

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

warning

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".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() и други функции, които обхождат поредици от числа, изрично проверяват типа на аргументите.

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

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

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