ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
-
- Posty: 6
- Rejestracja: sob maja 25, 2024 1:26 pm
ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Potrzebuję użyć adresowania pośredniego do komórki z innego arkusza. Zrobiłem to w arkuszu, w którym miałem już wiele obliczeń.
Nie chciało mi działać, dostawałem błąd: #REF!
W tym samym środowisku, na tym samym komputerze, w nowo utworzonym pliku identyczna formuła:
=ADR.POŚR("Arkusz6"&".A1")
działa bardzo dobrze.
Ale na moim starym nie. Bez wskazania nazwy arkusza obie wersje działają dobrze.
Dla zdiagnozowania przyczyny problemu wyrzucałem z tego źle działającego arkusza, wszystko po kolei, aż został już tylko prosty przykład składający się z komórki A1 i wskazującej na nią formułę w A2.
Czyli w tej chwili zawartość arkusza nowego i starego jest identyczna, a nowy działa, a stary nie.
Podejrzewam jakąś różnice w konfiguracji i ustawieniach samego arkusza lub pliku, ale nie potrafię znaleźć przyczyny.
Załączam oba arkusze:
dziala.ods - nowy arkusz, gdzie jest wszystko ok
nie.dziala.ods - stary arkusz, gdzie w A2 jest błąd #REF!
Będę wdzięczny za jakieś pomysły. Zależy mi na ustaleniu powodu takiego zachowania mojego pliku.
Nie chciało mi działać, dostawałem błąd: #REF!
W tym samym środowisku, na tym samym komputerze, w nowo utworzonym pliku identyczna formuła:
=ADR.POŚR("Arkusz6"&".A1")
działa bardzo dobrze.
Ale na moim starym nie. Bez wskazania nazwy arkusza obie wersje działają dobrze.
Dla zdiagnozowania przyczyny problemu wyrzucałem z tego źle działającego arkusza, wszystko po kolei, aż został już tylko prosty przykład składający się z komórki A1 i wskazującej na nią formułę w A2.
Czyli w tej chwili zawartość arkusza nowego i starego jest identyczna, a nowy działa, a stary nie.
Podejrzewam jakąś różnice w konfiguracji i ustawieniach samego arkusza lub pliku, ale nie potrafię znaleźć przyczyny.
Załączam oba arkusze:
dziala.ods - nowy arkusz, gdzie jest wszystko ok
nie.dziala.ods - stary arkusz, gdzie w A2 jest błąd #REF!
Będę wdzięczny za jakieś pomysły. Zależy mi na ustaleniu powodu takiego zachowania mojego pliku.
- Załączniki
-
- nie.dziala.ods
- (9.63 KiB) Pobrany 63 razy
-
- dziala.ods
- (8.46 KiB) Pobrany 60 razy
LibreOffice 7.0.6.2 na Fedora Linux 33
Re: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Piękny przykład ... Potwierdzam zgodność zachowania z opisem.
Jeszcze nie wiem, dlaczego tak jest.
Jeszcze nie wiem, dlaczego tak jest.
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: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Odwołanie do fontu Calibri w skoroszycie "nie.dziala.ods" (miękko) sugeruje, że w jego rozwoju był epizod z Excelem. I składnia excelowska w jego przypadku okazała się być tą skuteczną. Excelowska, tzn. "Arkusz6!A1" zamiast "Arkusz6.A1".
Rzecz tkwi w metadanych dokumentu:
po rozpakowaniu obu skoroszytów w osobnych katalogach i „przeflancowaniu” pliku content.xml z niedziałającego do działającego, adresy zaczynają żyć.
To znaczy, że nie są winne formuły, tylko tryb obsługi, który wybiera określony dialekt adresowania. Do wykrycia przez przejrzenie różnic w pozostałych plikach tworzących skoroszyt, a przypuszczam, że będzie z tego błąd do zgłoszenia.
Warto sprawdzić w tekście źródłowym tego dokumentu, czy wymusza on składnię Excela. Bo w interfejsie Calca tego nie widzę, a wymuszenie zmiany w Narzędzia→Opcje→Calc→Formuła nic nie daje.
Wyjaśnienie: skoroszyty .ods, a także .xlsx, są w istocie archiwami .zip z tekstowym (XML) opisem zawartości dokumentu. To bardzo ułatwia diagnozowanie problemów związanych z konkretnym dokumentem, bo uniezależnia od interfejsu użytkownika.
Rzecz tkwi w metadanych dokumentu:
po rozpakowaniu obu skoroszytów w osobnych katalogach i „przeflancowaniu” pliku content.xml z niedziałającego do działającego, adresy zaczynają żyć.
To znaczy, że nie są winne formuły, tylko tryb obsługi, który wybiera określony dialekt adresowania. Do wykrycia przez przejrzenie różnic w pozostałych plikach tworzących skoroszyt, a przypuszczam, że będzie z tego błąd do zgłoszenia.
Warto sprawdzić w tekście źródłowym tego dokumentu, czy wymusza on składnię Excela. Bo w interfejsie Calca tego nie widzę, a wymuszenie zmiany w Narzędzia→Opcje→Calc→Formuła nic nie daje.
Wyjaśnienie: skoroszyty .ods, a także .xlsx, są w istocie archiwami .zip z tekstowym (XML) opisem zawartości dokumentu. To bardzo ułatwia diagnozowanie problemów związanych z konkretnym dokumentem, bo uniezależnia od interfejsu użytkownika.
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)
-
- Posty: 6
- Rejestracja: sob maja 25, 2024 1:26 pm
Re: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Potwierdzam sugestię, o "mezaliansie" z Excelem. Oryginalny plik, był bardzo złożony i część jego przygotowała inna osoba pod Excelem, potem zostało wgrane u mnie do LO i dalej procedowane. Z tego, przez kasowanie zawartości, został zrobiony przykład minimum "nie.dziala.ods".
Dziękuję za sugestię z "Arkusz6!A1", to mi doraźnie pomoże. Próbowałem różnych sposobów zapisu, głównie żonglując cudzysłowami, ale to nie zadziałało.
Ale ciekaw bym był ustalenia, jakie ustawienie, i w jaki sposób zmieniane, pozwoli temu arkuszowi zapomnieć o swojej przeszłości ;o)
Próbowałem już wcześniej rozzipować format .ods i przeglądać te pliki. Ale mnogość parametrów i moja słaba znajomość LO nie pozwoliła mi zlokalizować, o które ustawienie może chodzić.
Może komuś, z większą wiedzą, uda się to wyłapać.
Dziękuję za sugestię z "Arkusz6!A1", to mi doraźnie pomoże. Próbowałem różnych sposobów zapisu, głównie żonglując cudzysłowami, ale to nie zadziałało.
Ale ciekaw bym był ustalenia, jakie ustawienie, i w jaki sposób zmieniane, pozwoli temu arkuszowi zapomnieć o swojej przeszłości ;o)
Próbowałem już wcześniej rozzipować format .ods i przeglądać te pliki. Ale mnogość parametrów i moja słaba znajomość LO nie pozwoliła mi zlokalizować, o które ustawienie może chodzić.
Może komuś, z większą wiedzą, uda się to wyłapać.
LibreOffice 7.0.6.2 na Fedora Linux 33
-
- Posty: 6
- Rejestracja: sob maja 25, 2024 1:26 pm
Re: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Porównałem pliki settings.xml. Oprócz, chyba mało istotnych dla problemu różnic odnośnie widoku, zwracaja uwagę dwie różnice, występujące tylko w pliku dla arkusza niedziałającego:
1. <config:config-item config:name="SyntaxStringRef" config:type="short">2</config:config-item>
tego ustawienia nie ma w ogóle w arkuszu działającym
2. cała sekcja
<config:config-item-map-indexed config:name="ForbiddenCharacters">
<config:config-item-map-entry>
...
</config:config-item-map-entry>
</config:config-item-map-indexed>
obejmująca ustawienia dla dwóch języków "en" i "pl"
Tej sekcji też w ogóle nie ma w arkuszu działającym.
Niestety nie bardzo wiem, jak te ustawienia zmodyfikować, żeby przetestować, czy mają jakiś wpływ na problem.
1. <config:config-item config:name="SyntaxStringRef" config:type="short">2</config:config-item>
tego ustawienia nie ma w ogóle w arkuszu działającym
2. cała sekcja
<config:config-item-map-indexed config:name="ForbiddenCharacters">
<config:config-item-map-entry>
...
</config:config-item-map-entry>
</config:config-item-map-indexed>
obejmująca ustawienia dla dwóch języków "en" i "pl"
Tej sekcji też w ogóle nie ma w arkuszu działającym.
Niestety nie bardzo wiem, jak te ustawienia zmodyfikować, żeby przetestować, czy mają jakiś wpływ na problem.
LibreOffice 7.0.6.2 na Fedora Linux 33
Re: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Patrząc w konfigurację formuł w Narzędzia ⟶ Opcje ⟶ LibreOffice Calc ⟶ Formuła
Oba pliki "nie.działa.ods" i "działa.ods" mają ustawione "Szczegółowe ustawienia obliczeń" na "Niestandardowe", ale różnią się co parametru "Składnia odwołania do wartości ciągu", odpowiednio: "Excel A1" oraz "Calc A1 | Excel A1". (*)
⠀ ⠀
To ważne, bo według pomocy LibreOffice (temat: "Szczegółowe ustawienia obliczeń") składnia formuły wpływa m.in. na funkcję ADR.POŚR.
⠀ ⠀
Przykład ze zmienionym ustawieniem:
⠀ ⠀
⠀
(*)
Zdaje się, że plik .ods zawiera stosowny zapis, tj. w pliku wewnętrznym settings.xml
jest parametr SyntaxStringRef o odpowiedniej wartości.
Oba pliki "nie.działa.ods" i "działa.ods" mają ustawione "Szczegółowe ustawienia obliczeń" na "Niestandardowe", ale różnią się co parametru "Składnia odwołania do wartości ciągu", odpowiednio: "Excel A1" oraz "Calc A1 | Excel A1". (*)
⠀ ⠀
To ważne, bo według pomocy LibreOffice (temat: "Szczegółowe ustawienia obliczeń") składnia formuły wpływa m.in. na funkcję ADR.POŚR.
⠀ ⠀
Przykład ze zmienionym ustawieniem:
⠀ ⠀
⠀
(*)
Zdaje się, że plik .ods zawiera stosowny zapis, tj. w pliku wewnętrznym settings.xml
jest parametr SyntaxStringRef o odpowiedniej wartości.
OpenOffice 1.1.5 – 4.1.15
LibreOffice 3.3.0.4 – 24.8
Windows 7,10,11 64-bit
LibreOffice 3.3.0.4 – 24.8
Windows 7,10,11 64-bit
-
- Posty: 6
- Rejestracja: sob maja 25, 2024 1:26 pm
[SOLVED] Re: ADR.POŚR z nazwą arkusza czasem dziala, a czasem nie
Bardzo dziękuję.
Parametr SyntaxStringRef to ten, który jest ustawiony w pliku settings.
Piękne wyjaśnienie, które tłumaczy wszystko i wskazuje jak poprawić w przypadku pliku przekonwertowanego z Excela, z którymi często mam do czynienia.
Parametr SyntaxStringRef to ten, który jest ustawiony w pliku settings.
Piękne wyjaśnienie, które tłumaczy wszystko i wskazuje jak poprawić w przypadku pliku przekonwertowanego z Excela, z którymi często mam do czynienia.
LibreOffice 7.0.6.2 na Fedora Linux 33