Wyszukanie danych w ciągu liczb [SOLVED]

Użytkowanie arkusza kalkulacyjnego
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Jermor »

To jeszcze taka uwaga. Jeśli twoje dane są równej długości, to sortowanie wg drugiej kolumny nie ma sensu, bo wiersze zostaną przestawione wg. pierwszej kolumny. Sortowanie wg drugiego klucza zajmuje więc niepotrzebnie czas, a jak sam napisałeś, tych danych masz sporo. Dlatego w kodzie makra możesz wyłączyć trzy wiersze w kodzie makra, wpisując przed każdym znak apostrofu (aby wyglądały tak jak poniżej):

Kod: Zaznacz cały

'  oSortFields(1).Field = 1
'  oSortFields(1).SortAscending = TRUE
'  oSortFields(1).FieldType = com.sun.star.util.SortFieldType.NUMERIC
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Scenic
Posty: 25
Rejestracja: śr gru 23, 2020 3:59 pm

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Scenic »

Jeszcze pytanko jak uzyskać taki wynik?


Mamy ileś danych po dwie kolumny

W danej kolumnie jest liczba i wartość przypisana do liczby


Chciałbym aby zostały tylko konkretne wartości w tym wypadku 1


Gdy biorę użyj filtr to niestety ucina kawałek ,bo ilości 1 w dwóch kolumnach nie są równe.


Mogę oczywiście zamienić 2 na puste miejsca ale dane w drugiej kolumnie pozostaną.

Czyli muszą zniknąć dwójki i przypisane do nich dane.
Załączniki
a.ods
(16.32 KiB) Pobrany 75 razy
OpenOffice 4.1.3 na Windows 8.1
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Jermor »

Taką metodą filtrowania tego nie zrealizujesz. Filtr ukrywa wszystkie wiersze, które nie spełniają wymogów kryteriów. Problem nierównego obcinania pojawi się także na początku. Gdy wybierzesz 2, to z pierwszej pary pozostaną początkowe jedynki albo zostaną obcięte początkowe dwójki w drugiej parze. To zależy, jak zdefiniujesz kryteria.
Rozwiązaniem jest filtrowanie oddzielnie każdej pary danych z przeniesieniem odfiltrowanych rekordów do innego miejsca, np. w nowym arkuszu.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Scenic
Posty: 25
Rejestracja: śr gru 23, 2020 3:59 pm

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Scenic »

Tak też myślałem....


Tylko to jest za dużo danych aby robić to ręcznie.... Może poszukam jakiegoś makra....

Pary idą w tysiące sztuk...
OpenOffice 4.1.3 na Windows 8.1
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Jermor »

No, nie wiem, czy takie makro znajdziesz. Twój problem nie jest zagadnieniem uogólnionym, więc małe chyba są szanse, abyś takie dedykowane makro znalazł.
Przyglądam się oczekiwanemu rezultatowi i mam wrażenie, że liczba z pierwszej kolumny nie jest ci potrzebna. W końcu chcesz, aby dla wybranej przez ciebie liczby pojawiły się wartości z drugiej kolumny tych kolejnych par. Więc poza wyszczególnieniem tej liczby nie musi się ona w obszarze wyników w ogóle pojawiać. Nie wnosi niczego, a tylko zajmuje kolumnę.
Liczby w pierwszej kolumnie każdej pary są posortowane (po to były ci potrzebne te makra sortujące).
Ewentualne makro mogłoby utworzyć nowy arkusz w twoim skoroszycie zawierające w kolejnych kolumnach liczby pobierane z tej drugiej kolumny pary (niech to będzie arkusz Wyniki). Powinno zatem najpierw zapytać o liczbę (niech to będzie zmienna Liczba). Dla każdej kolejnej pary liczb w arkuszu z danymi (lub arkuszach) należałoby
  • Znaleźć pierwsze wystąpienie wartości Liczba.
  • od tej pozycji, w pętli, dla każdego elementu, w którym w pierwszej kolumnie jest wartość równa Liczba , przenieść do kolejnego wiersza odpowiedniej kolumny w arkuszu Wyniki wartość z prawej komórki aktualnie analizowanej pary. Taka pętla wykonywałby się tylko tyle razy (w każdej parze), ile razy występuje Liczba w pierwszej kolumnie.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Scenic
Posty: 25
Rejestracja: śr gru 23, 2020 3:59 pm

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Scenic »

Wymyśliłem funkcje jeżeli


Czyli jeżeli w 1 kolumnie jest dany numer pokazuje dane z drugiej kolumny. Jeżeli dana liczba jest inna niż 1 to zwraca 0 .


Tylko trzeba funkcję wklejać co w drugiej kolumnie.


Przygotuje sobie wzór i będę mieć gotowca.


Makro ma Mi ktoś napisać ale nie wiem czy to zrobi. W zasadzie co to sam wymyśliłem + Wasza pomoc MI wystarczy w zupełności.
:bravo:
OpenOffice 4.1.3 na Windows 8.1
Scenic
Posty: 25
Rejestracja: śr gru 23, 2020 3:59 pm

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Scenic »

Możesz jeszcze edytować kod makra sortuj pojedyncze aby sortować od największych do najmniejszych zamiast jak teraz od najmniejszych do największych?
OpenOffice 4.1.3 na Windows 8.1
Awatar użytkownika
Jermor
Posty: 2259
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Jermor »

Za sposób sortowania odpowiada
oSortFields().SortAscending = TRUE
Wartość TRUE oznacza: rosnąco, wartość FALSE - malejąco.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Scenic
Posty: 25
Rejestracja: śr gru 23, 2020 3:59 pm

Re: Wyszukanie danych w ciągu liczb [SOLVED]

Post autor: Scenic »

Ok ;)
OpenOffice 4.1.3 na Windows 8.1
ODPOWIEDZ