Radosław Smoczyński

Radosław Smoczyński przedsiębiorca,
trener, mówca

Temat: Wyszukaj pionowo - prośba o pomoc w optymalizacjii :)

Witajcie! Widzę wiele ciekawych tematów na tej grupie i widać, że są tu ludzie świetnie obeznani w temacie :)

Mam takie małe wyzwanie - arkusz ma 4000 wierszy i koło 150 kolumn i zasysa dane z 24 innych arkuszy, stąd problem z wydajnością procesora i przeliczaniem które w pełni trwa dwie minuty

W tym arkuszu jest ogromna ilość funkcji wyszukaj.pionowo i zastanwiam się nad optymalizacją.

Ogólnie wygląda to tak że WYSZUKAJ.PIONOWO po ID osoby szuka tego ID w innym arkuszu w tabeli gdzie jest przy tym ID około 10 kolumn z danymi. W związku z tym że chce wypluć 5 z tych danych obok siebie to wykorzystuje 5 razy funkcję wyszukaj pionowo zmieniając jedynie parametr pozycji w tabeli z np. 2 ,3 ,5 ,6,8

ostatnio właśnie na tej grupie poczytałem o tablicach licząć że to mogłoby pomóc

skoro przeszukuję daną tabelę raz i znajdzuje dany wiersz gdzie są wszystkie dane to fajnie byłoby jedną funkcją zassać wszystkie potrzebne dane z wiersza i wypluć je w poziomie jedną obok drugiej i tego zrobić nie potrafie

widizałem na grupie rozwiązanie w stylu WYSZUKAJ.PIONOWO(A1;$D$1:$L$30;{2;3;5;6;8};FAŁSZ wykorzystujące tablicę tylko teraz nie mam pojęcia jak te dane rozłożyć w komorkach obok siebie

w załączniku przykładowy plik z mikrowersją tego co chcę zrobić

z góry dziękuję Wam wszystkim za poświęcony czas na przeczytanie tego oraz ewentualną chęć pomocy :)

pozrowienia!

https://www.dropbox.com/s/50cyazmqjj3h6vo/tablice%20w%2...
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Wyszukaj pionowo - prośba o pomoc w optymalizacjii :)

Wszystkie formuły wyszukania, czy też tablicowe umieszczone w nadmiarze mogą uniemożliwić pracę w Excelu.
W w większości służą one do obliczeń danych historycznych. Zatem zmiana na tablicówkę nic nie wniesie.
Zastanów się czy nie zamienić formulę na wartości, przez co ilość obliczeń znacznie spadnie.
Innym sposobem jest wyłączenie automatycznego przeliczania i wymuszenia go klawiszem [F9] . Ten sposób niestety się mści, ponieważ zmienia jest na poziomie aplikacji i często dochodzi o zapomnienia jego ponownego włączenia (np w pracy z innymi skoroszytami).
Jeśli nie możesz sobie na to pozwolić to zamień formułę na procedurę VBA, która jednorazowo wyliczy dane i wpisać wartość w komórkę.

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora
Andrzej Graczyk

Andrzej Graczyk Specjalista Analiz
Sprzedaży,
Wielkopolski Bank
Spółdzielczy

Temat: Wyszukaj pionowo - prośba o pomoc w optymalizacjii :)

Ja bym postawił na procedurę VBA (wykorzystując f. vlookup do wyszukania tablicy wartości dla danego ID oraz vba.split do wklejenia wartości z tablicy). Na początku procedury wyłączyć obliczanie tj.
Application.Calculation = xlCalculationManual w celach optymalizacyjnych i na końcu włączyć.

MS Query również jest ciekawym rozwiązaniem - zapytanie SQL proste i w zasadzie wystarczy później tylko odświeżyć tabelę.



Wyślij zaproszenie do