Jak połączyć inteligentnie dwie tabele w Excelu?


(bartek_m0) #1

arkusze.thumb.PNG.246bc56e8256eb82f1ae8e

Witam, chciałbym uzyskać efekt taki jak na obrazku w załączniku.

Mam dwa arkusze i chciałbym zrobić z nich jeden z zawartością taką, jak na obrazku. Problem w tym, że kolumna "nazwa" w obu arkuszach zawiera częściowo te same, a częściowo różne elementy, a łącznie jest ich koło 4000, więc ręczna robota nie wchodzi w grę.

Z góry dzięki za pomoc.

 


(Drobok) #2

To powinno zadziałać w twoim przypadku: http://superuser.com/questions/420635/how-do-i-join-two-worksheets-in-excel-as-i-would-in-sql


(silvver) #3

Z tego co widzę, to nie jest tabela przestawna tylko zwykła tabelka z filtrem, tak?

Ja bym się nie bawił w żadne łączenie tabel “jak w SQL”, wystarczy sobie zaindeksować. Można za pomocą wyszukaj.pionowo, ale wolę za pomocą indeks i podaj pozycję:

=INDEKS(B:B;PODAJ.POZYCJĘ(D1;A:A;0);1)

gdzie B:B to kolumna B z której pobierasz dane po indeksie w kol. A:A  (tzn szukasz po indeksie z komórki D1 tego indeksu w kolumnie A, i jak znajdzie to pobiera wartość z danego wiersza z kolumny B).

 

Tu masz przykład jak to zastosować. Formuła pokaże błąd, jeżeli w danym zakresie nie znalazło tego indeksu - jak w przykładzie. Użyj jeżeli.błąd aby wstawić puste (aby ładnie wyglądało :>) albo inną wartość lub np tekst “nie znaleziono”.

np =jeżeli.błąd(INDEKS(Arkusz1!B:B;PODAJ.POZYCJĘ(A2;Arkusz1!A:A;0);1);"")

tabele.xlsx

 

 


(madoch) #4

Najszybszy sposób do osiągnięcia tego co chcesz uzyskać to tabela przestawna.

Załączam przykładowy plik , abyś mógł przeanalizować.

 

 

przyklad.xlsx


(silvver) #5

Wydaje mi się, że nie do końca mu o to chodziło - bo wtedy po prostu musisz resztę danych przekleić pod pierwsza tabelę i na dodatek zrobić jakieś oznaczenie (aby tabela nie sumowała danych wartości, np ty to zrobiłeś dodając kolumnę typ). Czar takiego rozwiązania pryska jak obie tabele źródłowe są w innych arkuszach i mają posiadać dane tylko od siebie i jak np będą aktualizowane (jak i mają inny format danych - wtedy by zabawa przy przeklejance była).

A tak to można sobie doindeksować wartość i spokój :slight_smile: (i potem na takim zakresie można budować tabele przestawą zawierająca dane z obu tabel źródłowych)


(madoch) #6

Ok, można się spierać , które rozwiązanie jest lepsze. Ale nie o to chodzi.

Mój sposób jest chyba jednak najszybszy :slight_smile:

 

w każdym bądź razie autor wątku ma nad czym się zastanawiać


(Drobok) #7

najszybszy to będzie jak dojdą kolejne tabele i autor będzie musiał dokładać arkuszy pośrednich bo się zagnieżdżenia nie bd mieściły w komórkach :wink:

Od takich rzeczy jest dataconnection i vba


(madoch) #8

drobok, pamiętaj o tym, że nie każdy użytkownik jest zaawansowany w obsłudze excela i hasło vba + dataconnection może go mocno wystraszyć.

Pracuję z ludźmi , gdzie funkcja sumy sprawia duże problemy :slight_smile:

Ale odbiegamy od tematu.

//aż tak trudno skopiować nick znad avka, lub przepisać go bez przekręcania ? 


(banita71) #9

VBA jest tu zbędny. Z pomocą przychodzi funkcja “wyszukaj.pionowo”

Rozwiązanie