Znajdź podobne dane w dwóch arkuszach i umieść je w trzecim arkuszu

3

Jaki jest najlepszy / najłatwiejszy sposób łączenia danych z dwóch różnych arkuszy kalkulacyjnych Excel w trzeci arkusz kalkulacyjny Excel? Arkusz kalkulacyjny 1 będzie miał tylko nazwę użytkownika. Arkusz kalkulacyjny 2 zawiera wiele informacji, w tym imię, nazwisko, dział, nazwę użytkownika itp. Potrzebny jest trzeci arkusz kalkulacyjny do wyświetlania nazw użytkowników z arkusza kalkulacyjnego 1 z imieniem, nazwiskiem i działem z arkusza kalkulacyjnego 2.

CSF
źródło
2
jeśli nazwa użytkownika jest tylko w jednym arkuszu, jaka jest wspólna cecha między nazwami użytkowników a tym, co znajduje się w innym arkuszu? to jest nazwa użytkownika w obu?
datatoo
1
+1 do @datatoo - potrzebny jest unikalny identyfikator użytkownika, który jest wspólny dla obu arkuszy. tj .: jeśli pierwszy arkusz tylko ma nazwy użytkowników i nie ma żadnych innych danych niż drugi arkusz musi również mają nazwy użytkowników obok danych korelacyjnych. W przeciwnym razie, jeśli na arkuszu nazwy użytkownika znajduje się również inny unikalny identyfikator (np .: numer pracownika, adres e-mail itp.) również na arkuszu „dużo informacji” możesz użyć tego zamiast tego. Jednak bez wspólnego unikatowego identyfikatora użytkownika nie będziesz miał szczęścia.
Iszi
1
Arkusz 1 ma tylko nazwy użytkowników, ale te same informacje znajdują się w arkuszu 2. Chcę, aby wiersze zawierające te same nazwy użytkowników z arkusza 1 i arkusza 2 zostały wyciągnięte i wyświetlone na trzecim arkuszu.
CSF

Odpowiedzi:

5

Funkcja, której chcesz użyć, to VLOOKUP. Sposób, w jaki to zrobisz, będzie nieco zależał od sposobu ułożenia arkuszy, ale wszystkie będą miały tę samą składnię:

= WYSZUKAJ.PIONOWO ( lookup value, table array, column index number, range lookup )

  • lookup value to dane, które chcesz wyszukać.
  • table array definiuje komórki, z których chcesz pobrać dane, w tym kolumnę zawierającą cel wyszukiwania
  • column index number jest indeksem kolumny wewnątrz table array z którego chcesz pobierać informacje. (np .: dla tablicy A: E, kolumna D byłaby 4.)
  • range lookup jest opcją PRAWDA / FAŁSZ, aby określić, czy przybliżone dopasowanie jest dopuszczalne, czy potrzebne jest dokładne dopasowanie. Aby zachować prostotę, zawsze ustawiałem to na FALSE. Naciśnij F1 w Excelu, jeśli potrzebujesz więcej szczegółów.

Format twojej formuły będzie się nieznacznie różnić w zależności od tego, czy wszystkie dane znajdują się w tym samym skoroszycie, czy nie. Podam przykłady dla każdego poniżej.

WAŻNA UWAGA: Wyszukiwany termin, którego używasz jako lookup value musi można znaleźć w pierwszej kolumnie table array dla WYSZUKAJ.PIONOWO do pracy.


Pierwszy przykład : Wszystkie dane będą w tym samym skoroszycie programu Excel, ale na różnych arkuszach. Pierwszy arkusz ma etykietę „Nazwy użytkownika” i zawiera tylko nazwy użytkowników. Drugi arkusz jest nazywany „danymi użytkownika” i zawiera wszystkie dane użytkownika. Nazwiemy trzeci arkusz „Wyniki wyszukiwania”. Arkusz „Dane użytkownika” zawiera pięć kolumn, A:E.

  1. Upewnij się, że arkusz kalkulacyjny „Dane użytkownika” zawiera wszystkie nazwy użytkowników w kolumnie A.
  2. Skopiuj wszystkie nazwy użytkowników z „Nazwy użytkowników” do „Wyniki wyszukiwania”.
    • Zakładam, że używasz wiersza nagłówka, więc pierwsza nazwa użytkownika w „wynikach wyszukiwania” wyląduje w A2.
  3. Formuła B2 na „Wynik wyszukiwania” powinna być: =VLOOKUP(A2,'User Data'!A:B,2,FALSE)
  4. Formuła dla B3 na „Wynik wyszukiwania” powinna być: =VLOOKUP(A3,'User Data'!A:B,2,FALSE)
  5. Formuła C2 na „Wynik wyszukiwania” powinna być: =VLOOKUP(A2,'User Data'!A:C,3,FALSE)

Powinieneś teraz zobaczyć ten wzór. Dla każdej kolumny powinieneś po prostu napisać formułę WYSZUKAJ.PIONOWO w pierwszej komórce (np .: B2), a następnie wypełnić formułę resztą arkusza. Jednak wycinanie i wklejanie formuły przez kolumny nie są takie proste - musisz zaktualizować table array i column index number wartości.


Drugi przykład : Każdy zestaw danych jest przechowywany w swoim własnym skoroszycie programu Excel. Nazwy arkuszy w skoroszycie są domyślne (tj .: pierwszy arkusz to „Arkusz1”). Nazwy plików skoroszytu to „Usernames.xlsx”, „User Data.xlsx” i „Lookup Results.xlsx”. Wszystkie one znajdują się w folderze o nazwie „My Spreadsheets”, który znajduje się na pulpicie użytkownika o nazwie „Me”.

  1. Upewnij się, że arkusz „User Data.xlsx” zawiera wszystkie nazwy użytkowników w kolumnie A.
  2. Skopiuj wszystkie nazwy użytkowników z „Usernames.xlsx” do „Lookup Results.xlsx”.
    • Ponownie, zakładając, że używasz wiersza nagłówka, rozpocznie się on od A2.
  3. Formuła dla B2 w „Lookup Result.xlsx” powinna być =VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE)
  4. Formuła dla B3 w „Lookup Result.xlsx” powinna być =VLOOKUP(A3,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE)
  5. Formuła C2 w „Lookup Result.xlsx” powinna być =VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:C,3,FALSE)

Ponownie, powinieneś być w stanie zobaczyć ten wzór już teraz. Wytnij / wklej / dostosuj zgodnie z potrzebami w dół wierszy i kolumn, a zostaniesz ustawiony.


Należy pamiętać o tym, że arkusz nie zostanie automatycznie zaktualizowany o zmiany w danych „Nazwy użytkowników”. Za pomocą tej metody można pobrać zmiany w arkuszu „Dane użytkownika”, ale jeśli chcesz śledzić zmiany w „Nazwach użytkownika”, potrzebne będą bardziej zaawansowane techniki.

Iszi
źródło
Znakomity zapis na temat VLOOKUP funkcjonować. W moim przypadku zrobił to trzeci parametr, kolumna # (zakodowana na 2/2/3 w twoich przykładach) nie automatyczny przyrost, gdy wkleiłem formuły, więc użyłem prostego COLUMN(cell) funkcja (np. COLUMN(B2), COLUMN(C2)itd.), aby zwrócić kolumnę # odpowiednią do pozycji w arkuszu, w której znajdowała się moja formuła.
NateJ
@NateJ Tak, ponieważ jest to część formuły, a nie odwołanie do komórki, parametr numeru kolumny nie jest modyfikowany w operacjach kopiowania / wklejania / przenoszenia. Inną opcją jest zrobić coś takiego COLUMNS($B:B)+1. (Formuła znajduje się w kolumnie B i chcesz zacząć od drugiej kolumny z tablicy odniesienia.)
Iszi
@NateJ Również, jeśli chcesz VLOOKUP możesz sprawdzić za pomocą kombinacji INDEX i MATCH zamiast. To trochę bardziej elastyczne niż VLOOKUP w określony sposób. Wyniki Google obfitują.
Iszi
1

Vlookup i podobne działają tylko wtedy, gdy dane w obu arkuszach są identyczne.
Uważam, że potrzebny jest dodatek do logiki rozmytej dla programu Excel. Umożliwi to znalezienie podobnych wyników w oparciu o kilka różnych parametrów. Sprawdź strona pobierania .

SiParker
źródło
0

WYSZUKAJ.PIONOWO / WYSZUKAJ.PIONOWO - użyj formuły, aby pobrać nazwę użytkownika z arkusza kalkulacyjnego 1, a następnie użyj nazwy użytkownika jako klucza i arkusza kalkulacyjnego 2 jako matrycy wyszukiwania dla jednego wystąpienia WYSZUKAJ.PIONOWO / WYSZUKAJ.PIONOWO (nie wiem, który z nich jest taki, jaki jestem używając wersji innej niż angielska).

Jan Schejbal
źródło
Aby wyjaśnić, w arkuszu 1 mam około 50 nazw użytkowników (wierszy danych), które muszę zobaczyć, jeśli istnieją w arkuszu 2, który zawiera około 12 000 wierszy danych. Chcę, aby program Excel wyświetlał rzeczywiste dane znalezione w pasującym wierszu - nie tylko PRAWDA czy FAŁSZ jako wynik na trzecim arkuszu. Nadal nie wiesz, jak zacząć.
CSF
Najpierw wypełnij pierwsze 50 komórek w kolumnie A arkusza 3 prostymi odniesieniami do odpowiednich komórek zawierających nazwę użytkownika na arkuszu 1. Teraz masz swoje nazwy użytkowników w arkuszu 3. Następnie, zakładając, że pełna nazwa jest przechowywana w kolumnie C arkusza 2 i chcesz tego w kolumnie B arkusza 3, wypełnij B1 arkusza 3 formułą taką jak = WYSZUKAJ.PIONOWO (A1; Arkusz2! 1: 1048576; 3; FAŁSZ) - przeczytaj dokumentację WYSZUKAJ.PIONOWO.
Jan Schejbal
0

Możesz użyć Query z plików Excel:

  • Zdefiniuj nazwę zestawu danych w Arkuszu kalkulacyjnym 1 (karta Formuły - & gt; Zdefiniuj nazwę)
  • Zdefiniuj nazwę zestawu danych w Arkuszu kalkulacyjnym 2
  • Będąc w Arkuszu kalkulacyjnym 1, przejdź do karty Dane, wybierz „Z innych źródeł” iz rozwijanej listy wybierz „Z Microsoft Query”
  • Wybierz inny plik arkusza kalkulacyjnego i potwierdź, że chcesz scalić kolumny ręcznie
  • W następującym oknie „Query from Excel Files” przeciągnij i upuść kolumnę „username” pierwszego zestawu danych w kolumnie „username” drugiego zestawu danych - zostanie utworzone łącze między tymi kolumnami
  • Przejdź do menu Plik, kliknij „Zwróć dane do MS Office Excel”, pojawi się okno dialogowe Importuj dane
  • Wybierz arkusz, do którego chcesz zaimportować dopasowane dane
  • Kliknij OK - powinieneś zobaczyć dopasowane dane z kolumnami z obu arkuszy kalkulacyjnych

Lub jeśli nie masz nic przeciwko przesyłaniu plików do usługi online, możesz użyć na przykład http://www.gridoc.com/join-tables i scal arkusze za pomocą metody przeciągnij i upuść (Zastrzeżenie: Jestem autorem narzędzia).

Mam nadzieję że to pomoże.

endriju
źródło