Špatné použití formátu datumu ve vzorcích

Do verze 7.1.8.1 (včetně) mě to po každé aktualizaci fungovalo pořád stejně, ale od verze 7.2.6 to nefunguje jako předtím. Snažil jsem se to popsat anglicky tady 148747 – Bad use of the date in formulas , ale anglicky moc neumím, tak jsem to překládal pomocí překladače, ale asi tomu nikdo moc nerozuměl.

Pokusím se to vysvětlit asi víc laicky s obrázky a snad to pak podle rozdílů ve screenshotech půjde pochopit.

Otevřu si soubor “Souhrný výpočet z výpisu transakcí - Update 2022.04.24 - Template.ods” přejdu do listu “Výpis CZK” a tam do buňky A1 zkopíruju způsobem CTRL+C a CTRL+V celý obsah souboru “obraty CZK.xlsx”. Pak přejdu do listu “Výpočet 2” a tam si můžu zjistit součet jednotlivých typů transakcí za určitý rok nebo i za určitý měsíc v roce. Jak to dobře funguje je vidět na obrázku z Verze 7.1.8.1 “Výpočet 2 - Verze 7.1.8.1.jpg”

Když jsem si předtím nainstaloval (stejným způsobem jako vždy předtím a nic jsem nikde neměnil v nastavení) verzi 7.2.6 a dneska jsem zkusil nejnovější 7.4.5.1 tak vypadá jako na obrázku “Výpočet 2 - Verze 7.4.5.1.jpg”

To je, že to přestalo počítat všechny datumy, kde je měsíc jednociferný. Předtim to počítalo datumy i když byl v původním dokumentu datum ve formátu D.M.YYYY, tak se ve vzorci počítalo, jako by to bylo DD.MM.YYYY a tak jsem to mohl krásně vyfiltrovat pomocí “DD.YYYY” a to už teď nejde. Když bych teď změnil filtr na “D.YYYY” tak ale pak měsíc 1 a měsíc 11 se započítá dvakrát do dvou různých kolonek.

Myslel jsem si že v té verzi, kde to fungovalo se po kliknutí na datum např. 1.7.2022 objevilo ve vstupní řádce 01.07.2022 a v nové už ne, ale toto funguje stejně v obou verzích viz “Datum vs Vstupní řádka.jpg”, tak nevím kde je problém. Asi někde se vzorci, že to nastavili, aby to bralo striktně co je tam napsané. Nastavení jsem nikdy nikde nezi aktualizacema žádné neměnil. Vždycky se verze aktualizovala a fungovalo to. Až do verze 7.2.6.

Půjde to nějak vyřešit, aby to fungovalo zase tak, že když je v buňce D.M.YYYY, aby to vzorce braly jako DD.MM.YYYY ? Je to chyba nebo je to tak změněné schválně a už to nepujde ?

Příloha (zmiňované soubory): Ulož.to

PS: Měl jsem tu pěkně vložené všechny odkazy na soubory a obrázky v textu, ale jako nový uživatel je nemůžu všechny vložit, takže jsou v archivu na uložto.

Zkoušel jsem uvedený postup

Otevřu si soubor “Souhrný výpočet z výpisu transakcí - Update 2022.04.24 - Template.ods” přejdu do listu “Výpis CZK” a tam do buňky A1 zkopíruju způsobem CTRL+C a CTRL+V celý obsah souboru “obraty CZK.xlsx”. Pak přejdu do listu “Výpočet 2” a tam si můžu zjistit součet jednotlivých typů transakcí za určitý rok nebo i za určitý měsíc v roce. Jak to dobře funguje je vidět na obrázku z Verze 7.1.8.1 “Výpočet 2 - Verze 7.1.8.1.jpg”

ve verzi 6.3 a 7.6 a v obou mám stejný výsledek.

Zkus ještě rozkliknout skryté sloupce pro zobrazení měsíců za rok 2022 (sloupce BD až BO) a tam se ukáže ta chyba.

Pokud nechceš měnit formát vstupních dat ve sloupci A:A na “DD.MM.YYYY” (to je lepší možnost a pak stisknout CNTR+SHIFT+F9 pro přepočet stránky).
Pak buď (první možnost):
Na stránce Výpočet 2, řádek 1 změň data (měsíc.rok) tak, aby místo počáteční nuly byla tečka.
Nebo (druhá možnost):
Smaž pouze počáteční nulu a ve vzorci, kde se kontroluje datum, přidej za hvězdičku tečku takto (příklad):

... CONCAT("*."; BK1; "*"))

Díky za možnosti řešení. Abych pravdu řekl, tak po napsání tady na toto fórum jsem pak ještě zkoušel co se s tím dá dělat a to s tou tečkou v prvním řádku na to jsem přišel. To bude asi nejjednodušší.

Předtim než jsem psal na to jiné fórum, tak mě to nenapadlo. Asi jsem byl příliž naštvaný, že to přestalo fungovat v nové verzi.

Myslím, že je to chyba, když i v té vstupní řádce se to zobrazuje jako DD.MM.YYYY a předtim to pořád fungovalo, tak jsem to popsal jako chybu a čekal jsem, že to opraví a nesnažil jsem se přijít na možnost jak docílit toho, aby to fungovalo.

Nevím jestli mám tvoji odpověď označit jako řešení, když to můj problém vyřeší, ale nevyřeší to tu změnu (chybu), že to funguje jinak než v předchozích verzích. Jestli se pak tím bude ještě někdo zabývat, když to bude označené jako vyřešené ?

Sice nejsem kompetentní k tomu abych vysvětlil proč se chování změnilo, ale myslím si spíše, že byla opravená chyba, protože teď to opravdu správně porovnává dle zobrazení podle použitého formátování, což dříve nebylo.
Ale jak říkám nevím.

Jinak bych osobně spíše použil místo SUMIFS spíše SUMPRODUCT a filtroval bych to pomocí skutečných měsíců a roků. Pak by to fungovalo v obou případech formátování. A výsledky bych zobrazil ve dvou tabulkách. V jedné (přehledné) by byly pouze roky a ve druhé pro zvolený rok (například pomocí rozbalovacího menu) pouze měsíce.

Ale ve vstupní řádce se po kliknutí na buňku s datumem místo toho co je v buňce (D.M.YYYY) zobrazí i v nové verzi DD.MM.YYYY tak jsem myslel, že je spíš chyba to jak to přestalo počítat tak jako předtim.

Já se zas v tom excelu tak nevyznám, takže jsem to vytvořil takto. Můžu se pak podívat na ten SUMPRODUCT, ale nejspíš to nechám tak jak to je, jen změním to vyhledávací kritérium, ale ještě chvíli počkám, jestli se na to někdo nepodívá a nezjistí, že je to chyba a neopraví to.

Změnil to následující commit https://gerrit.libreoffice.org/c/core/+/112343
Můžete udělat nějaký jednodušší příklad, kde bude vidět změna chování LO?

To asi nemůžu, protože mě to dělá jen při tomto a nejsem odborník na libreoffice/excel, takže jen tak z patra nevymyslím při čem to bude ještě dělat a nevím co je commit a jestli v tom odkazu je popis chyby nebo popis nového chtěného chování nebo jestli se to kvůli tomu nechtěně změnilo.

Jestli ale na něco jednoduššího přijdu, tak to sem dám.

Jen jsem teď přišel na to (jestli to něčemu pomůže), že v tom souboru “obraty CZK.xlsx” jsou ty datumy formátované jako datum (Je aktivovaná ikona datumu), když ten datum ikonou deaktivuju a z hned aktivuju tak už se to změní na DD.MM.YYYY.