在 Excel 或 OpenOffice 中的公共列上合并两个电子表格
我有两个带有公共列的 CSV 文件,我想在公共列上将表“连接”在一起。
例如:将“A”与“B”连接等于“结果”。如果一个表具有另一个表中不存在的键值,则将其保留为空白。
== 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
我知道如何使用 SQL 数据库执行此操作,但我从未使用“Excel”或“OpenOffice.org Calc”执行此操作
建议?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 Excel 中,vlookup 可以完成您所要求的部分操作。具体来说,您可以使用 vlookup 执行左外连接或右外连接,但不能使用完整外连接(如表结果)。
要为上面的示例执行外部联接,请将以下内容添加到“Table B”的 C2(或复制“Table B”,然后执行此操作):
然后您应该能够扩展它以处理多行和多个导入列。
In Excel, vlookup can do part of what you're asking. Specifically, you can use vlookup to do a left or right outer join, but not a full outer join (like your table result).
To do an outer join for your example above, add the following to the C2 of "Table B" (or copy "Table B" and then do this):
You should then be able to expand it to deal with multiple rows and multiple imported columns.
在 Excel 中,您可以使用
VLOOKUP
来实现此目的。假设您在 Excel 的 A 列和 B 列中列出了表 A 中的数据。
表 B 中的数据列在 E 列和 F 列中。
现在,转到 C 列中的第一行并输入:
这告诉它尝试将 A 列与 E 列匹配,并抓取靠近我们找到它的位置的第二列中的所有内容并将其放置在 C 列中。
现在自动填充 C 列中的其余行以匹配其余数据。
In Excel, you use
VLOOKUP
for that.Assume you have the data in Table A listed in columns A and B in Excel.
And the data in Table B list in columns E and F.
Now, go to the first row in column C and enter:
This tells it to try to match column A with column E, and grab whatever is in the 2nd column near where we found it and place it in column C.
Now autofill the rest of the rows in column C to match the rest of the data.
如果您可以使用 Excel,则有“从 Excel 文件查询”功能:
或者如果您不介意将 CSV 文件上传到在线服务,您可以使用例如 http://www.gridoc.com/join-tables 并使用拖放操作加入电子表格(免责声明:我是该工具的作者)。
希望这有帮助。
If you can use Excel, there is a Query from Excel Files function:
Or if you don't mind uploading your CSV files to an online service, you can use for example http://www.gridoc.com/join-tables and join the spreadsheets using drag&drop (Disclaimer: I am author of the tool).
Hope this helps.