J'ai deux fichiers CSV avec une colonne commune et je souhaite "joindre" les tables ensemble sur la colonne commune.
Par exemple: joindre 'A' avec 'B' est égal à 'Résultat'. Si une table a une valeur de clé qui n'existe pas dans l'autre table, elle est laissée vierge.
== 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 comment faire cela avec une base de données SQL mais je ne l'ai jamais fait avec "Excel" ou "OpenOffice.org Calc"
Suggestions?
Dans Excel, vlookup peut faire une partie de ce que vous demandez. Plus précisément, vous pouvez utiliser vlookup pour effectuer une jointure externe gauche ou droite, mais pas une jointure externe complète (comme le résultat de votre tableau).
Pour effectuer une jointure externe pour votre exemple ci-dessus, ajoutez ce qui suit au C2 du "Tableau B" (ou copiez le "Tableau B", puis procédez comme suit):
=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
Vous devriez ensuite être en mesure de le développer pour traiter plusieurs lignes et plusieurs colonnes importées.
Dans Excel, vous utilisez VLOOKUP
pour cela.
Supposons que les données du tableau A figurent dans les colonnes A et B dans Excel.
Et les données du tableau B figurent dans les colonnes E et F.
Maintenant, allez à 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 se trouve dans la 2e colonne près de l'endroit où nous l'avons trouvé et de le placer dans la colonne C.
Remplissez maintenant automatiquement le reste des lignes de la colonne C pour faire correspondre le reste des données.
Si vous pouvez utiliser Excel, il existe une fonction de requête à partir de fichiers Excel:
Ou si cela ne vous dérange pas de télécharger vos fichiers CSV sur un service en ligne, vous pouvez utiliser par exemple http://www.gridoc.com/join-tables et rejoindre les feuilles de calcul par glisser-déposer (Avertissement: Je suis l'auteur de l'outil).
J'espère que cela t'aides.