Strona 1 z 1

[SOLVED]zamiana na liczbę daty wczytanej jako tekst

: śr paź 28, 2015 3:20 pm
autor: kosmal
Zaimportowałem plik dbf do arkusza. Wszystkie pola są tekstowe.
Mam dwie kolumny z datami w formatach YYYY.MM.DD i YYYY.MM. Funkcja data.wartość przyjmuje tylko argument w formacie "YYYY-MM-DD", gdy wpiszę w innym formacie lub podam adres mojej komórki dostaję błąd 502. Różnica dwóch komórek daje: #ARG!Jakiej funkcji użyć aby przekształcić te dane do postaci liczbowej albo jak namówić libreoffice aby przyjął datę w innym formacie niż YYYY-MM-DD?
Pozdrawiam
Andrzej

Re: zamiana na liczbę daty wczytanej jako tekst

: śr paź 28, 2015 4:44 pm
autor: Jan_J
Czy użycie automatycznej zamiany fraz w obszarze kolumny jest wykluczone? jeśli był to jednokrotny import, nie ma prostszej metody.

Re: zamiana na liczbę daty wczytanej jako tekst

: pt paź 30, 2015 1:17 pm
autor: kosmal
Udało mi się to zmienić za pomocą funcji tekstowej łącząc poszczególne fragmenty daty w odpowiedniej kolejności i na takich komórkach funkcje daty działają.
Przy otwieraniu pliku dbf mogę wybrać kodowanie i nic więcej. Jak dokonać automatycznej zamiany fraz w obszarze kolumny i użyć najprostszej metody?
Mam jeszcze trochę tych plików do przeliczenia.
Pozdrawiam
Andrzej

Re: zamiana na liczbę daty wczytanej jako tekst

: pt paź 30, 2015 7:25 pm
autor: Jan_J
No bo z pól typu DATE w dbf powstaje komórka z wartością daty liczbową, nie tekstową. A na liczbie funkcja DATA.WARTOŚĆ() daje błąd 502. Sprawdziłem obie rzeczy.

Dbanie o poprawny typ danych jest pożądane. DATA.WARTOŚĆ(liczba) to masło maślane. Stąd błąd zamiast wyniku. Cóż, że tekstowe 12 + liczbowe 1 daje 13, albo że pobieranie tekstu z daty pamiętanej jako liczba się udaje? arkusze kalkulacyjne nie są niestety konsekwentne w rozróżnianiu typów.

Nie rozumiem też, dlaczego funkcja TEKST() pozwala formatować argument liczbowy, a funkcja DATA.WARTOŚĆ() nie pozwala wymusić przyjęcia danego formatu argumentu.

Myślę, że masz asekurancką procedurę, która zakłada, że data jest tekstem. Albo przejętą z Excela, gdzie nie zdziwiłbym się, gdyby działała i na tekstach, i na liczbach.

Spróbuj warunkowo
= jeżeli( i(komórka<> ""); T(komórka)=""); komórka; data.wartość(komórka))

PS. Zamiana fraz tylko w edycji arkusza, nie podczas importu.