Strona 1 z 1

adres komórki z poprawności danych

: ndz lut 14, 2010 4:06 pm
autor: soft
Serdecznie witam i proszę o pomoc w rozwiązaniu problemu opisanego poniżej:

Dany jest plik o nazwie "kalkulacja.ods" z 2 zakładkami (arkuszami) nazwanymi zakładka_1 i zakładka_2
Do zakładki_1 pobieram dane z zakładki_2 poprzez "poprawność danych -> zakres komórek"
Wszystkie dane w zakładka_2 maja swój adres i są unikalne i posortowane.
W jaki sposób w dowolnej komórce "zakładka_1" wyświetlić adres pobranej z "zakładka_2" danej.

Robię to za pomocą wyszukaj .... ale sposób jest prymitywny i zawodny - poniższą funkcja prezentuje to:
=ADR.POŚR(ZŁĄCZ.TEKSTY("zakładka_2.";ADRES(WYSZUKAJ($H$7;zakładka_2.$B$2:$B$100;zakładka_2.$A$2:$A$100);3)))

Pozdrawiam - Piotr

Re: adres komórki z poprawności danych

: ndz lut 14, 2010 10:51 pm
autor: mg2
> Robię to za pomocą wyszukaj .... ale sposób jest prymitywny i zawodny ...
>
Co jest w tym zawodnego i prymitywnego? Tzn. czego potrzebujesz?

Re: adres komórki z poprawności danych

: pn lut 15, 2010 12:16 am
autor: soft
Funkcja szukaj działa poprawnie tylko wtedy gdy dane do przeszukiwania będą posortowane.
Przy danych nie sortowanych funkcja szukaj wysypuje się już na 3 rekordzie (wierszu).
Zależy mi na odczytaniu adresu pobranego z nieposortowanych wierszy (czyli wierszy o naturalnej kolejności zapisów)

Pozdrawiam

Re: adres komórki z poprawności danych

: pn lut 15, 2010 1:02 am
autor: mg2
Wszystkie dane w zakładka_2 maja swój adres i są unikalne i posortowane.
...
Zależy mi na odczytaniu adresu pobranego z nieposortowanych wierszy (czyli wierszy o naturalnej kolejności zapisów)
A unikalność zostaje?

Re: adres komórki z poprawności danych

: pn lut 15, 2010 3:09 pm
autor: soft
Unikalność pozostaje do momentu korzystania z funkcji szukaj ... :-) - (tylko muszę jeszcze znaleźć funkcję sprawdzającą wprowadzanie zapisu o unikalność aby uniknąć błędów)
Jeżeli znaleźlibyśmy inny "patent" na pobranie adresu komórki podstawianej .... to żegnaj unikalność i sortowanie ...

Co do moich spostrzeżeń w temacie pobierania adresu to wydaje mi się iż w ("funkcji" - tak ją nazwijmy) "poprawność danych" brak jest wewnętrznego parametru (zmiennej) przekazującego z jakiej komórki został pobrany element. "Funkcja" ta pobiera po prostu ciąg znaków z danego adresu i wkleja go w odpowiednie miejsce arkusza - przenosząc je jako tylko jedną zmienną.

Nie wiem czy jestem w stanie to wytłumaczyć - ale jestem programistą strukturalnym nie obiektowym ..... :-(

Re: adres komórki z poprawności danych

: pn lut 15, 2010 8:58 pm
autor: mg2
Zerknij jeszcze w ten wątek
http://user.services.openoffice.org/pl/ ... ?f=9&t=350
jest tam załącznik "cennik.ods"

Może coś takiego masz na myśli?

Re: adres komórki z poprawności danych

: pn lut 15, 2010 11:42 pm
autor: soft
Bardzo dobry przykład....
Teraz tylko analiza jak to to działa i myślę że coś wymyślę .... ;)
Dzięki serdeczne

Re: adres komórki z poprawności danych

: wt lut 16, 2010 12:58 am
autor: mg2
Teraz tylko analiza jak to to działa i myślę że coś wymyślę ...
Wejdź w ustawienia "Formant" rozwijanej listy. Ona zwraca numer wybranej pozycji. Ponieważ porządek listy jest taki jak porządek danych w komórkach to numer pozycji z listy można przeliczyć na numer wiersza.

Trzeba sprawdzić czy:
- będzie to działać pomiędzy arkuszami (tzn. weź dane do lisy z "arkusz 1" a numer wiersza zwróć w "arkusz_2"
- jak zmienimy dane w arkuszy to czy przypadkiem nie trzeba ręcznie uaktualnić rozwijanej listy

Obie rzeczy pewno da się zrobić poprzez makro.

Re: adres komórki z poprawności danych

: sob lut 20, 2010 1:29 pm
autor: Jan_J
soft pisze:Funkcja szukaj działa poprawnie tylko wtedy gdy dane do przeszukiwania będą posortowane.
Podobna funkcja wyszukaj.pionowo() ma czwarty parametr wskazujący, czy dane są posortowane czy nie.