ARTICLE · 1309903
Excel查数据,这5个公式不会真不行
小伙伴们好啊,今天咱们来聊聊Excel里那些超实用的数据查询函数。说起查数据,很多人第一反应就是VLOOKUP,但其实还有好几个函数各有绝活,用对了场景效率能翻好几倍。下面一个个来说,每个场景我都配了可以直接复制的表格数据,照着搭一遍就能上手。
VLOOKUP:最经典的纵向查找
VLOOKUP的思路是:在数据区域的最左列里找到目标内容,然后返回这一行中右侧某一列的值。语法是:
VLOOKUP(找什么,查找区域,返回第几列,[匹配方式])
先搭一份对照表,把下面这块数据复制到B1:G8区域(B1是表头“省份”):
然后在I3单元格输入“江苏”,公式这样写:
=VLOOKUP(I3,B2:G8,3,0)

意思是在B2:G8的首列里找“江苏”,找到后返回该区域第3列的内容(也就是C列的省会)。最后那个0代表精确匹配。把I3改成“四川”,结果会自动变成“成都”。
不过VLOOKUP有个局限——它只能从左往右查。要是想从上往下查,就得请出HLOOKUP了。
HLOOKUP:横向查找的好手
HLOOKUP的语法和VLOOKUP几乎一样,区别只在于查找方向:VLOOKUP在纵向区域里找,HLOOKUP在横向区域里找。
在1到3行搭一份横向成绩表,把下面数据复制到A1:D3:
(第一行A1放“姓名”,B1到D1是三个人名;第二行A2放“科目”,B2到D2是三科;第三行A3放“成绩”,B3到D3是分数。)
B5单元格输入“池海东”,公式是:
=HLOOKUP(B5,1:3,3,FALSE)

1:3表示引用第1到第3整行。公式的含义是在这个区域的首行里找到“池海东”,然后返回第3行对应的信息,也就是92。FALSE同样表示精确匹配。把B5换成“赵明”,结果就是95。
LOOKUP:任意方向都能查
LOOKUP的好处是不挑方向,纵的横的都行。它的套路化写法是:
=LOOKUP(1,0/(区域=条件),要返回的行或列)
如果有多个条件,就这样写:
=LOOKUP(1,0/(区域1=条件1)/(区域2=条件2),要返回的行或列)
搭一份准考证号表,把下面数据复制到B1:C10(B1是“准考证号”,C1是“姓名”):
H2单元格输入“陈静”,公式为:
=LOOKUP(1,0/(C2:C10=H2),B2:B10)

它会在C2:C10里找到“陈静”,然后返回B列同位置的准考证号2024005。换成“周涛”,结果就是2024009。
XLOOKUP:新一代查询利器
XLOOKUP的常用写法是:
=XLOOKUP(查找值,查找范围,结果范围,[容错值],[匹配方式],[查询模式])
前三个参数必填,后面的可以省略。
搭一份部门负责人表,把下面数据复制到A1:B11(A1是“部门”,B1是“负责人”):
G1单元格输入“技术部”,公式是:
=XLOOKUP(G1,A2:A11,B2:B11)

第一参数是要查的内容,第二参数是在哪一列里查,第三参数是返回哪一列的值。结果会返回“陈静”。
XLOOKUP最方便的地方在于查找区域和返回区域是分开的两个参数,所以完全不用管方向问题。想反向查,把公式改成:
=XLOOKUP(G1,B2:B11,A2:A11)
它会在B列里找“技术部”,然后返回A列对应的部门名——还是“技术部”。实际用的时候,你可以把G1换成某个负责人姓名,比如“陈静”,公式就会返回她所在的部门。
FILTER:一次筛出所有符合的项
FILTER的作用是把符合条件的记录全部筛出来,常用写法:
=FILTER(筛选区域,条件,[容错值])
搭一份员工信息表,把下面数据复制到A1:D11(A1“姓名”、B1“部门”、C1“岗位”、D1“年龄”):
示例一:要提取“生产部”的所有人员姓名,在E2输入:
=FILTER(A2:C11,B2:B11="生产部")
回车后结果会自动溢出到相邻单元格,筛出张伟、王芳、陈静、赵磊、周涛这5条记录。这里A2:C11是筛选区域,B2:B11="生产部"是条件。

示例二:要提取“生产部”且年龄大于30岁的所有记录,在F2输入:
=FILTER(A2:C11,(B2:B11="生产部")*(D2:D11>30))

两个条件分别对比,得到两组TRUE/FALSE组成的数组,再逐元素相乘——两个条件都满足时结果为1,否则为0。最终筛出王芳(35)、陈静(41)、赵磊(33)、周涛(38)这几条。
小提示:如果把两个条件之间的乘号换成加号,筛出来的就是满足其中任意一个条件的结果,比如“生产部”或者“年龄大于30岁”的人都会出现。
好了,今天这几个查询函数就聊到这儿。VLOOKUP和HLOOKUP适合常规的单向查找,LOOKUP灵活但需要记套路,XLOOKUP功能最全面(前提是版本支持),FILTER则专攻多结果筛选。每份表格数据都可以直接复制到Excel里练手,建议大家照着搭一遍,熟练了之后数据处理效率真的会不一样。















































































