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
[SOLVED]zamiana na liczbę daty wczytanej jako tekst
[SOLVED]zamiana na liczbę daty wczytanej jako tekst
Ostatnio zmieniony pn lis 02, 2015 8:26 am przez kosmal, łącznie zmieniany 1 raz.
LibreOffice 6.3.1.2 Debian buster, Windows 10
Re: zamiana na liczbę daty wczytanej jako tekst
Czy użycie automatycznej zamiany fraz w obszarze kolumny jest wykluczone? jeśli był to jednokrotny import, nie ma prostszej metody.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: zamiana na liczbę daty wczytanej jako tekst
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
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
LibreOffice 6.3.1.2 Debian buster, Windows 10
Re: zamiana na liczbę daty wczytanej jako tekst
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.
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.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)