Strona 1 z 1

jeżeli którekolwiek pole z zakresu zawiera

: wt cze 13, 2023 3:52 pm
autor: dentopolis
chciałbym, żeby w arkuszu "plan" komórce b1 wyświetlił się numer zęba, jeżeli którekolwiek z żółtych pól zawiera "x". jak to zrobić?

czyli np.usunięcie zębów: 14,16

Re: jeżeli którekolwiek pole z zakresu zawiera

: wt cze 13, 2023 5:16 pm
autor: Jermor
Propozycja.
Jednak tak niezdarnie to opisałeś, że nie wiadomo, co oznacza "... którekolwiek z żółtych...". Z twojego przykładu wynika, że chodzi o jeden wiersz żółtych pól. Bo w "którymkolwiek" znaczyłoby uwzględnienie także "x" w komórce J4.
Poza tym chyba chodziło o liczby 24 i 26, a nie 14 i 16?

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 1:55 pm
autor: dentopolis
ok,ale chciałbym aby szukał "x" w zakresie B2:Q7, nie B2:Q1. jak zmienię 1 na 7 pojawia się błąd ARG

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 2:26 pm
autor: KontoLibreOffice
dentopolis pisze: śr cze 14, 2023 1:55 pm ok,ale chciałbym aby szukał "x" w zakresie B2:Q7, nie B2:Q1. jak zmienię 1 na 7 pojawia się błąd ARG
Musisz zatwierdzić klawiszami ctrl+shift+enter. Tylko najpierw "musisz wpisać formułę jeszcze raz" ponieważ, nie otrzymasz żadnego rezultatu zaznaczając komórkę zawierającą ARG i wyciskając ctrl+shift+enter. Na szczęście wystarczy że usuniesz jeden znak w formule i wpiszesz go ponownie za pomocą kombinacji ctrl+shift+enter

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 3:07 pm
autor: dentopolis
super, dziękuję

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 3:35 pm
autor: Jermor
Więc musisz precyzyjnie opisać problem. Załączyłeś swój skoroszyt, w którym "x" jest szukane tylko w wierszu 2. Taki dałeś przykład. Napisałem ci, że "x" jest jeszcze w J4 (w tym twoim przykładzie), ale ta wartość nie wystąpiła jako wynik.
Twoja, bardzo złożona formuła, której się przyjrzałem zawiera odwołania wyłącznie do wiersza 2. i zwróciła ci wartości 24 i 26, więc uznałem, że "x" ma być znalezione w wierszu 2. zwłaszcza że twoja druga formuła, ta w arkuszu "Plan" w B2, także przeszukuje tylko drugi wiersz.
Nie wiadomo dlaczego, ale w B3 formuła przeszukuje pierwszy wiersz diagramu (zawierający numery) wyszukując ciąg "km", a w B4 znowu drugi.
Więc opisz co naprawdę chcesz zrobić.
No i taj jak napisałem bardzo niestarannie piszesz, już w tym sformułowaniu:
dentopolis pisze: śr cze 14, 2023 1:55 pm zakresie B2:Q7, nie B2:Q1
nie zacytowałeś prawidłowo argumentów, bo w formule jest B2:Q2.
Jeśli rzeczywiście chcesz wyszukać te ciągi literowe we wszystkich wierszach i móc kopiować tę formułę do komórek B2, B3, B4 dla innych ciągów występujących w tym obszarze, to zmieniasz zakres z B2:Q2 na $B$2:$Q$7 w pierwszej formule i zatwierdzasz ją skrótem CTRL+SHIFT+ENTER. Teraz tę formułę możesz przekopiować do komórek B2, B3, B4 itd. ile tych ciągów będzie występowało. Jest to formuła macierzowa, więc nie można jej kopiować przez przeciągnięcie dolnego prawego narożnika komórki. Przy takim sposobie trzeba dodatkowo trzymać przyciśnięty klawisz CTRL.

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 4:18 pm
autor: KontoLibreOffice
Użytkownik Dentopolis otrzymał zadowalającą go/ją odpowiedź.
Jednak z ciekawości i na ewentualny przyszły użytek chciałbym się zapytać co w sytuacji gdy chcielibyśmy wyszukać po dwóch rozłącznych obszarach tj. zamiast tylko w B2:Q7 nasza funkcja szuka w B2:Q7 i B16:Q21 lub bardziej ogólnie B2:Q7 i T30:W40

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 5:20 pm
autor: Jermor
Funkcja POŁĄCZ.TEKSTY(), jak napisałem, ma więcej niż trzy argumenty. 3. 4. i dalsze określają komórki lub zakresy, które mają być połączone. Wystarczy zatem po średniku dopisać kolejne JEŻELI(). W przypadku @dentopolis cała formuła wyglądałaby wówczas tak:

Kod: Zaznacz cały

=POŁĄCZ.TEKSTY(" ";1;JEŻELI(diagram.$B$2:$Q$7=E1;$diagram.$B$1:$Q$1;"");JEŻELI(diagram.$B$16:$Q$21=E1;$diagram.$B$15:$Q$15;""))
To drugie JEŻELI() pobierałoby numery z wiersza 15.

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 5:29 pm
autor: KontoLibreOffice
Zauważyłem przypadkiem, że jeśli zaznaczymy obszar B2:Q7 a potem przesuniemy go w górę a następnie klikniemy ctrl+z to i tak psuję nam to formuły.
Ctrl+z powinno chronić użytkownika przed przypadkowym popsuciem formuły, tu jednak nie zadziałał, bardziej szczegółowo formuła
POŁĄCZ.TEKSTY(" ";1;JEŻELI($diagram.B2:Q2=E1;$diagram.$B$1:$Q$1;""))
zamienia się
POŁĄCZ.TEKSTY(" ";1;JEŻELI($diagram.B2:$diagram.Q2=E2;$diagram.$B$2:$diagram.$Q$2;""))

czyli
$diagram.$B$1:$Q$1
zmienia się w
$diagram.$B$2:$diagram.$Q$2

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 5:37 pm
autor: KontoLibreOffice
Jermor pisze: śr cze 14, 2023 5:20 pm Funkcja POŁĄCZ.TEKSTY(), jak napisałem, ma więcej niż trzy argumenty. 3. 4. i dalsze określają komórki lub zakresy, które mają być połączone. Wystarczy zatem po średniku dopisać kolejne JEŻELI(). W przypadku @dentopolis cała formuła wyglądałaby wówczas tak:

Kod: Zaznacz cały

=POŁĄCZ.TEKSTY(" ";1;JEŻELI(diagram.$B$2:$Q$7=E1;$diagram.$B$1:$Q$1;"");JEŻELI(diagram.$B$16:$Q$21=E1;$diagram.$B$15:$Q$15;""))
To drugie JEŻELI() pobierałoby numery z wiersza 15.
Dziękuję za odpowiedź.

Re: jeżeli którekolwiek pole z zakresu zawiera

: śr cze 14, 2023 7:00 pm
autor: Jermor
Problem opisany przez @KontoLibreOffice występuje także w Apache OpenOffice. Tyle że w nim po przesunięciu danych źródłowych adresy w formule się nie zmieniają, więc cofnięcie operacji przywraca właściwe funkcjonowanie.
W LIbreOffice, rozwijając temat, problem pojawia się wtedy gdy formuła bazująca na danych źródłowych jest w innym arkuszu niż te dane.
Oraz problem nie występuje, jeśli przesunięcie zostało wykonane za pomocą operacji CTRL+X --> CTRL+V, trzeba wówczas dwukrotnie wykorzystać CTRL+Z.
Zgłosiłem temat do Bugzilli, ma nr 155837 (https://bugs.documentfoundation.org)

Re: jeżeli którekolwiek pole z zakresu zawiera

: czw cze 15, 2023 8:18 am
autor: KontoLibreOffice
Jermor pisze: śr cze 14, 2023 7:00 pm Problem opisany przez @KontoLibreOffice występuje także w Apache OpenOffice. Tyle że w nim po przesunięciu danych źródłowych adresy w formule się nie zmieniają, więc cofnięcie operacji przywraca właściwe funkcjonowanie.
W LIbreOffice, rozwijając temat, problem pojawia się wtedy gdy formuła bazująca na danych źródłowych jest w innym arkuszu niż te dane.
Oraz problem nie występuje, jeśli przesunięcie zostało wykonane za pomocą operacji CTRL+X --> CTRL+V, trzeba wówczas dwukrotnie wykorzystać CTRL+Z.
Zgłosiłem temat do Bugzilli, ma nr 155837 (https://bugs.documentfoundation.org)
Dziękuję bardzo, za zgłoszenie problemu.