Wpis z mikrobloga

Mirki od #excel!

Chciałbym napisać makro, które używa funkcji VLOOKUP.

Sprawa wygląda tak, że mam dwa arkusze w jednym pliku. W jednym z arkuszy chciałbym otrzymać nową kolumnę z konkretną daną (powiedzmy: X), którą wyciągnąć mogę z drugiego arkusza na podstawie informacji, które w pierwszym arkuszu znajdują się w dwóch różnych kolumnach (powiedzmy: Z i Y). Tutaj bywa różnie – w drugim arkuszu interesująca mnie dana (X) znajduje się raz obok wartości, którą w pierwszym arkuszu reprezentuje kolumna Z, a innym razem – przy wartości z kolumny Y.

Chciałbym możliwie najprościej zrobić więc mniej więcej coś takiego: VLOOKUP, która szuka X w drugim arkuszu na podstawie kolumny Z, potem VLOOKUP, która szuka X w drugim arkuszu na podstawie Y, a następnie złączyć dwie otrzymane kolumny danych w jedną, ale tak, żeby one uzupełniały nawzajem swoje braki. Żeby pustych pól zostało możliwie najmniej.

#pytanie #pytaniedoeksperta #office365 no i w sumie #programowanie, bo chciałbym to mieć ostatecznie jako makro w module #vba
  • 5
@moby22 nie potrzebujesz makro, chyba że to jakiś specyficzny powod.

wszystko to czego potrzeujsze bez problemu osiągniesz power query

wyszukaj w Google albo youtube powerquery lookup i ewentualnie merge 2 kolumny jeżeli będziesz robił najprostrzymi krokami
@moby22: teraz sie zorientowalem, ze nie wiem, czy dobrze zrozumialem twoj tekst :D ale i tak xlookup powinien pomoc chyba :D

=XLOOKUP(D2;Sheet6!$C:$C;Sheet6!$E:$E;XLOOKUP(E2;Sheet6!$D:$D;Sheet6!$E:$E;))
taju - @moby22: teraz sie zorientowalem, ze nie wiem, czy dobrze zrozumialem twoj tek...

źródło: xlookup4

Pobierz
@taju: Dzięki kolego! XLOOKUP jest tym, czego szukałem. Generalnie trzeci przedstawiony przez Ciebie scenariusz to był problem, z którym się mierzyłem.

nie potrzebujesz makro, chyba że to jakiś specyficzny powod.


@Aiween: No, tutaj akurat powodem jest to, że muszę zaktualizować istniejący już skrypt VBA. M.in. właśnie dodając procedurę, która będzie szukać mi w arkuszach danych na podstawie XLOOKUP, który zaproponował @taju.