Strona 1 z 1
[SOLVED] Automatyczna wartość komórki jeżeli
: czw wrz 12, 2013 12:10 pm
autor: FRIX1988
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ć.
Re: Automatyczna wartość komórki jeżeli
: czw wrz 12, 2013 12:54 pm
autor: Minio
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.
Re: Automatyczna wartość komórki jeżeli
: czw wrz 12, 2013 1:15 pm
autor: FRIX1988
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

Re: Automatyczna wartość komórki jeżeli
: czw wrz 12, 2013 6:08 pm
autor: Jan_J
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.
Taki rejestr jest właśnie bazą. Maleńką, ale zawsze.
=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.
Re: Automatyczna wartość komórki jeżeli
: pt wrz 13, 2013 8:09 am
autor: FRIX1988
Za każdym razem zwraca mi tą samą liczbę, nie wiem gdzie coś poknociłem. W załączniku materiał poglądowy.
Re: Automatyczna wartość komórki jeżeli
: pt wrz 13, 2013 8:33 am
autor: belstar
Re: Automatyczna wartość komórki jeżeli
: pt wrz 13, 2013 9:45 am
autor: FRIX1988
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
korzystając z powyższego zwraca 3 wartości z tabeli.
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
Re: Automatyczna wartość komórki jeżeli
: pt wrz 13, 2013 12:18 pm
autor: arras_1
Może spróbować za pomocą funkcji PODAJ POZYCJĘ i PRZESUNIĘCIE
Re: Automatyczna wartość komórki jeżeli
: pt wrz 13, 2013 12:47 pm
autor: FRIX1988
Teraz działa znakomicie!

DZIĘKUJĘ!
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: sob wrz 14, 2013 11:33 am
autor: therminus
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.
Re: Automatyczna wartość komórki jeżeli
: sob wrz 14, 2013 12:02 pm
autor: Jan_J
FRIX1988 pisze:troszkę pokomplikowane. [...]
[...]
korzystając z powyższego zwraca 3 wartości z tabeli.
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
Wyszukaj -> Wyszukaj.pionowo
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
Końcowe 0 mówi, żeby przeszukiwać tabelę tak, jakby nie była uporządkowana. Funkcja Wyszukaj nie ma takiego parametru.
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.
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: wt wrz 24, 2013 2:34 pm
autor: FRIX1988
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:
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)
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

Re: [SOLVED] Automatyczna wartość komórki jeżeli
: wt wrz 24, 2013 3:31 pm
autor: Jan_J
Da się. Używam składni postaci
Kod: Zaznacz cały
=PRZESUNIĘCIE('plik_bazy'#klucze;PODAJ.POZYCJĘ(A1; 'plik_bazy'#klucze; 0)-1; 0; 1; liczba_kolumn)
Przy 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.
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 7:54 am
autor: FRIX1988
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)
kolumnę z nazwiskami nazwałem "nazwiska" (w pliku BAZA TAR.ODS)
z # w formule zwraca "NAZWA?", więc dałem bez i wyświetla 508: błąd ustawienia nawiasów, hm?

Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 10:17 am
autor: Jan_J
Nie brakuje przypadkiem # ?
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 11:10 am
autor: FRIX1988
Jan_J pisze:Nie brakuje przypadkiem # ?
w przypadku:
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)
zwraca błąd "NAZWA?"
co wydaje się dziwne, bo odnośniki są zrobione analogicznie do przypadku w którym baza byłaby w tym samym pliku.
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 3:22 pm
autor: Jan_J
... 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.
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 6:40 pm
autor: FRIX1988
hm, tak się zastanawiam czy może nie dało by się wykorzystać tej formuły:
Kod: Zaznacz cały
=DDE("soffice"; "file:baza tar.ods";"arkusz2.c1")
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

Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 7:25 pm
autor: Jan_J
Nie warto. Zajedziesz się, a aktualizacja będzie frustrująco wolna.
Taka formuła
Kod: Zaznacz cały
=PRZESUNiĘCIE('file:///ścieżka_do_pliku.ods'#$Arkusz1.$A$1;0;0;100;2)
zatwierdzona 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.
Re: [SOLVED] Automatyczna wartość komórki jeżeli
: śr wrz 25, 2013 9:10 pm
autor: FRIX1988
ś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
