Konwertowanie tekstu do liczb

Domyślne ustawienia programu Calc konwertują tekst w komórkach na odpowiednie wartości liczbowe, jeśli możliwa jest jednoznaczna konwersja. Jeśli konwersja nie jest możliwa, program Calc zwraca błąd #VALUE!.

Konwertowane są tylko liczby całkowite, w tym wykładnik, oraz daty i godziny ISO 8601 w ich rozszerzonych formatach z separatorami. Wszystko inne, jak liczby ułamkowe z separatorami dziesiętnymi lub daty inne niż ISO 8601, nie jest konwertowane, ponieważ ciąg tekstowy byłby zależny od ustawień regionalnych. Początkowe i końcowe spacje są ignorowane.

Konwersja jest możliwa dla następujących formatów ISO 8601:

Nie można pominąć wieku, WW. Zamiast separatora daty i godziny T można użyć dokładnie jednej spacji.

Podana data musi być prawidłową datą z kalendarza gregoriańskiego. W takim przypadku opcjonalna wartość godziny musi być z zakresu od 00:00 do 23:59:59.99999...

Po podaniu tylko ciągu z datą wartość godzin może być wyższa niż 24, ale maksymalna wartość minut i sekund to 59.

note

Konwersja jest wykonywana tylko dla pojedynczych wartości skalarnych, a nie w zakresach.


Konwersja jest wykonywana dla pojedynczych wartości skalarnych, jak w przypadku =A1+A2, or ="1E2"+1. Nie ma to wpływu na argumenty zakresu komórek, więc SUM(A1:A) różni się od A1+A2, jeśli co najmniej jedna z dwóch komórek zawiera ciąg konwertowalny.

Konwersji podlegają także ciągi tekstowe wewnątrz formuł, takie jak ="1999-11-22"+42. Formuła ta zwraca datę występującą 42 dni po 22 listopada 1999 r. Obliczenia, w których wewnątrz formuły występują zlokalizowane daty zapisane jako ciąg tekstowy, zwracają błąd. Na przykład zlokalizowany ciąg z datą "11/22/1999" lub "22.11.1999" nie może być wykorzystany do automatycznej konwersji.

warning

W przypadku korzystania z funkcji, w których jeden lub więcej argumentów to ciągi kryteriów wyszukiwania reprezentujące wyrażenie regularne, pierwszą próbą jest przekonwertowanie kryteriów ciągu na liczby. Na przykład „.0” zostanie przekonwertowane na 0,0 i tak dalej. Jeśli się powiedzie, dopasowanie nie będzie dopasowaniem wyrażenia regularnego, ale dopasowaniem liczbowym. Jednak po przełączeniu na ustawienia regionalne, w których separatorem dziesiętnym nie jest kropka, konwersja wyrażeń regularnych działa. Aby wymusić ocenę wyrażenia regularnego zamiast wyrażenia liczbowego, użyj wyrażenia, którego nie można błędnie odczytać jako liczbowego, takiego jak „.[0]”, „.\0” lub „(?i).0”.


Przykład

W komórce A1 wpisz tekst '1e2 (który jest wewnętrznie konwertowany na liczbę 100).

W A2 wpisz =A1+1 (co poprawnie daje 101).

Formuła =SUM(A1:A2) zwraca 101 zamiast 201, ponieważ konwersja nie zachodzi w zakresie, tylko dla pojedynczych wartości skalarnych. Tutaj '1e2 jest traktowane jako ciąg znaków, który jest ignorowany przez funkcję SUM.

=SUM("1E2";1) zwraca #VALUE! ponieważ SUM() i niektóre inne, które iterują po sekwencjach liczb, jawnie sprawdzają typ argumentu.

Zmiana domyślnych ustawień konwersji tekstu na liczby

The text to number conversion can be customized in the Detailed Calculation Settings option.