如何使用 LibreOffice Calc 连接两个表?

Chr*_*ian 11 libreoffice-calc

我有两个表,每个表都在同一个文件中的自己的工作表中:

姓名年龄
Alice 18
Bob 19
Carol 20
Dave 19

姓名 性别
Bob 男
Dave 男
Eve 女

我想自动创建第三个表(工作表),其中包含列名上的连接数据:

姓名 年龄 性别
Bob 19 男
Dave 19 男

LibreOffice Calc 是否支持此操作?

fix*_*234 11

这是一个简单的方法。

第 1 页:

第 1 页

第 2 页:

第 2 页

第 3 页:

第 3 页

在工作表 3 上,姓名和年龄只是对表 1 的单元格引用。因此 A2 包含:

=Sheet1!A2
Run Code Online (Sandbox Code Playgroud)

B2 包含:

=Sheet1!B2
Run Code Online (Sandbox Code Playgroud)

通过在表 2 中查找该行的名称来填充性别。因此 C2 包含:

=VLOOKUP(Sheet3!A2,Sheet2!A:B,2,0)
Run Code Online (Sandbox Code Playgroud)

请注意,表 1 和表 2 不需要按相同顺序排列。

顺便说一句,这些公式反映了在工具中模拟 Excel 公式语法的设置首选项 | 选项 | LibreOffice Calc | 公式。

修改意见

对于表 1 和表 2 不匹配并且您只需要公共记录的情况,这里有一种简单的方法来调整此方法。说表 2 看起来像你的例子:

表 2a

现有的公式会产生这个:

表 3a

Alice 和 Carol 在表 2 中没有找到匹配项。 Eve 不在表 1 中,所以也不会有适合她的匹配项。打开过滤可以隐藏 #N/A 记录:

表 3b

如果您想要一个干净的表格,其中这些记录实际上已经消失了,复制和粘贴特殊值(在 LO Calc 中,我选择了文本和数字,但没有选择公式),将只粘贴非隐藏的行。这显示在第 10-12 行(注意没有隐藏的行)。

  • 为了完成这项工作,我将 vlookup 更改为: =VLOOKUP(A1;$Sheet2.A$1:B$76;2;0) (2认同)