Joindre deux feuilles de calcul sur une colonne commune dans Excel ou OpenOffice
j'ai deux fichiers CSV avec une colonne commune et je veux "joindre" les tables ensemble sur la colonne commune.
Par exemple: Joindre 'A' à 'B' est égal à 'Résultat'. Si un tableau a une valeur clé qui n'existe pas dans l'autre à sa table, juste à gauche vide.
== 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
je sais faire cela avec une base de données SQL mais je ne l'ai jamais fait avec "Excel" ou "OpenOffice.org Calc"!--2-->
des Suggestions?
3 réponses
Dans Excel, recherchev peut faire partie de ce que vous demandez. Spécifiquement, vous pouvez utiliser vlookup pour faire une jointure externe gauche ou droite, mais pas une jointure externe complète (comme votre résultat de table).
Pour faire une jointure externe pour votre exemple ci-dessus, ajouter le texte suivant à la C2 de Tableau "B" (ou copie de Tableau "B" et ensuite le faire):
=vlookup(
a2, # the cell value from the current table to look up in the other table
table_a!:4832718, # 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
Vous devriez alors être en mesure de l'étendre pour traiter plusieurs lignes et plusieurs colonnes importées.
dans Excel, vous utilisez VLOOKUP
pour que.
Supposons que vous ayez les données du tableau A dans les colonnes A et b dans Excel.
Et les données du tableau B sont indiquées dans les colonnes E et F.--3-->
Maintenant, passez à la première ligne de la colonne C et entrez:
=VLOOKUP(A:A,E:F,2,FALSE)
cela lui dit d'essayer de faire correspondre la colonne A avec la colonne E, et de saisir tout ce qui est dans la deuxième colonne près de l'endroit où nous l'avons trouvé et de le placer dans la colonne C.
Maintenant auto remplir le reste des lignes de la colonne C à correspond au reste des données.
si vous pouvez utiliser Excel, il y a une requête de la fonction Excel Files:
- Définir un nom pour la primaire de la table - Une Table (onglet Formules -> Définir un nom)
- définir le nom de la table secondaire-Table B
- allez à L'onglet Données, sélectionnez "From Other Sources", et dans la liste déroulante, sélectionnez "From Microsoft Query"
- Sélectionnez votre fichier CSV et confirmez que vous voulez fusionner les colonnes manuellement
- dans la fenêtre suivante "requête D'Excel Fichiers", drag&drop la colonne du nom de la Table A dans la colonne du nom de la Table B - un lien entre ces colonnes sera créé
- allez dans le menu Fichier, cliquez sur "Retourner les données à MS Office Excel", Une boîte de dialogue Importer les données apparaîtra
- sélectionnez la feuille dans laquelle vous souhaitez que les données appariées soient importées
- cliquez sur OK - vous devriez voir les données appariées avec les colonnes des deux tableaux
ou si cela ne vous dérange pas de télécharger vos fichiers CSV vers un site en ligne service, vous pouvez utiliser par exemple http://www.gridoc.com/join-tables et joindre les feuilles de calcul en utilisant le glisser-déposer (Disclaimer: je suis l'auteur de l'outil).
J'espère que cela vous aidera.