Jakub Drogoszewski

Jakub Drogoszewski Student,
Politechnika
Warszawska

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Borykam się z problemem, który ze sporym prawdopodobieństwem, już pojawił się na tym forum, ale nie potrafię natrafić na jego rozwiązanie.

Oto on:

Mam arkusza bazowy "BAZA" w którym mam wypełnione np 15 kolumn i 500 wierszy - zarówno liczbami jak i tekstem
Mam 5 arkuszy, niech będzie a1, a2, a3, a4, a5
Jedna z kolumn arkusza BAZA zawiera nazwę któregoś z pozostałych arkuszy np "a1"

Poszukuje funkcji która:
Przeszuka konkretną kolumnę arkusza BAZA i jeżeli natknie się w niej na wartość odpowiadającą nazwie arkusza (np. a1) skopiuje cały wiersz do arkusza a1

Kombinowałem z funkcją "jeżeli", ale jedyne co udało mi się uzyskać to skopiowanie pierwszej komórki wiersza i to w tym samym wierszu (np jeśli wartość a1 pojawiała się po raz pierwszy w arkuszu BAZA w wierszu 40 to Wartość A40 pojawiała się w a1!A40 zamiast a1!A1)

Ratujcie proszę!
Andy L.

Andy L. ITM, VUB

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Po złożeniu takich funkcji w formułę:
IFERROR()
INDEX()
SMALL()
IF()
ROW()
MIN()
COLUMN()

i ustawienie odpowiednio odwołań do zakresów i komórek otrzymasz to co potrzebujesz (chyba :-) )
Cała formuła jest array, więc za każdym razem w kolejnym arkuszu musisz ją wprowadzić za pomocą CSE (Ctrl+Shift+Enter) gdyż inaczej pokażą się w wyniku bzdury, przeciągnać w prawo i w dół o tyle wierszy i kolumn ile masz danych w arkuszu BAZA.
Niektóre z w/w funkcji powtarzają się w formule.
Oczywiście można zrobić tak, że gdy ten sam wiersz spełnia dwa warunki (np. zawiera warunek A2 i warunek A4) to kopia pojawi się i w arkuszu A2 jak i w arkuszu A4. Ale to już perwersja :-)

przykład:
BAZA
Obrazek
Wynik dla ark. A1
Obrazek

Tutaj warunek nazwy arkusza jest w komórce A1 ale możesz pokusić się o uzyskanie tej nazwy za pomocą CELL(filename) , MID(), FIND(). To zależy tylko i wyłącznie od twojej inwencji :-D

Nazwy funkcji przetłumacz sobie odpowiednio do twoje wersji językowej Excela.

Możesz też próbowac VBA.

Generalnie najpierw pochwal się swoimi dokonaniami a dopiero wtedy można dyskutować dalej. Gotowiec jest niekoniecznie najlepszym rozwiązaniem :PTen post został edytowany przez Autora dnia 28.07.15 o godzinie 05:07
Przemysław Zasadowski

Przemysław Zasadowski
Technolog-konstrukto
r, Odlewnia Żeliwa
Lisie Kąty

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Witaj, jeżeli dobrze zrozumiałem Twoje pytanie to musisz użyć polecenia =PODAJ.POZYCJĘ(). Na jego podstawie poznasz pierwszą komórkę. Prześlij proszę Twój plik na p.zasadowski@gmail.com. Wieczorem wpiszę Ci tą formułę i odeślę.
Tomasz Zarzyka

Tomasz Zarzyka X-mart, właściciel

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Jakub,
Twój opis jest mało precyzyjny. Jeśli dobrze cię zrozumiałem, to chcesz zrobić coś takiego:
Sprawdzasz rekordy w akruszu BAZA - jeśli natrafisz w niej na nazwę jednego z arkuszy, to chcesz skopiować wiersz do tego arkusza.
Tu pytanie: gdzie chesz skopiować? Jeśli to kopiowanie ma następować do kolejnych wierszy, to żadną funkcją tego nie zrobisz - tylko VBA.
Tutaj za każdym razem zmienia się numer wiersza.
Reasumując: masz arkusz BAZA, który chcesz "rozpisać" na inne arkusze.

Bez VBA możesz to zrobić ręcznie filtrami: filtrujesz dane wg arkusza i dodajesz do niego nowe wiersze.
Tak czy inaczej, jak podeślesz plik przykładowy to będzie znacznie łatwiej.
Andy L.

Andy L. ITM, VUB

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Tomasz,
Oczywiście, że można to zrobić formułami. Pozostaje kwestia czasu i chęci by taka formułę stworzyć. VBA NIE jest panaceum na wszystko :-)))))
Tomasz Zarzyka

Tomasz Zarzyka X-mart, właściciel

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Andy,
ja takim gigantem w formułach nie jestem, więc muszę rzeźbić w VBA.
I jak powiedziałeś: to kwestia czasu i chęci...
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Jeżeli w kolumnie występuje nazwa skopiuj wiersz do...

Generowanie nieskończonej ilości formuł, tylko dlatego aby powielić dane, to krok w uśmierceniu procesora w danej sesji Excela. Niekończące się przeliczanie będzie miało wpływ na wszystkie prace z danymi. Do takich celów albo Power Qwery z wersji professional Tylko szeroko dostępne możliwości VBA.

Wródźcie uwagę na taki mechanizm podziału danych zn arkusze/skoroszyty. Wersja PROfessional potrafi zapisywać exportowane skoroszytu w osobnych folderach (np zasobów współdzielonych), a w połączeniu z rozwiązaniem wysyłającym maile z arkusza, bądź to z katalogów to narzędzie dla każdego kto tworzy raporty.

Utwórzcie własne rozwiązania. Im bardziej będą one uniwersalne, tym częściej do nich sięgniecie.



Wyślij zaproszenie do