You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在表格中查找指定列值并提取其对应关联数据?

匹配提取表格关联数据的实现方案

一、Excel/Google Sheets 快速实现

1. VLOOKUP 函数(通用兼容)

假设你的待搜索值在Sheet1的A列(从A2开始),目标表格在Sheet2:其中匹配关键字在A列,姓名在B列,年龄在C列。

提取匹配姓名(Sheet1的B2单元格):

=VLOOKUP(A2, Sheet2!$A:$C, 2, FALSE)

提取匹配年龄(Sheet1的C2单元格):

=VLOOKUP(A2, Sheet2!$A:$C, 3, FALSE)
  • FALSE强制精确匹配,避免模糊匹配出错误结果
  • 用$锁定目标表格的列范围,下拉公式时不会偏移

2. XLOOKUP 函数(Excel 365/Google Sheets 推荐)

比VLOOKUP更灵活,不用纠结匹配列的位置:

提取姓名:

=XLOOKUP(A2, Sheet2!$A:$A, Sheet2!$B:$B, "无匹配")

提取年龄:

=XLOOKUP(A2, Sheet2!$A:$A, Sheet2!$C:$C, "无匹配")

"无匹配"是无对应结果时的显示文本,可按需修改。

二、Python 批量处理大表格

如果数据量较大,用pandas批量处理更高效:

import pandas as pd

# 读取两个表格
search_data = pd.read_excel("待搜索表格.xlsx")
target_data = pd.read_excel("目标表格.xlsx")

# 按关键字合并,只保留需要的姓名和年龄列
match_result = pd.merge(search_data, target_data[["关键字列", "姓名", "年龄"]], 
                        on="关键字列", how="left")

# 保存结果到新表格
match_result.to_excel("匹配结果.xlsx", index=False)
  • how="left":保留待搜索表格的所有行,无匹配的行对应字段显示NaN
  • 若只需要有匹配的结果,把how="left"改成how="inner"

内容的提问来源于stack exchange,提问作者tadm123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:57:14