[SOLVED] Automatyczna wartość komórki jeżeli
[SOLVED] Automatyczna wartość komórki jeżeli
Witam
Mam taki problem, potrzebuję formułę, dzięki której gdy w kolumnie D wpiszę numer rejestracyjny to w kolumnie F automatycznie wstawi się przypisana do tego numeru wartość. Nie wiem jak się do tego zabrać.
Mam taki problem, potrzebuję formułę, dzięki której gdy w kolumnie D wpiszę numer rejestracyjny to w kolumnie F automatycznie wstawi się przypisana do tego numeru wartość. Nie wiem jak się do tego zabrać.
Ostatnio zmieniony pt wrz 13, 2013 1:01 pm przez FRIX1988, łącznie zmieniany 1 raz.
OpenOffice 4.1.14 na Windows 10
Re: Automatyczna wartość komórki jeżeli
Zakładając, że masz gdzieś bazę numerów rejestracyjnych i odpowiadających im wartości, to:
WYSZUKAJ, WYSZUKAJ.PIONOWO, WYSZUKAJ.POZIOMO.
Prawdopodobnie najbardziej odpowiednia będzie ta druga, ale to już zależy od struktury Twojego zbioru danych.
WYSZUKAJ, WYSZUKAJ.PIONOWO, WYSZUKAJ.POZIOMO.
Prawdopodobnie najbardziej odpowiednia będzie ta druga, ale to już zależy od struktury Twojego zbioru danych.
Mój blog o używaniu LibreOffice
LibreOffice 4.2.6, Debian testing amd64
LibreOffice 4.2.6, Debian testing amd64
Re: Automatyczna wartość komórki jeżeli
Nie mam bazy, zrobiłem sobie z boku tabelki do której wprowadzam wartości brutto w dwóch kolumnach - w kolumnie K 6 numerów rejestracyjnych i obok nich w kolumnie L przypisane im wartości liczbowe określające wagę pojazdów. Rejestracyjne kolejno wpisuję w kolumnę D i chciałbym, żeby wartość przypisana pojawiała się w kolumnie F 
OpenOffice 4.1.14 na Windows 10
Re: Automatyczna wartość komórki jeżeli
Taki rejestr jest właśnie bazą. Maleńką, ale zawsze.FRIX1988 pisze:[...] zrobiłem sobie z boku tabelki do której wprowadzam wartości brutto w dwóch kolumnach - w kolumnie K 6 numerów rejestracyjnych i obok nich w kolumnie L przypisane im wartości liczbowe określające wagę pojazdów.
=wyszukaj.pionowo(wartość; baza; numer_kolumny; 1)
przy czym klucze (numery) w bazie winny być uporządkowane rosnąco, albo
=wyszukaj.pionowo(wartość; baza; numer_kolumny; 0)
bez założenia o porządku. Oba warianty różnią się dość istotnie pod względem reagowania na wpis nieistniejący w bazie.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Automatyczna wartość komórki jeżeli
Za każdym razem zwraca mi tą samą liczbę, nie wiem gdzie coś poknociłem. W załączniku materiał poglądowy.
- Załączniki
-
- TARY.ods
- (8.94 KiB) Pobrany 239 razy
OpenOffice 4.1.14 na Windows 10
Re: Automatyczna wartość komórki jeżeli
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(D3;K3:L8;2)LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Automatyczna wartość komórki jeżeli
troszkę pokomplikowane. Udało mi się to zrobić w sposób następujący formułą WYSZUKAJ:
gdzie:
D3 to komórka do której wpisuję interesujący mnie numer rejestracyjny
K3:K8 to numery rejestracyjne w tabelce (bazie) z boku
L3:L8 to przypisane do numerów w tabelce (bazie) warości
wystarczy przeciągnąć pierwszą komórkę i tabelka uzupełni się wartościami z tabelki. Pewnie komuś się przyda. Czytałem temat powyżej i nie miałem pojęcia o czym czytam
ale dziękuję za pomoc. Chodziło mi o coś prostego jak powyżej. Można zamknąć.
EDIT.
Jednak działa prawidłowo tylko jeśli wpisywane numery są podawane w kolejności takiej samej jak są w tabelce. W przeciwnym razie zwraca nieprawidłowe wartości
EDIT2
czasem działa, a czasem oszukuje. nieogarniam.
w załączeniu plik poglądowy
EDIT3
dla "sps 06240", "sps 03154" zwraca 14,8
dla "sps 8x13" - 13,32 (prawidłowo)
dla "sps 74uj" - 15,78 (prawidłowo)
dla "sps 01341" zwraca N/D (wartosc niedostepna) chociaż jest w tabelce
Kod: Zaznacz cały
=WYSZUKAJ(D3;K3:K8;L3:L8)D3 to komórka do której wpisuję interesujący mnie numer rejestracyjny
K3:K8 to numery rejestracyjne w tabelce (bazie) z boku
L3:L8 to przypisane do numerów w tabelce (bazie) warości
wystarczy przeciągnąć pierwszą komórkę i tabelka uzupełni się wartościami z tabelki. Pewnie komuś się przyda. Czytałem temat powyżej i nie miałem pojęcia o czym czytam
EDIT.
Jednak działa prawidłowo tylko jeśli wpisywane numery są podawane w kolejności takiej samej jak są w tabelce. W przeciwnym razie zwraca nieprawidłowe wartości
EDIT2
czasem działa, a czasem oszukuje. nieogarniam.
w załączeniu plik poglądowy
EDIT3
korzystając z powyższego zwraca 3 wartości z tabeli.belstar pisze:Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(D3;K3:L8;2)
dla "sps 06240", "sps 03154" zwraca 14,8
dla "sps 8x13" - 13,32 (prawidłowo)
dla "sps 74uj" - 15,78 (prawidłowo)
dla "sps 01341" zwraca N/D (wartosc niedostepna) chociaż jest w tabelce
- Załączniki
-
- TARY 2.ods
- (9.64 KiB) Pobrany 219 razy
OpenOffice 4.1.14 na Windows 10
Re: Automatyczna wartość komórki jeżeli
Może spróbować za pomocą funkcji PODAJ POZYCJĘ i PRZESUNIĘCIE
- Załączniki
-
- TARY 2 przesunięcie.ods
- (10.05 KiB) Pobrany 265 razy
OpenOffice.org 4.1.3 , Windows 10
Re: Automatyczna wartość komórki jeżeli
Teraz działa znakomicie!
DZIĘKUJĘ!
OpenOffice 4.1.14 na Windows 10
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Witam
To ja jeszcze podam wersje z opcja "wyszukaj pionowo". Rozwiązanie to jest o tyle ciekawe, że można "bazę" trzymać w oddzielnym pliku.
To ja jeszcze podam wersje z opcja "wyszukaj pionowo". Rozwiązanie to jest o tyle ciekawe, że można "bazę" trzymać w oddzielnym pliku.
- Załączniki
-
- tary.ods
- (12.67 KiB) Pobrany 274 razy
LibreOffice 6.3 na Windows 10
Re: Automatyczna wartość komórki jeżeli
Wyszukaj -> Wyszukaj.pionowoFRIX1988 pisze:troszkę pokomplikowane. [...][...]Kod: Zaznacz cały
=WYSZUKAJ(D3;K3:K8;L3:L8)korzystając z powyższego zwraca 3 wartości z tabeli.belstar pisze:Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(D3;K3:L8;2)
dla "sps 06240", "sps 03154" zwraca 14,8
dla "sps 8x13" - 13,32 (prawidłowo)
dla "sps 74uj" - 15,78 (prawidłowo)
dla "sps 01341" zwraca N/D (wartosc niedostepna) chociaż jest w tabelce
Ta funkcja domyślnie zakłada, że tabela jest uporządkowana, w związku z czym przeszukuje szybko metodą bisekcji. W przypadku, kiedy porządku nie ma, wyniki są bez sensu. W przypadku uporządkowanym, ale kiedy wpis nie figuruje w tabeli, wynik jest podawany z miejsca w którym wpis mógłby się znaleźć.
Użyj
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(D3;K$3:L$8;2;0)Podaj.pozycję / Przesunięcie (albo Podaj.pozycję / Indeks) robią to samo, tylko w dwóch etapach. Też musisz przekazać funkcji wyszukującej, że spis jest nieuporządkowany, i robisz to tak samo jak wyżej.
Możesz też nazwać zakres K3:L8 (np. tary) i użyć w formułach nazwy zamiast adresu. Zyskasz na czytelności oraz na swobodzie w przypadku dopisania dalszych kodów.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Obudziła się wczoraj we mnie wena i zrobiłem sobie bardziej zaawansowaną bazę w nowym skoroszycie, w drugim arkuszu.
Po wpisaniu numeru rejestracyjnego zwraca już 3 pola, tj. tarę, nazwisko kierowcy i spedycję.
Chciałem wykorzystać jej możliwości na zasadzie by kilka plików mogło z niej pobierać dane naraz bym nie musiał w każdym pliku osobno dodawać nowych pozycji, tylko wystarczyłoby uruchomić plik z bazą i sobie pracować.
edytowałem zatem formułę w sposób następujący:
Gdzie "BAZA TAR.ods" to plik w którym w arkuszu 2 mam odpowiednio numer rejestracyjny w kolumnie B, nazwisko w C, tarę w D i spedycję w E.
Niby powinno działać koncertowo, jednak zwraca "N/D"
Postanowiłem wrócić do tematu i zapytać, ale zobaczyłem Twój post Janie i za pomocą "Przesunięcia" najwyraźniej nie da się korzystać z innych plików, szkoda, że nie zerknąłem dzień wcześniej
Po wpisaniu numeru rejestracyjnego zwraca już 3 pola, tj. tarę, nazwisko kierowcy i spedycję.
Chciałem wykorzystać jej możliwości na zasadzie by kilka plików mogło z niej pobierać dane naraz bym nie musiał w każdym pliku osobno dodawać nowych pozycji, tylko wystarczyłoby uruchomić plik z bazą i sobie pracować.
edytowałem zatem formułę w sposób następujący:
Kod: Zaznacz cały
=PRZESUNIĘCIE('file:///E:/Pszczyński Asfalt 27.07.13/Pszczyński Asfalt/WMB Wola/BAZA TAR.ods'#$Arkusz2.$C$2;PODAJ.POZYCJĘ(E19;'file:///E:/Pszczyński Asfalt 27.07.13/Pszczyński Asfalt/WMB Wola/BAZA TAR.ods'#$Arkusz2.C3:C462;0);1)Niby powinno działać koncertowo, jednak zwraca "N/D"
Postanowiłem wrócić do tematu i zapytać, ale zobaczyłem Twój post Janie i za pomocą "Przesunięcia" najwyraźniej nie da się korzystać z innych plików, szkoda, że nie zerknąłem dzień wcześniej
OpenOffice 4.1.14 na Windows 10
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Da się. Używam składni postaciPrzy tym klucze to nazwany zakres w zewnętrznym arkuszu, dla zwiększenia czytelności i niezawodności. Ale z adresowaniem postaci 'plik_bazy'#$Arkusz.$kolumna$wiersz także działa. 'plik_bazy' to oczywiście URL z pełną ścieżką.
W Twoim przykładzie adres C3 nie jest zablokowany, co przy kopiowaniu formuły na pewno prowadzi do błędów logicznych w adresowaniu.
Kod: Zaznacz cały
=PRZESUNIĘCIE('plik_bazy'#klucze;PODAJ.POZYCJĘ(A1; 'plik_bazy'#klucze; 0)-1; 0; 1; liczba_kolumn)W Twoim przykładzie adres C3 nie jest zablokowany, co przy kopiowaniu formuły na pewno prowadzi do błędów logicznych w adresowaniu.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Kod: Zaznacz cały
=PRZESUNIĘCIE('file:///E:/Pszczyński Asfalt 27.07.13/Pszczyński Asfalt/WMB Wola/BAZA TAR.ods'#$Arkusz2.$C$2;PODAJ.POZYCJĘ(E19; 'file:///e:/pszczyński asfalt 27.07.13/pszczyński asfalt/wmb wola/baza tar.ods'nazwiska; 0)-1; 0; 1; 1)z # w formule zwraca "NAZWA?", więc dałem bez i wyświetla 508: błąd ustawienia nawiasów, hm?
OpenOffice 4.1.14 na Windows 10
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Nie brakuje przypadkiem # ?
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: [SOLVED] Automatyczna wartość komórki jeżeli
w przypadku:Jan_J pisze:Nie brakuje przypadkiem # ?
Kod: Zaznacz cały
=PRZESUNIĘCIE('file:///E:/Pszczyński Asfalt 27.07.13/Pszczyński Asfalt/WMB Wola/BAZA TAR.ods'#$Arkusz2.$C$2;PODAJ.POZYCJĘ(E19; 'file:///e:/pszczyński asfalt 27.07.13/pszczyński asfalt/wmb wola/baza tar.ods'#nazwiska; 0)-1; 0; 1; 1)co wydaje się dziwne, bo odnośniki są zrobione analogicznie do przypadku w którym baza byłaby w tym samym pliku.
OpenOffice 4.1.14 na Windows 10
Re: [SOLVED] Automatyczna wartość komórki jeżeli
... istotnie...
Libre: niby się da, ale po ponownym otwarciu mamy błąd #nazwa / #name. I odświeżanie łącza nic nie daje.
Apache: błąd #ref, a łączy aktualizować w ogóle się nie da.
Nadaje się moim zdaniem na zgłoszenie błędu.
Libre: niby się da, ale po ponownym otwarciu mamy błąd #nazwa / #name. I odświeżanie łącza nic nie daje.
Apache: błąd #ref, a łączy aktualizować w ogóle się nie da.
Nadaje się moim zdaniem na zgłoszenie błędu.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: [SOLVED] Automatyczna wartość komórki jeżeli
hm, tak się zastanawiam czy może nie dało by się wykorzystać tej formuły:
Sama w sobie działa prawidłowo, czy dało by się ją wpleść do formuły z przesunięciem.
Myślałem jeszcze, żeby drogą ewentualności zrobić to trochę naokoło tzn. w skoroszycie, który ma korzystać z bazy w arkuszu2 porobić odnośniki z pomocą tej formuły. Automatycznie aktualizowałaby mi się wtedy baza w pliku docelowym przy otwartym pliku bazy, a stąd już tylko porobić przesunięcia w odpowiednich komórkach i voile'a
jedno jest pewne, dzień z życia wyjęty jak nic, baza na chwilę obecną ma 125 pozycji x 4 kolumny 
Kod: Zaznacz cały
=DDE("soffice"; "file:baza tar.ods";"arkusz2.c1")Myślałem jeszcze, żeby drogą ewentualności zrobić to trochę naokoło tzn. w skoroszycie, który ma korzystać z bazy w arkuszu2 porobić odnośniki z pomocą tej formuły. Automatycznie aktualizowałaby mi się wtedy baza w pliku docelowym przy otwartym pliku bazy, a stąd już tylko porobić przesunięcia w odpowiednich komórkach i voile'a
OpenOffice 4.1.14 na Windows 10
Re: [SOLVED] Automatyczna wartość komórki jeżeli
Nie warto. Zajedziesz się, a aktualizacja będzie frustrująco wolna.
Taka formułazatwierdzona jako tablicowa, zrobi to jednym rzutem. Działa i w LO, i w OO 4. Jedynym minusem jest utrzymywanie kopii danych w arkuszu roboczym.
100 i 2 to oczywiście wymiary tabeli.
Taka formuła
Kod: Zaznacz cały
=PRZESUNiĘCIE('file:///ścieżka_do_pliku.ods'#$Arkusz1.$A$1;0;0;100;2)100 i 2 to oczywiście wymiary tabeli.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: [SOLVED] Automatyczna wartość komórki jeżeli
świetnie
formuła ta odbudowała tabelę w kilka sekund.
Kopia w arkuszu roboczym jest mi na rękę akurat, więc to chyba wszystko
póki co zdaje się działać bezbłędnie 
Wielkie Dziękuję Janie z mojej strony
Kopia w arkuszu roboczym jest mi na rękę akurat, więc to chyba wszystko
Wielkie Dziękuję Janie z mojej strony
OpenOffice 4.1.14 na Windows 10