logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Wyszukanie wartości tekstowej w komórce na podstawie zakresu

ounedson 23 Mar 2020 13:15 417 8
REKLAMA
  • #1 18553369
    ounedson
    Poziom 4  
    Posty: 42
    Ocena: 4
    Dzień dobry,
    Nie mogę sobie poradzić z pewnym problemem.
    Jak sprawdzić czy w komórce A2 znajduje się tekst z zakresu komórek B:B w innym arkuszu i zwrócić wartośc z C:C?

    Przykład:
    W kolumnie A posiadam wartości tekstowe (arkusz D1):
    A2 - ***** Rower
    A3 - Krzesło ****
    A4 - Rower ****
    A5 - Okno *****
    A6 - Monitor ******

    W drugim arkuszu w kolumnie B posiadam wartości tekstowe (Arkusz d2):
    B2 - cytryna
    B3 - jabłko
    B4 - Rower
    B5 - Monitor
    B6 - Okno
    B7 - Krzesło
    Jak to ugryźć aby zwrócić wartość z komórek C2:C6 z drugiego arkusza w momencie jeżeli w AX w danym tekście znajdzie się słowo z B2:B6?

    W załączniku przykład
    Załączniki:
    • omg.xlsx (9.03 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 18553642
    ounedson
    Poziom 4  
    Posty: 42
    Ocena: 4
    Hej, poradziłem sobie.
    Wrócę do domu to podrzucę rozwiązanie i zamknę temat.
  • REKLAMA
  • #3 18553663
    dt1
    Admin grupy komputery
    Posty: 47983
    Pomógł: 7265
    Ocena: 8193
    Witaj. Na formułach się pewnie też da, ale już teraz byłoby to (dla mnie) dość mocno rozbudowane, więc zaproponuję rozwiązanie polegające na napisaniu własnej funkcji w postaci makra i skorzystanie z niej.

    Jako że pracuję na dość starym Excelu nie zdziwię się, jeśli w nowszych wersjach jest taka funkcja gdzieś w standardzie. No ale w nowszych również i moje makro zadziała. W załączniku. Kod funkcji znajdzie Kolega w edytorze makr po załadowaniu mojego arkusza.
    Załączniki:
    • Kopia Xl0000001.xls (36.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 18554215
    ounedson
    Poziom 4  
    Posty: 42
    Ocena: 4
    Panie Dt1,
    Świetne rozwiązanie dla jednowyrazowych wartości tekstowych.
    A jest możliwość tak zmodyfikować kod, aby brane pod uwagę były również słowa dwu/trzy/cztero wyrazowe?

    Przykładowo w arkuszu d2, w kolumnie A, znajduje się Rower wodny.
    Funkcja sobie z tym nie radzi w tym momencie, w sytuacji gdy w arkuszu D1, kolumna A, znajduje się "Rower wodny zdechł". Hmmm?

    dt1 napisał:
    Witaj. Na formułach się pewnie też da, ale już teraz byłoby to (dla mnie) dość mocno rozbudowane, więc zaproponuję rozwiązanie polegające na napisaniu własnej funkcji w postaci makra i skorzystanie z niej.

    Jako że pracuję na dość starym Excelu nie zdziwię się, jeśli w nowszych wersjach jest taka funkcja gdzieś w standardzie. No ale w nowszych również i moje makro zadziała. W załączniku. Kod funkcji znajdzie Kolega w edytorze makr po załadowaniu mojego arkusza.
  • REKLAMA
  • #5 18554260
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    dt1 napisał:
    Na formułach się pewnie też da

    No pewnie, że się da :D jak będzie tak mała liczba danych - wystarczy 5 krotne zagnieżdżenie funkcji jeżeli :D
    Załączniki:
    • Wyszukanie wartości tekstowej w komórce na podstawie zakresu dłformuła.PNG (24.33 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 18554324
    dt1
    Admin grupy komputery
    Posty: 47983
    Pomógł: 7265
    Ocena: 8193
    Tak, o ile się delikatnie warunki nie zmienią to można na formułach zrobić. Jak się pojawi (w zależności od rozwiązania) więcej wyrazów w przeszukiwanej frazie, albo odwracając logikę formuły więcej wyszukiwanych wyrazów, to formuła się dalej komplikuje.
  • REKLAMA
  • #7 18554352
    ounedson
    Poziom 4  
    Posty: 42
    Ocena: 4
    Osobiście poradziłem sobie w taki sposób:
    =WYSZUKAJ(15;SZUKAJ.TEKST('d2'!$A$2:$A$7;'d1'!A2);'d2'!$B$2:$B$7)

    Wyszukanie wartości tekstowej w komórce na podstawie zakresu
  • Pomocny post
    #8 18554387
    dt1
    Admin grupy komputery
    Posty: 47983
    Pomógł: 7265
    Ocena: 8193
    ounedson napisał:
    A jest możliwość tak zmodyfikować kod, aby brane pod uwagę były również słowa dwu/trzy/cztero wyrazowe?


    Może tak?
    Tyle że mechanizm takiego porównywania zadziałałby dwa razy w przykładzie dla frazy ze zwrotem "Rower wodny". Raz znalazłby Rower, raz Rower wodny. Aby jakoś to wyeliminować zakładam, że powinna zostać zwrócona ta dłuższa wartość.
    Załączniki:
    • Kopia Xl0000001.xls (36.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #9 18555955
    ounedson
    Poziom 4  
    Posty: 42
    Ocena: 4
    =WYSZUKAJ(15;SZUKAJ.TEKST('d2'!$A$2:$A$7;'d1'!A2);'d2'!$B$2:$B$7

Podsumowanie tematu

✨ Użytkownik poszukiwał sposobu na sprawdzenie, czy w komórce A2 znajduje się tekst z zakresu komórek B:B w innym arkuszu, a następnie zwrócenie wartości z kolumny C. W odpowiedziach zaproponowano różne metody, w tym użycie formuł oraz makr. Użytkownik znalazł rozwiązanie z wykorzystaniem funkcji WYSZUKAJ i SZUKAJ.TEKST, jednak pojawił się problem z dłuższymi frazami, takimi jak "Rower wodny". Dyskutowano również o możliwości modyfikacji kodu, aby uwzględniał dwu- i wielowyrazowe frazy. Wskazano, że zagnieżdżenie funkcji może być rozwiązaniem, ale może skomplikować formułę.
Wygenerowane przez model językowy.
REKLAMA