Funkcja wyszukaj pionowo i znajdź tekst - problem
-
kristoferson
- Posty: 13
- Rejestracja: śr lut 06, 2013 9:09 pm
Funkcja wyszukaj pionowo i znajdź tekst - problem
Witam,
Mam taki problem: w kolumnie A są nazwy, w B dane1, w C dane2, w D dane 3.
W kolumnie F znajduje się cześć nazwy którą chciałbym zaleźć w kolumnie A i przypisać odpowiednie dane z kolumn B,C,D do kolumn G,H,I
Próbowałem z funkcją WYSZUKAJ.PIONOWO w połączeniu z funkcją ZNAJDŹ i ZNAJDŹ.TEKST ale nie dałem rady.
W załączniku plik z pokazaniem tego co chciałbym osiągnąć.
Może ktoś ma jakiś pomysł jak to zrobić ?
Pozdrawiam
Krzysiek
Mam taki problem: w kolumnie A są nazwy, w B dane1, w C dane2, w D dane 3.
W kolumnie F znajduje się cześć nazwy którą chciałbym zaleźć w kolumnie A i przypisać odpowiednie dane z kolumn B,C,D do kolumn G,H,I
Próbowałem z funkcją WYSZUKAJ.PIONOWO w połączeniu z funkcją ZNAJDŹ i ZNAJDŹ.TEKST ale nie dałem rady.
W załączniku plik z pokazaniem tego co chciałbym osiągnąć.
Może ktoś ma jakiś pomysł jak to zrobić ?
Pozdrawiam
Krzysiek
- Załączniki
-
- przykład.ods
- (10.48 KiB) Pobrany 963 razy
OpenOffice 3.1 na Windows XP
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Narzędzia->Opcje->Calc->Oblicz
[ ] włącz wyrażenia regularne w formułach
[ ] kryteria wyszukiwania odnoszą się do całych komórek
Formuła dla Twojego przykładu wpisz do G2i zatwierdź Ctrl+Shift+Enter.
//było G2 przepraszam
Jak to działa: podaj.pozycję() znajduje numer pierwszego takiego wiersza w kolumnie A, który zawiera Twoją frazę z F2 jako część zawartości. Wtedy przesunięcie() pobiera 3 komórki z tego właśnie wiersza. Sposób zatwierdzania wymusza użycie rozszerzonej, wektorowej składni formuł.
[ ] włącz wyrażenia regularne w formułach
[ ] kryteria wyszukiwania odnoszą się do całych komórek
Formuła dla Twojego przykładu wpisz do G2
Kod: Zaznacz cały
=PRZESUNIĘCIE(A1; PODAJ.POZYCJĘ(F2; $A$2:$A$5; 0); 1; 1; 3)//było G2 przepraszam
Jak to działa: podaj.pozycję() znajduje numer pierwszego takiego wiersza w kolumnie A, który zawiera Twoją frazę z F2 jako część zawartości. Wtedy przesunięcie() pobiera 3 komórki z tego właśnie wiersza. Sposób zatwierdzania wymusza użycie rozszerzonej, wektorowej składni formuł.
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: Funkcja wyszukaj pionowo i znajdź tekst - problem
Janie... z ciekawości postąpiłem jak opisałeś to w poście, czyli odhaczyłem podane opcje
do G2 wpisałem podaną formułę i zatwierdziłem Shift+Ctrl+Enter
i wyskakuje błąd 522 a formuła pojawia się w nawiasie {=PRZESUNIĘCIE(A1; PODAJ.POZYCJĘ(G2; $A$2:$A$5; 0); 1; 1; 3)}
Co może być nie tak?
EDIT:
trochę się pomęczyłem ale... udało się. Na bazie tego, co Jan zaproponował wykombinowałem, że w podanej przez Niego formule wkradł się błąd
w komórce G2 powinno być zatem:
w komórce H2 powinno być:
w komórce I2 powinno być:
lub w G2
zatwierdzone przez CTRL+SHIFT+ENTER
Oczywiście bez Jana by się nie obyło. Pozdrawiam
Przy okazji... dlaczego funkcja
po odznaczeniu, że wyszukiwanie dotyczy całych komórek zwraca wynik (w tym przypadku 2)
natomiast wpisując formułę wyszukaj.pionowo
zwraca błąd (w tym przypadku błąd:502)?? czyli w tym przypadku jakby wyszukiwanie częściowe nie działało? Jaka jest różnica między tymi funkcjami, dlaczego w pierwszym przypadku przeszukiwanie częściowe działa, a w drugim nie?
Jeszcze jedno: Dlaczego kopiowanie przez "przeciągnięcie" takiego zatwierdzenia CTRL+SHIFT+ENTER - czyli macierzy, nie działa, a jedynie CTRL+C, CTRL+V?
do G2 wpisałem podaną formułę i zatwierdziłem Shift+Ctrl+Enter
i wyskakuje błąd 522 a formuła pojawia się w nawiasie {=PRZESUNIĘCIE(A1; PODAJ.POZYCJĘ(G2; $A$2:$A$5; 0); 1; 1; 3)}
Co może być nie tak?
EDIT:
trochę się pomęczyłem ale... udało się. Na bazie tego, co Jan zaproponował wykombinowałem, że w podanej przez Niego formule wkradł się błąd
w komórce G2 powinno być zatem:
Kod: Zaznacz cały
=PRZESUNIĘCIE($A$1;PODAJ.POZYCJĘ(F2;$A$2:$A$5;0);1)Kod: Zaznacz cały
=PRZESUNIĘCIE($A$1;PODAJ.POZYCJĘ(F2;$A$2:$A$5;0);2)Kod: Zaznacz cały
=PRZESUNIĘCIE($A$1;PODAJ.POZYCJĘ(F2;$A$2:$A$5;0);3)Kod: Zaznacz cały
=PRZESUNIĘCIE($A$1;PODAJ.POZYCJĘ(F2;$A$2:$A$5;0);1;1;3)Oczywiście bez Jana by się nie obyło. Pozdrawiam
Przy okazji... dlaczego funkcja
Kod: Zaznacz cały
=PODAJ.POZYCJĘ(F2;$A$2:$A$5;0)natomiast wpisując formułę wyszukaj.pionowo
Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(F2;$A$2:$A$5;2;0)Jeszcze jedno: Dlaczego kopiowanie przez "przeciągnięcie" takiego zatwierdzenia CTRL+SHIFT+ENTER - czyli macierzy, nie działa, a jedynie CTRL+C, CTRL+V?
LibreOffice 4.0 na Windows 7 Home Premium
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Oczywiście; sorry, testowałem w przesuniętym blokub0bi pisze:lub w G2Kod: Zaznacz cały
=PRZESUNIĘCIE($A$1;PODAJ.POZYCJĘ(F2;$A$2:$A$5;0);1;1;3)
Działa w obu, tylko przy wyszukaj() zadałeś obszar A:A w którym nie ma drugiej kolumny, żeby z niej zwrócić wynik. Ale radzę używać schematu z przesunięcie, bo wtedy wyszukuje się tylko raz, a nie osobno dla każdego wpisu.Przy okazji... dlaczego funkcjapo odznaczeniu, że wyszukiwanie dotyczy całych komórek zwraca wynik (w tym przypadku 2) natomiast wpisując formułę wyszukaj.pionowoKod: Zaznacz cały
=PODAJ.POZYCJĘ(F2;$A$2:$A$5;0)zwraca błąd (w tym przypadku błąd:502)?? czyli w tym przypadku jakby wyszukiwanie częściowe nie działało? Jaka jest różnica między tymi funkcjami, dlaczego w pierwszym przypadku przeszukiwanie częściowe działa, a w drugim nie?Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(F2;$A$2:$A$5;2;0)
Tak od zawsze mają formuły wektorowe. Ale tzw. szybkie wypełnienie (dwuklik na narożniku bloku) powinno działać.Dlaczego kopiowanie przez "przeciągnięcie" takiego zatwierdzenia CTRL+SHIFT+ENTER - czyli macierzy, nie działa, a jedynie CTRL+C, CTRL+V?
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: Funkcja wyszukaj pionowo i znajdź tekst - problem
No tak... przy tym kombinowaniu... zapędziłem się w ślepy róg i rzeczywiście nie zauważyłem, że zmieniłem obszar wskazując tylko na pierwszą kolumnę.Jan_J pisze:Działa w obu, tylko przy wyszukaj() zadałeś obszar A:A w którym nie ma drugiej kolumny, żeby z niej zwrócić wynik.b0bi pisze: (Dlaczego)... wpisując formułę wyszukaj.pionowozwraca błąd... czyli w tym przypadku jakby wyszukiwanie częściowe nie działało?Kod: Zaznacz cały
=WYSZUKAJ.PIONOWO(F2;$A$2:$A$5;2;0)
Dzięki i pozdrawiam.
LibreOffice 4.0 na Windows 7 Home Premium
-
kristoferson
- Posty: 13
- Rejestracja: śr lut 06, 2013 9:09 pm
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Wielki dzięki,
wszystko działa jak trzeba.
Pozdrawiam
Krzysiek
wszystko działa jak trzeba.
Pozdrawiam
Krzysiek
OpenOffice 3.1 na Windows XP
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Mam podobny problem otóż, mam kolumnę z danymi, które w nazwach zawierają poszukiwane przeze mnie fragmenty. Kolejne dwie lub więcej kolumn to właśnie te fragmenty. Chcę przeszukać pierwszą kolumnę a gdy znajdzie fragment z drugiej lub trzeciej kolumny żeby go wyświetlić. Jeśli znajdzie oba to wyświetla pierwszy lub wcale. Problem w tym, że pierwsza kolumna może mieć np. 10tys pozycji a te z fragmentami tekstu różnie. Pierwsza np. 1000 a druga 50. Może ktoś podpowie jak to można ugryźć? Próbowałem opisami z powyższych postów ale nic mi nie wychodzi ;(.
- Załączniki
-
- przykład2.ods
- (8.1 KiB) Pobrany 417 razy
OpenOffice 3, windows 8
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
W pliku który wstawiłeś, dane przykładowe są nieco mylące.
- Czy wyraz cosik jest odpowiednikiem realnych danych i występuje we wszystkich wierszach?
- Czy poszukiwane parametry występują zawsze na końcu?
- Czy przed parametrami jest stała liczba liter w nazwie?
- Załączniki
-
- Wyszukiwanie_w_tekscie_z_dwoma_warunkami.ods
- (11.43 KiB) Pobrany 636 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Nie. Dane mają być różne i rzadko do siebie podobne, chociaż mogą się powtarzać.belstar pisze:Czy wyraz cosik jest odpowiednikiem realnych danych i występuje we wszystkich wierszach?
Poszukiwane parametry mogą być w tekście nie koniecznie w środku lub na końcu, natomiast nie występują na początku.belstar pisze:Czy poszukiwane parametry występują zawsze na końcu?
W nazwie może być od minimum 3 znaków do aż 100.belstar pisze:Czy przed parametrami jest stała liczba liter w nazwie?
OpenOffice 3, windows 8
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Moja funkcja WYSZUKAJ.PIONOWO() źle wyszukuje
Mianowicie mam w komórkach M27:O40 zakres danych wyszukiwania
Dane w kolumnie M27:M40 to kryterium wyszukiwania które określa się w komórce C5 zgodnie z listą rozwijaną ($'DANE WEJŚC'.$M$27:$M$40)
Dane w kolumnach N:27:N40 i O27:O40 to wyszukiwane wartości które wyświetlane są odpowiednio w komórkach C6 i C7.
C6 =WYSZUKAJ.PIONOWO(C5;M27:O40;2)
C7 =WYSZUKAJ.PIONOWO(C5;M27:O40;3)
Wynik wyszukiwania w kilku przypadkach jest błędny (w załączniku) - w kolumnach na kolorowo oznaczono odpowiednio wartości, które wyszukiwane są prawidłowo - "ok", i które błędnie (N/D lub wartość jaka jest wyświetlona po ustaleniu kryterium wyszukiwania w komórce C5) Gdzie tkwi błąd?
Mianowicie mam w komórkach M27:O40 zakres danych wyszukiwania
Dane w kolumnie M27:M40 to kryterium wyszukiwania które określa się w komórce C5 zgodnie z listą rozwijaną ($'DANE WEJŚC'.$M$27:$M$40)
Dane w kolumnach N:27:N40 i O27:O40 to wyszukiwane wartości które wyświetlane są odpowiednio w komórkach C6 i C7.
C6 =WYSZUKAJ.PIONOWO(C5;M27:O40;2)
C7 =WYSZUKAJ.PIONOWO(C5;M27:O40;3)
Wynik wyszukiwania w kilku przypadkach jest błędny (w załączniku) - w kolumnach na kolorowo oznaczono odpowiednio wartości, które wyszukiwane są prawidłowo - "ok", i które błędnie (N/D lub wartość jaka jest wyświetlona po ustaleniu kryterium wyszukiwania w komórce C5) Gdzie tkwi błąd?
OpenOffice 3.4.1 na Windows 7
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Poszukaj alternatywnych rozwiązań. http://forum.openoffice.org/pl/forum/vi ... f=4&t=2071milkow70 pisze:Gdzie tkwi błąd?
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Czy parametr 2 występuje zawsze po pierwszym?bobim pisze:Poszukiwane parametry mogą być w tekście nie koniecznie w środku lub na końcu, natomiast nie występują na początku.
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Nie zawsze. Ale wystarczyło by mi jakbym mógł wyszukać pierwsze wystąpienie parametru a zrezygnowałbym z wyszukiwania sytuacji gdy w jednym wierszu jest więcej niż jeden. Czyli gdy funkcja znajdzie dowolny parametr jako pierwszy wypisuje go i przechodzi sprawdzać linijkę następną. Czy funkcja wyszukaj pionowo potrzebuje do prawidłowego działania dwóch kolumn o równej długości?
OpenOffice 3, windows 8
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
W dalszym ciągu się haczy. Wyszukuje mi wartości z wierszy powyżej lub #N/Dbelstar pisze:Poszukaj alternatywnych rozwiązań. http://forum.openoffice.org/pl/forum/vi ... f=4&t=2071milkow70 pisze:Gdzie tkwi błąd?
Wygląda na to, że funkcje wyszukiwania mają problem z adresowaniem komórek czy cóś.
OpenOffice 3.4.1 na Windows 7
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
A modyfikacja wstawionego przykładu, żeby funkcja pobierała parametry z kolejnych wierszy by nie była wystarczająca.bobim pisze:Nie zawsze. Ale wystarczyło by mi jakbym mógł wyszukać pierwsze wystąpienie parametru
Dla parametru nr 1
Kod: Zaznacz cały
=INDEKS($A$2:$A$20;MIN.K(JEŻELI(CZY.BŁĄD(SZUKAJ.TEKST($C2;$A$2:$A$20;2));"";WIERSZ(A2:A20)-MIN(WIERSZ(A2:A20))+1);WIERSZ(A$1));KOLUMNA(A$1))Kod: Zaznacz cały
=INDEKS($A$2:$A$20;MIN.K(JEŻELI(CZY.BŁĄD(SZUKAJ.TEKST($D2;$A$2:$A$20;2));"";WIERSZ(A2:A20)-MIN(WIERSZ(A2:A20))+1);WIERSZ(A$1));KOLUMNA(A$1))Kod: Zaznacz cały
=INDEKS($A$2:$A$20;MIN.K(JEŻELI(CZY.BŁĄD(SZUKAJ.TEKST($C2;$A$2:$A$20;2)*SZUKAJ.TEKST($D2;$A$2:$A$20;2));"";WIERSZ(A2:A20)-MIN(WIERSZ(A2:A20))+1);WIERSZ(A$1));KOLUMNA(A$1))LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
U mnie to nie działa
, błąd 504. Wszędzie wyskakuje mi cosik a. Nie wiem czy walczyć z tym bo tych parametrów może być max tysiąc i czy wtedy indeks będzie miał zastosowanie?
OpenOffice 3, windows 8
Re: Funkcja wyszukaj pionowo i znajdź tekst - problem
Formuła tablicowa, trzeba zatwierdzić SHIFT+CTRL+ENTERbobim pisze:U mnie to nie działa, błąd 504
Stworzyłem plik testowy
danych = 20000
Parametr 1 = 1000
Parametr 2 = 1000
Oba =1000
Komfort pracy nie ucierpiał znacznie, zapis po zmianie formatowania komórek jest odczuwalnie dłuższy. Tutaj wstawię mniejszy o połowę ze względu na wielkość pliku.
- Załączniki
-
- Wyszukiwanie_w_tekscie_z_dwoma_warunkami_2.ods
- (103.84 KiB) Pobrany 1097 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS