如何在Excel中通过函数实现类SQL JOIN的动态类别列填充
用Excel函数实现商品类别动态匹配填充
现有表格
表格1:类别对照表
| 商品(Item) | 类别(Category) |
|---|---|
| Banana | Fruit |
| Mango | Fruit |
| Chair | Furniture |
表格2:商品数据表格
| 门店(Store) | 商品(Item) | 价格(Value) |
|---|---|---|
| Center | Banana | 1.50 |
| Beach | Banana | 2.50 |
| Center | Chair | 15.00 |
| Beach | Mango | 2.00 |
需求说明
需要在表格2的「价格(Value)」列后新增「动态类别(Category (dynamic))」列,通过匹配「商品(Item)」字段自动从表格1拉取对应类别;无匹配项时显示「NONE」或自定义内容,实现类似SQL JOIN的动态匹配效果。
实现方法
方案1:使用XLOOKUP函数(Excel 365/2021及以上版本)
在表格2新增列的第一个单元格(例如D2)输入以下公式,下拉填充即可:=XLOOKUP(C2, 表格1!A:A, 表格1!B:B, "NONE")
- 说明:C2为表格2当前行的商品名称;表格1!A:A是类别对照表的商品列;表格1!B:B是对应类别列;"NONE"可替换为你需要的无匹配提示内容。
方案2:使用VLOOKUP+IFERROR函数(兼容所有Excel版本)
若你的Excel版本不支持XLOOKUP,可使用此公式:=IFERROR(VLOOKUP(C2, 表格1!A:B, 2, FALSE), "NONE")
- 说明:VLOOKUP负责匹配商品并返回对应类别;IFERROR捕获无匹配时的错误,返回指定提示内容。
最终预期效果
| 门店(Store) | 商品(Item) | 价格(Value) | 动态类别(Category (dynamic)) |
|---|---|---|---|
| Center | Banana | 1.50 | Fruit |
| Beach | Banana | 2.50 | Fruit |
| Center | Chair | 15.00 | Furniture |
| Beach | Mango | 2.00 | Fruit |
| Center | Water | 1.00 | NONE |
内容的提问来源于stack exchange,提问作者Lin
相关产品推荐
相关产品推荐

