首页   Excel教程  Excel查找对比与文本提取:VLOOKUP/XLOOKUP实战、两列找差异、一列拆多列

Excel查找对比与文本提取:VLOOKUP/XLOOKUP实战、两列找差异、一列拆多列

乐福学长说:很多人一提到”处理数据”就头疼,其实 Excel 里翻来覆去就那么几件事:按条件找数据、两列对比找差异、把混在一起的一列拆开。这三件事各有两三招固定解法,学会就够应付 90% 的日常。这篇把 VLOOKUP / XLOOKUP 的匹配、条件格式和 COUNTIF 的对比、LEFT/MID/RIGHT 和分列的提取拆分一次讲全,最后用一个”一列拆三列”的实战串一遍,配练习模板照着做。

适用人群:办公 / 人事 / 财务 / 学生,需要处理表格数据的人

难度:★★☆☆☆

关键词:excel查找对比、excel vlookup、excel xlookup、excel两列对比、excel提取、excel拆分

Excel查找对比与文本提取:VLOOKUP/XLOOKUP实战、两列找差异、一列拆多列明
Excel查找对比与文本提取:VLOOKUP/XLOOKUP实战、两列找差异、一列拆多列

一、按条件查找:VLOOKUP 和 XLOOKUP

最经典的需求:给一个”工号”,从另一张表里把对应的”姓名”取过来。这叫按条件匹配。

VLOOKUP(所有版本通用)

=VLOOKUP(查找值, 查找区域, 返回第几列, 0)

例如在 B2 输入工号,要从 A:D 区域里找它并返回第 2 列的姓名:

=VLOOKUP(B2, A:D, 2, 0)

三个易错点:

  • 查找值必须在区域第一列——VLOOKUP 只能往右找,不能往左。
  • 最后一个参数写 0(精确匹配),写成 1 是模糊匹配,结果容易错。
  • 区域别带表头,或把返回列数按”不含表头”数。

XLOOKUP(Excel 365 / 2021 推荐)

=XLOOKUP(查找值, 查找列, 返回列)

比 VLOOKUP 好用:不要求查找值在第一列、往左往右都行、找不到还能指定提示:

=XLOOKUP(B2, A:A, C:C, "查无此人")

如果你的 Excel 是 365/2021,优先用 XLOOKUP;旧版本(2019 及更早)没有它,就用 VLOOKUP。

VLOOKUP工号匹配示例
VLOOKUP工号匹配示例

二、两列找差异(对比两列数据)

常见需求:A 列是系统名单、B 列是已报名名单,找出”系统里有但没报名的人”。两招:

招式一:条件格式高亮重复/唯一

  1. 选中两列数据区域。
  2. 开始 → 条件格式 → 突出显示单元格规则 → 重复值。
  3. 重复值会标色(=两边都有);想找”只在一边”的,在对话框下拉里选”唯一值”。

招式二:COUNTIF 公式判断(更灵活)

在 C 列写公式,标出 B 列每一项在 A 列有没有:

=IF(COUNTIF(A:A, B2)>0, "有", "没有")

COUNTIF 统计”A 列里等于 B2 的有几个”,大于 0 就是两边都有。想对比两个文件的数据,把公式里的区域改成跨表的 Sheet2!A:A 即可。


三、文本提取:LEFT / MID / RIGHT

处理”一列里混着多段信息”的数据,先记三个函数:

函数 作用 示例
LEFT(文本, n)从左边取 n 个字符=LEFT("张三-1380000", 2) → 张三
RIGHT(文本, n)从右边取 n 个字符=RIGHT("张三-1380000", 8) → 1380000
MID(文本, 起点, n)从中间第起点位取 n 个=MID("身份证号", 7, 8) → 出生日期

配合 FIND(找分隔符位置)就能做”从‘姓名-手机号’里拆出姓名”:

=LEFT(A2, FIND("-", A2)-1)

FIND("-", A2) 找到横杠在第几位,减 1 就是姓名长度——不管名字是两个字还是三个字都适用。


四、智能填充 Ctrl+E:不动公式也能拆

懒得写公式时,Excel 的智能填充是神器(365/2021/2019 都有):

  1. 在拆分结果列,手动输入第一行的期望结果(如”张三”)。
  2. 选中下面要填充的区域。
  3. 按 Ctrl+E——Excel 会照着第一行的规律自动填完。

适合”格式统一、有规律”的拆分(姓名、日期、城市);数据不规律时还是用公式稳。函数记不全也别慌,这份Excel 函数大全按功能分类整理好了,需要哪个随手查。


五、实战:把”工号-姓名-部门”一列拆三列

把 A 列形如 1001-张三-技术部 的数据拆成三列:

  • 工号:=LEFT(A2, FIND("-",A2)-1)
  • 姓名:=MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1)
  • 部门:=RIGHT(A2, LEN(A2)-FIND("-",A2,FIND("-",A2)+1))

嫌公式绕的话,直接上分列:

  1. 选中 A 列 → 数据 → 分列。
  2. 选”分隔符号” → 勾”其他“填 - → 完成。
  3. 一列秒变三列,公式都不用写。
数据拆成三列
数据拆成三列
数据分列结果
数据分列结果

六、FAQ

Q1:VLOOKUP 明明有数据却返回 #N/A?
最常见三个原因:查找值两边有不可见空格(用TRIM清理)、数据类型不一致(文本 vs 数字)、最后一个参数没写0导致模糊匹配。逐一排查即可。
Q2:XLOOKUP 在我的 Excel 里不可用?
XLOOKUP 只在 Microsoft 365 / Excel 2021 及更新版本提供;Excel 2019 及更早版本没有,改用 VLOOKUP 或 INDEX+MATCH。
Q3:两列对比时数字像但类型不同(文本型数字)?
把两边都统一成同类型:乘1转数字(=A2*1),或用 VALUE 函数;也可以分列向导里把文本转数字。类型一致后对比才准。
Q4:拆出来的姓名里有空格怎么办?
套一层 TRIM:=TRIM(LEFT(A2,FIND(“-“,A2)-1)),能去首尾空格;换行符用 CLEAN 清理。

一句话记住

Excel 处理”找和拆”就记三招:按条件匹配用 VLOOKUP/XLOOKUP;两列找差异用条件格式重复值或 COUNTIF;拆一列用 LEFT/MID/RIGHT 公式或直接分列。配 Ctrl+E 智能填充,绝大多数表格活都能半小时干完。

最后更新:2026年10月03日 | 基于 Excel 365 / 2021(WPS 表格函数用法相同)


延伸阅读

版权声明:

相关推荐

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

二维码
手机扫码访问