Cześć. Czy ktoś może ma pomysł i mógłby mi pomóc stworzyć formułę, która zwróci nieaktualizującą się bieżącą datę, po zajściu jakiegoś warunku, np. gdy dwie komórki są sobie równe. Chodzi o to, aby data nie aktualizowała się po ponownym otwarciu formularza. Załóżmy że w kom. A1 mamy wartość x, gdy dodamy do kom. A2 wartość x w komórce A3 pojawi się statyczna data odpowiadająca bieżącej. Taka zagadka
Myślę, że coś jak, =jeśli (A1=B1;DZIŚ;0) - tylko jak to "dziś" zablokować.
zablokowanie daty
Re: zablokowanie daty
Tak się nie nie da tego zrobić funkcje zawsze przeliczają wartości.
Jedyna opcja jaka przychodzi mi do głowy to napisanie własnej procedury (makra)...
Jedyna opcja jaka przychodzi mi do głowy to napisanie własnej procedury (makra)...
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: zablokowanie daty
Wiedziałam, że łatwo nie będzie. Dzięki za odpowiedź.
apache OpenOffice 4.1.5, windows 10
Re: zablokowanie daty
Jeżeli data bieżąca ma pojawić się w kolumnie C1, to można wpisać następującą formułę:
Nie jest to wstawienie daty statycznej, lecz formuła, która wstawi datę tylko raz.
Jednak jest to możliwe tylko przy włączonej opcji "Narzędzia -> Opcje -> LibrOffice Calc -> Oblicz -> Iteracje"
Po wprowadzeniu formuły, gdy liczby A1 i B1 są różne, wynikiem formuły jest 0. Aby uniknąć wyświetlania tego zera, komórce można przypisać formatowanie warunkowe, w którym zastosujemy wyświetlanie liczb własnym formatem, w którym nie będzie zer prowadzących. Czyli format w postaci jednego znaku: "#".
Nie można wprost przypisać takiego formatu komórce, bo co prawda zero nie będzie widoczne, ale po pojawieniu się daty, będzie ona pokazana jako zwykła liczba. Natomiast sformatowanie tej komórki od razu na datę spowoduje, że 0 będzie interpretowane jako data 30.12.1899 roku.
Kod: Zaznacz cały
=JEŻELI(A1=B1;JEŻELI(NIE(CZY.PUSTA(C1));DZIŚ();C1);C1)
Jednak jest to możliwe tylko przy włączonej opcji "Narzędzia -> Opcje -> LibrOffice Calc -> Oblicz -> Iteracje"
Po wprowadzeniu formuły, gdy liczby A1 i B1 są różne, wynikiem formuły jest 0. Aby uniknąć wyświetlania tego zera, komórce można przypisać formatowanie warunkowe, w którym zastosujemy wyświetlanie liczb własnym formatem, w którym nie będzie zer prowadzących. Czyli format w postaci jednego znaku: "#".
Nie można wprost przypisać takiego formatu komórce, bo co prawda zero nie będzie widoczne, ale po pojawieniu się daty, będzie ona pokazana jako zwykła liczba. Natomiast sformatowanie tej komórki od razu na datę spowoduje, że 0 będzie interpretowane jako data 30.12.1899 roku.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Re: zablokowanie daty
Stary temat, podobny problem, podobne rozwiązanie by @Smaigas:
https://forum.openoffice.org/pl/forum/v ... 710&p=7262
https://forum.openoffice.org/pl/forum/v ... 710&p=7262
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: zablokowanie daty
Temat rzeczywiście stary. Nie widziałem go. W rozwiązaniu @Smaigas po usunięciu wartości znika także data. @omeqaa chciała, żeby data po zmianie czegokolwiek już się nie zmieniała. Lecz metoda jest ta sama, to znaczy z wykorzystaniem iteracji.
Dzisiaj to, czego chciał ówczesny autor postu, prościej jest zrealizować wbudowanym do LibreOffice skrótem klawiaturowym CTRL+;. W czasie gdy ten stary problem się pojawił, prawdopodobnie takiego skrótu nie było, a w Apache OpenOffice nie ma go do dzisiaj.
Także jestem zwolennikiem unikania obliczeń iteracyjnych gdy nie jest to bezwzględnie konieczne.
Wydaje mi się, że są tylko dwie funkcje, które nie zmieniają wyników przy zmianie danych czy wczytywaniu pliku Calc-a. Obie pojawiły się w LIbreOffice (chyba już w wersji 6.) i dotyczą wygenerowania liczb losowych. Jedna to LOS.NIEUL() a druga to LOS.ZAKR.NIEUL() angielskie odpowiedniki, to RAND.NV() i RANDBETWEEN.NV(), generują one liczby losowe, które nie zmieniają się już podczas pracy z arkuszem.
Dzisiaj to, czego chciał ówczesny autor postu, prościej jest zrealizować wbudowanym do LibreOffice skrótem klawiaturowym CTRL+;. W czasie gdy ten stary problem się pojawił, prawdopodobnie takiego skrótu nie było, a w Apache OpenOffice nie ma go do dzisiaj.
Także jestem zwolennikiem unikania obliczeń iteracyjnych gdy nie jest to bezwzględnie konieczne.
Wydaje mi się, że są tylko dwie funkcje, które nie zmieniają wyników przy zmianie danych czy wczytywaniu pliku Calc-a. Obie pojawiły się w LIbreOffice (chyba już w wersji 6.) i dotyczą wygenerowania liczb losowych. Jedna to LOS.NIEUL() a druga to LOS.ZAKR.NIEUL() angielskie odpowiedniki, to RAND.NV() i RANDBETWEEN.NV(), generują one liczby losowe, które nie zmieniają się już podczas pracy z arkuszem.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.