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

Excel - Porównianie kolumy do komórki

nightex 11 Lis 2010 15:42 890 2
  • #1 11 Lis 2010 15:42
    nightex
    Poziom 9  

    Witam,
    Mam problem w Excelu. Nie umie wpaść na pomysł jak Excel mógłby przeszukać kolumnę (100 komórek) do komórki w drugiej kolumnie (z wynikiem w 3 kolumnie). Chodzi o podobieństwo komórek a nie tożsamość.
    przykład:

    nazwa1_1 | troche_inna_nazwa2_1_q | troche_inna_nazwa1_1_q
    nazwa1_2 | troche_inna_nazwa2_2_q | troche_inna_nazwa1_2_q
    nazwa2_1 | troche_inna_nazwa1_1_q | troche_inna_nazwa2_1_q
    nazwa2_2 | troche_inna_nazwa1_2_q | troche_inna_nazwa2_2_q

    pierwsza kolumna to wartość stała
    druga kolumna to wartość do analizy
    trzecia kolumna to wynik z największym podobieństwem

    Jak widać wynik nie jest identyczny jak dane z pierwszej kolumny ale jest podobieństwo w części nazwy (np. nazwa1_1)
    Chodzi o to aby Excel zliczył i wykazał wynik z jak największym podobieństwem.
    Da się coś takiego zrobić czy trochę wybiegłem z ambicjami :)
    pozdrawiam :)

    0 2
  • Pomocny post
    #2 11 Lis 2010 19:59
    adamas_nt
    Moderator Programowanie

    Najprościej byłoby zastosować jakąś pętlę w VBA, ale można próbować po "excelowskiemu".

    Np dołożyć jeden arkusz roboczy, w którym tworzymy tabelę i szukamy wyniku, a w głównym dać tylko odwołanie...
    Całość oparta jest o funkcję ZNAJDŹ i jeśli nie ma tekstu z kolumny A w dowolnym wierszu kolumny B, to funkcja zwróci #ND! Na podanych przez Ciebie danych działa zadowalająco.

    Excel - Porównianie kolumy do komórki
    W A1 wklejasz

    Code:
    =ZNAJDŹ(ADR.POŚR("Arkusz2!A$"&NR.KOLUMNY(A1));Arkusz2!$B1)
    gdzie "Arkusz2" to nazwa arkusza głównego i rozciągasz do rozmiaru = ilości wierszy. 100x100, to bodajże CV100.
    Indeksowanie (w przykładzie L1 w dół)
    Code:
    =INDEKS(Arkusz2!B:B;PODAJ.POZYCJĘ(0;ADR.POŚR(ADRES(1;WIERSZ())&":"&ADRES(ILE.NIEPUSTYCH(A:A);WIERSZ()));-1))
    w dowolnej, wolnej kolumnie i do niej odwołujesz się w arkuszu głównym.

    Excel - Porównianie kolumy do komórki

    0
  • #3 11 Lis 2010 20:28
    nightex
    Poziom 9  

    Dzięki Wielkie !!
    Jedynym warunkiem muszą być tej samej wielkości litery ale po przestawieniu je na małe (co nie robi różnicy) działa elegancko :)
    Podajesz adres i leci do Ciebie zgrzewka piwa :)

    5 pt dla Ciebie eXtra :)

    0