夜雨聆风学习资料网

ARTICLE · 1309903

Excel查数据,这5个公式不会真不行

Excel查数据,这5个公式不会真不行

小伙伴们好啊,今天咱们来聊聊Excel里那些超实用的数据查询函数。说起查数据,很多人第一反应就是VLOOKUP,但其实还有好几个函数各有绝活,用对了场景效率能翻好几倍。下面一个个来说,每个场景我都配了可以直接复制的表格数据,照着搭一遍就能上手。

VLOOKUP:最经典的纵向查找

VLOOKUP的思路是:在数据区域的最左列里找到目标内容,然后返回这一行中右侧某一列的值。语法是:

VLOOKUP(找什么,查找区域,返回第几列,[匹配方式])

先搭一份对照表,把下面这块数据复制到B1:G8区域(B1是表头“省份”):

省份
城市1
省会
城市3
城市4
城市5
江苏
南京
南京
苏州
无锡
常州
浙江
杭州
杭州
宁波
温州
绍兴
广东
广州
广州
深圳
珠海
佛山
山东
济南
济南
青岛
烟台
潍坊
河南
郑州
郑州
洛阳
开封
新乡
四川
成都
成都
绵阳
德阳
宜宾
湖北
武汉
武汉
宜昌
襄阳
荆州

然后在I3单元格输入“江苏”,公式这样写:

=VLOOKUP(I3,B2:G8,3,0)

意思是在B2:G8的首列里找“江苏”,找到后返回该区域第3列的内容(也就是C列的省会)。最后那个0代表精确匹配。把I3改成“四川”,结果会自动变成“成都”。

不过VLOOKUP有个局限——它只能从左往右查。要是想从上往下查,就得请出HLOOKUP了。

HLOOKUP:横向查找的好手

HLOOKUP的语法和VLOOKUP几乎一样,区别只在于查找方向:VLOOKUP在纵向区域里找,HLOOKUP在横向区域里找。

在1到3行搭一份横向成绩表,把下面数据复制到A1:D3:

姓名
池海东
王晓丽
赵明
科目
语文
数学
英语
成绩
92
88
95

(第一行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是“姓名”):

准考证号
姓名
2024001
张伟
2024002
李娜
2024003
王芳
2024004
刘洋
2024005
陈静
2024006
杨帆
2024007
赵磊
2024008
孙悦
2024009
周涛

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“年龄”):

姓名
部门
岗位
年龄
张伟
生产部
操作工
28
李娜
销售部
销售员
32
王芳
生产部
质检员
35
刘洋
人事部
专员
26
陈静
生产部
班组长
41
杨帆
市场部
策划
29
赵磊
生产部
操作工
33
孙悦
客服部
客服
27
周涛
生产部
设备维护
38
吴敏
行政部
主管
45

示例一:要提取“生产部”的所有人员姓名,在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里练手,建议大家照着搭一遍,熟练了之后数据处理效率真的会不一样。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料