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- automatyczne szukanie,kopiowanie i wklejanie

gromiasty 22 Sty 2009 10:19 13267 5
  • #1 22 Sty 2009 10:19
    gromiasty
    Poziom 9  

    Witam,
    mam problem ,a niewiele czasu na jego rozwiązanie . Otóż mam 2 arkusze w excelu (openoffice calc - ale to chyba bez większego znaczenia) gdzie w jednym :
    numer_seryjny | nazwa
    a w drugim :
    nazwa | kolor | cena

    (nazwa jest zbliżona ale może delikatnie się różnić ; zbieżność 80%) i chciałbym by excel automatycznie po nazwie połączył to w jeden arkusz.

    0 5
  • #2 22 Sty 2009 10:31
    zlukez
    Poziom 11  

    Witam
    Poczytaj sobie o funkcji vlookup w polskiej wersji wyszukaj.pionowo.
    Oczywiście zbieżność nazw musi być 100%

    Pozdrawiam
    Łukasz

    0
  • #3 22 Sty 2009 11:53
    gromiasty
    Poziom 9  

    To chyba ta funkcja ale mam problem ze składnią :(
    =WYSZUKAJ.PIONOWO($A7;Arkusz3.$B$1:$D$163;1)
    Funkcja wyszukuje dopasowanie do pola A7 w aktywnym arkuszu i w tej postaci zwraca niestety pole B163 z Arkusza3 zamiast B120. Dodanie na końcu FALSZ czy PRAWDA powoduje błąd .
    pole A7 : DEXTER
    Arkusz3: pole C120 : DEXTER
    B120 : 1452345

    pole zwracane : B163 : 4681377
    Jeśli zmienię ostatnią cyfrę z 1 na 2 to zwraca pole C163 :(

    Funkcja sama w sobie musi gdzieś mieć błąd bo nie szuka właściwie tylko zawsze zwraca ostatnią pozycję z wyszukiwania
    :(

    0
  • #4 22 Sty 2009 12:24
    zlukez
    Poziom 11  

    Przyczyn może być kilka.
    Formuła powinna wyglądać tak:

    =WYSZUKAJ.PIONOWO($A7;Arkusz3!B1:D163;1;0)

    0 na końcu jest jednoznaczne z fałsz.
    Jeżeli formuła, jako ostatni argument dostanie coś innego niż fałsz (lub 0) to jako wynik zwróci pierwszy "najbardziej zbliżony” wynik na jaki napotka przy przeszukiwaniu kolumny, przy czym funkcja przyjmuje ze dane są posegregowane rosnąco.

    W twoim wypadku wpisujesz 0 na końcu albo musisz posortować dane rosnąco. Biorąc jednak pod uwagę fakt ze otrzymujesz błąd w chwili, gdy podasz, jako czwarty argument fałsz to prawdopodobnie sortowanie tez nic nie da.
    Sprawdź czy w przeszukiwanej kolumnie B, oraz w kolumnie A z której pobierane są dane wszystkie dane są tego samego typu. Czy nie jest tak, że część z danych jest widziana, jako tekst a część, jako liczba.

    Do konwersji tekstu na liczbę możesz się posłużyć:
    =WARTOŚĆ()
    =MODUŁ.LICZBY()

    0
  • #5 22 Sty 2009 12:24
    adamas_nt
    Moderator Programowanie

    Zamień dane w kolumnach w pierwszym arkuszu:
    nazwa | numer_seryjny
    I wtedy Np:
    =WYSZUKAJ.PIONOWO(C1;Arkusz1!A2:C3;2;PRAWDA)& " " & WYSZUKAJ.PIONOWO(C1;Arkusz1!A2:C3;1;PRAWDA)

    Składanie z 2 arkuszy po nazwie Np:
    =WYSZUKAJ.PIONOWO(C1;Arkusz1!A2:C3;2;PRAWDA)& " " & WYSZUKAJ.PIONOWO(C1;Arkusz1!A2:C3;1;PRAWDA) & " " &WYSZUKAJ.PIONOWO(C1;Arkusz2!A2:C3;2)& " " & WYSZUKAJ.PIONOWO(C1;Arkusz2!A2:C3;3)

    p.s.
    PRAWDA dopisz wszędzie (większa tolerancja).

    0
  • #6 22 Sty 2009 13:54
    gromiasty
    Poziom 9  

    adamas_nt napisał:
    Zamień dane w kolumnach w pierwszym arkuszu:
    nazwa | numer_seryjny


    No proszę, okazuje się że kolejność MA znaczenie !
    Zamieniłem miejscami dane liczbowe z nazwą i wszystko zaczęło działać :)
    Wielki dzięki za Wasz czas i pomoc

    0