我有两个电子表格,一个列出了按样式 (sku) 标识的产品的数据,第二个电子表格列出了每个 sku 的不同产品颜色和尺寸选项。我想将这两个电子表格合并在一起,这样我就可以拥有每个 sku 的所有颜色和尺寸变化以及与 sku 匹配的所有详细信息,即详细描述、产品名称、目录等... 我正在尝试在 excel 中执行此操作
答案1
初始点
两个现有的电子表格:
products.xlsx
,包含两列:- 产品名称
- SKU 代码
sku.xlsx
,有五列- SKU 代码
- 颜色
- 尺寸
- 详细描述
- 上映年份
实际上,您可以拥有任意数量的列,只要在两个电子表格中都出现 1 个标识列(在此示例中SKU code
)。
解决方案 1:查找
这是最简单的,但不太灵活,并且在许多行上可能会很慢。
- 打开两个 Excel 文件
- 在该
products
文件中,在单元格中写入以下公式C2
:
=VLOOKUP(B2, [sku.xlsx]Sheet1!$A$2:$E$4, 2, 0)
B2
:它会查找 SKU 代码B2
[sku.xlsx]Sheet1!$A$2:$E$4
:在此参数1定义的范围的最左列中查找该值。2
:然后从该范围的第二列(文件Colour
中的列sku
)中获取匹配的值0
:表示您想要精确匹配
- 在
products
文件中,将公式C2
向下拖拽。 - 在单元格中
D2
,从单元格复制公式C2
,但现在通过将第三个 VLOOKUP 参数从 更改为 来查找第 3 列而不是第 22
列3
。 - 将其向下拖动
- 如果必要的话,对剩余的列重复上述步骤
该文件如下所示products
:
这些是底层公式,我强调了改变以获取其他列的参数:
解决方案 2:指数&匹配
为了灵活性和速度,真正的专业人士会使用这种方法。不过它需要更多步骤。
- 打开两个 Excel 文件
- 在该
products
文件中,在单元格中写入以下公式C2
:
=INDEX([sku.xlsx]Sheet1!$A$2:$E$4, MATCH(B2, [sku.xlsx]Sheet1!$A$2:$A$4, 0), 2)
- 指数
[sku.xlsx]Sheet1!$A$2:$E$4
:这是包含您要查找的所有数据的范围。它可以包含标识列,但不是必须的1。MATCH
- 此参数应包含行号。使用 MATCH 函数可找到B2
:这是 MATCH 要寻找的值[sku.xlsx]Sheet1!$A$2:$A$4
:这是它将在1中寻找的范围。0
:表示你想要精确匹配
2
:应从中检索值的范围的列号。在本例中,我选择2
它是文件Colour
中的列sku
。
- 在
products
文件中,将公式C2
向下拖拽。 - 在单元格中
D2
,从单元格复制公式,但现在通过将最后一个 INDEX 参数从 更改为来C2
查找第 3 列而不是第 2 列。2
3
- 将其向下拖动
- 如果必要的话,对剩余的列重复上述步骤
文件看起来如下products
(与 VLOOKUP 相同):
这些是底层公式,我强调了改变以获取其他列的参数:
脚注
1:确保该范围是绝对定义(用于$
行和列),以便在向下拖动公式时它不会移动。
答案2
答案3
您可以在第二个工作表中使用 vlookup() 函数将其数据与第一个工作表中的数据合并。您可以通过 Google 搜索有关 vlookup 函数语法的更多信息,或在此处查找更多详细信息: http://www.ablebits.com/office-addins-blog/2011/12/14/lookup-excel-functions-vlookup/
如果这是一次性任务并且您没有时间学习 vlookup(),请安装合并表向导插件(它是商业的,但有一个功能齐全的 15 天试用版可用),您可以在此处下载: http://www.ablebits.com/excel-lookup-tables/index.php
如果您选择合并表格向导,请务必选择颜色和大小不同的第二张工作表作为主表格。使用插件安装合并 2 张表格大约需要 5 分钟。