Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - Wyszukiwanie nazw nagłówków kolumn

10 Cze 2020 09:49 207 10
  • Poziom 7  
    Witam wszystkich.
    Od jakiegoś czasu borykam się z pewnym zadaniem i nie wiem jak sobie z tym poradzić. Otóż mam w Excelu zapisane dane w formie tabeli. Każda kolumna ma swój nagłówek i do każdej kolumny przypisanych jest od jednej do kilkudziesięciu wartości. Wartości te są w formie tekstowej (nagłówek kolumny zresztą też).

    Przykładowo mam kolumnę „Nazwa 001”, a w niej poniżej wiersze:
    „Jabłko duże”, „Gruszka”, „Banan mały”, „Ananas mały”.

    Następna kolumna to np. „Nazwa 002”, a w niej wiersze:
    „Jabłko”, „Cytryna”.

    Następna kolumna to np. „Nazwa 003”, a w niej wiersze:
    „Gruszka mała”, „Jabłko”.

    Chciałbym zrobić tak aby wpisując w jakiejś komórce poniżej tabeli ciąg znaków np. „gruszka” excel wylistował mi poniżej tej komórki wszystkie nazwy nagłówków kolumn, w której występuje właśnie ten ciąg znaków (każdą nazwę w osobnej komórce). Przykładowo wpisując w komórce A10 „gruszka” poniżej powinno wyświetlić się: A11 – „Nazwa 001”, A12 – „Nazwa 003”, a wpisując np. „ananas” powinno wyświetlić się tylko „Nazwa 001”. Jestem troszkę zielony w excelu i jesteście dla mnie jedynym ratunkiem. Załączam przykładowy plik z danymi. Dodam jeszcze, że pracuję na wersji Excel 2019.
  • Poziom 39  
    Użyj VBA, zacznij od makr.
  • Poziom 7  
    Niestety nie mam wiedzy jeżeli chodzi o VBA :-( Czy znalazłby się ktoś, kto podpowiedziałby mi w sposób bardziej "łopatologiczny" jak podejść do tego tematu?
  • Poziom 34  
    Formułami możesz to zrobić np. tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod
    To jest formuła tablicowa do komórki A11. Kopiujesz ją w dół jak długo będą wyniki. Szukany tekst jest w A10. Zwróć uwagę na sposób zapisu adresu A10 w formule. Jeśli kolejne szukane frazy będą też w wierszu 10, to formułę można kopiować poziomo. Jeśli w innym wierszu, trzeba zmodyfikować ten adres ręcznie.
  • Poziom 7  
    PRL Genialne! O to mi chodziło. Powiedz mi tylko proszę czy można zrobić to jeszcze tak aby nie trzeba było za każdym razem wymazywać wyszukanych wartości aby wylistować nowe? Tzn. żeby po wpisaniu nowego wyszukiwania czyściła się cała lista poprzedniego i wczytywała się tylko aktualna lista.
  • Pomocny post
    Poziom 38  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 7  
    PRL dzięki wielkie działa jak należy. Jesteś wielki!
    Może jestem zbyt nachalny, ale jak to mówią apetyt rośnie w miarę jedzenia. Pomyślałem sobie, że już w ogóle genialnie byłoby gdyby jeszcze obok wylistowanych nazw kolumn w komórkach B11 - B... wyświetlała się dokładna wartość znalezionej komórki. Tzn.: jeżeli wpiszę w wyszukiwanie np.: "jabłk", to żeby obok wylistowanych nazw kolumn wypisał również dokładne wartości komórek tj.:
    A10 - "jabłk"
    A11 - "Nazwa 001", B11 - "Jabłko duże"
    A12 - "Nazwa 002", B12 - "Jabłko"
    A13 - "Nazwa 003", B13 - "Jabłko"
    A14 - "Nazwa 004", B14 - "Jabłko małe"

    Czy jest to do zrobienia?
  • Pomocny post
    Poziom 38  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 7  
    PRL kolejne punkty ode mnie :-)
    Mam jeszcze pytanko. Jak ustawić wszystko tak aby obszar wyszukiwania zaczynał się od kolumny D, a komórka z wyszukiwanym ciągiem była w A1? Oczywiście listowanie nazw musiałoby zaczynać się od A2, a wartości znalezionych komórek od B2.
    Wiem jak ustawić ilość przeszukiwanych wierszy. Z tego co zauważyłem, to odpowiada za to zmienna "ow", ale nie wiem jak przenieść obszar wyszukiwania aby zaczynał się od kolumny D, a komórka z wyszukiwanym ciągiem była w A1...