jeżeli którekolwiek pole z zakresu zawiera

Użytkowanie arkusza kalkulacyjnego
dentopolis
Posty: 224
Rejestracja: pn wrz 23, 2013 2:48 pm

jeżeli którekolwiek pole z zakresu zawiera

Post 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
Załączniki
pyt.ods
(20.77 KiB) Pobrany 87 razy
LibreOffice 7.6
Awatar użytkownika
Jermor
Posty: 2352
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

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

Post 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?
Załączniki
dent pyt.ods
(21.11 KiB) Pobrany 80 razy
AOO 4.1.15, LO 24.8.2 (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.
dentopolis
Posty: 224
Rejestracja: pn wrz 23, 2013 2:48 pm

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

Post 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
LibreOffice 7.6
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

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

Post 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
7.5.6.2 (X86_64)
dentopolis
Posty: 224
Rejestracja: pn wrz 23, 2013 2:48 pm

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

Post autor: dentopolis »

super, dziękuję
LibreOffice 7.6
Awatar użytkownika
Jermor
Posty: 2352
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

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

Post 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.
AOO 4.1.15, LO 24.8.2 (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.
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

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

Post 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
7.5.6.2 (X86_64)
Awatar użytkownika
Jermor
Posty: 2352
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

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

Post 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.
AOO 4.1.15, LO 24.8.2 (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.
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

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

Post 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
7.5.6.2 (X86_64)
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

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

Post 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ź.
7.5.6.2 (X86_64)
Awatar użytkownika
Jermor
Posty: 2352
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

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

Post 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)
AOO 4.1.15, LO 24.8.2 (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.
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

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

Post 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.
7.5.6.2 (X86_64)
ODPOWIEDZ