2010-11-11 20 views
25

Mam dwa pliki CSV ze wspólną kolumną i chcę "dołączyć" tabele do wspólnej kolumny.Dołącz do dwóch arkuszy kalkulacyjnych na wspólnej kolumnie w programie Excel lub OpenOffice

Na przykład: Połącz "A" z "B" równa się "Wynik". Jeśli jedna tabela ma wartość klucza, która nie istnieje w drugiej tabeli, pozostawia się ją pustą.

== Table A ==  == Table B ==  == Table result == 
Name ,Age   Name ,Sex   Name ,Age ,Sex 
Bob ,37  +  Bob ,Male  => Bob ,37 ,Male 
Steve ,12   Steve ,Male   Steve,12 ,Male 
Kate , 7         Kate , 7 , 
        Sara ,Female  Sara , ,Female 

wiem, jak to zrobić z bazą danych SQL, ale nigdy nie zrobił to z „Excel” lub „OpenOffice.org Calc”

sugestie?

Odpowiedz

28

W programie Excel, vlookup może zrobić część tego, o co prosisz. W szczególności możesz użyć vlookup, aby wykonać lewe lub prawe sprzężenie zewnętrzne, ale nie pełne sprzężenie zewnętrzne (jak wynik tabeli).

Aby wykonać zewnętrzną dołączyć do powyższego przykładu, dodaj następujące C2 „Tabeli B” (lub skopiować „Tabela B”, a następnie to zrobić):

=vlookup(
    a2, # the cell value from the current table to look up in the other table 
    table_a!$1:$174832718, # the other table 
          # don't manually type this--select the entire 
          # other table while the cursor is editing this 
          # cell, then add the "$"s--Excel doesn't 
          # automatically add them 
          # (the syntax here is for different sheets in 
          # the same file, but Excel will fill this in 
          # correctly for different files as well) 
    2, # the column to get from the other table (A=1, B=2, etc.) 
    FALSE) # FALSE=only get exact matches TRUE=find approx. matches if no exact match 

Powinieneś być w stanie aby go rozwinąć, aby poradzić sobie z wieloma wierszami i wieloma zaimportowanymi kolumnami.

+1

Aby wykonać pełne sprzężenie zewnętrzne, można wykonać operację WYSZUKAJ.PIONOWO w obu kierunkach, więc scal tabelę 1 w tabeli 2 i tabeli 2 w tabeli 1. Następnie za pomocą makra lub ręcznie (wklejanie) scalić obie tabele w jedną tabelę i użyj funkcji usuwania duplikatów w tabeli wynikowej. – Jan

+0

, żeby wspomnieć, że pierwsza zmienna (a2 w jego przypadku) musi znajdować się w pierwszej kolumnie, aby vlookup zadziałał. –

6

W Excelu używa się do tego celu VLOOKUP.
Założono, że dane w tabeli A są wymienione w kolumnach A i B w programie Excel.
a dane w liście Tabela B w kolumnach E i F.
Teraz przejdź do pierwszego wiersza w kolumnie C i wpisz:

=VLOOKUP(A:A,E:F,2,FALSE) 

Informuje go, aby spróbować dopasować kolumny A z kolumny E, i zgarnij wszystko, co znajduje się w drugiej kolumnie w pobliżu miejsca, w którym ją znaleźliśmy i umieść ją w kolumnie C.
Teraz uzupełnij automatycznie pozostałe wiersze w kolumnie C, aby dopasować pozostałe dane.

2

Jeśli można użyć programu Excel, istnieje Query z programu Excel funkcja Files:

  • Określ nazwę tabeli podstawowej - Tabela A (zakładka Formuły -> Określ nazwę)
  • Określ nazwę tabeli wtórnym - Tabela B
  • Idź na zakładce Dane wybierz „z innych źródeł”, a następnie z listy rozwijanej wybierz „z Microsoft Query”
  • Wybierz plik CSV i potwierdzić, że chcesz połączyć kolumny ręcznie
  • w następujące okno "Zapytanie z plików Excel", przeciągnij & upuść kolumnę Nazwa tabeli A w kolumnie Nazwa tabeli B - zostanie utworzone łącze między tymi kolumnami
  • Przejdź do menu Plik, kliknij "Zwróć dane do MS Office Excel”, okno dialogowe importu danych pojawi się
  • Wybierz arkusz, do których chcesz, dopasowane dane mają być przywiezione
  • Kliknij OK - powinieneś zobaczyć dopasowane dane z kolumn z obu tabel

Or jeśli nie masz nic przeciwko przesyłaniu plików CSV do usługi online, możesz użyć na przykład http://www.exmerg.com/data-merging i dołączyć do programu arkusze reklamowe za pomocą przeciągnięcia kropli & (Zastrzeżenie: jestem autorem narzędzia).

Mam nadzieję, że to pomoże.