系统之家官网_Win11系统_Win10系统_Windows7旗舰版_最新GhostXP Sp3系统下载

当前位置:首页>>系统教程>>软件教程

比 VLOOKUP 更好用,Excel 关键词查找函数

时间:2024-05-12 14:39:02    来源:系统之家下载网    人气:1

前几日,一位职场 Exceller 提出了一个很接地气的实战问题:

老师,下面这个表,能否不通过辅助列,直接设置公式按门店名称关键字,查询对应销售额?

F2 单元格公式:

=LOOKUP(1,0/(MID(E2,FIND("/"E2)+1,LEN(E2)-FIND("/"E2))=$C$2$C$6)$B$2$B$6)

C2 单元格辅助公式

=MID(A2,FIND("(",A2)+1,FIND(")",A2)-FIND("(",A2)-1)

不得不说,这位小伙伴在 Excel 公式使用方面还是很有料的,通过辅助列来简化公式,观察规律并使用正确的函数。

有丰富的函数基础知识储备,还会使用 LOOKUP 两分法,相信这位小伙伴已是妥妥的职场 Excel 达人了。

但当前公式仍有优化空间。比如,F2 单元格公式从 E2 单元格提取店名时,使用 LEN (E2)-FIND ("/",E2) 来获取店名长度是没有必要的。

因为 E2 文本中,店名后并无其他内容,只需使用一个较大的数作为 MID 的第三个参数,比如数字 10,就能够完整提取店名。

F2 单元格公式-简单优化:

=LOOKUP(1,0/(MID(E2,FIND("/"E2)+1,10)=$C$2$C$6)$B$2$B$6)

言归正传。不通过辅助列解决这一关键字查询问题,方法有很多。接下来,小花就分享其中的四个不同公式。

还是遵循提问者的思路,从 E 列中提取关键字 —— 店名,然后使用 LOOKUP 的两分法来查询目标值。只是,我们不仅需要使用 FIND 函数来提取店名,更需要用它完成模糊匹配

1、正向查询

=LOOKUP(1,0/FIND(MID(E2,FIND("/"E2)+1,10)$A$2$A$6)$B$2$B$6)

公式说明:

① MID(E2,FIND("/",E2)+1,10)

显然,门店简称中,"/" 后即为店名。使用 FIND 查找出 "/" 在 E2 文本中的位置,+1 即为店名文本首个字符的位置,再使用 MID 函数提取店名即可。

② 0/FIND(①,$A$2:$A$6)

再次使用 FIND 函数,分别在 A2:A6 单元格查找店名文本出现的位置。如果单元格文本存在该店名文本,则返回代表初始位置的数值,否则返回错误值#VALUE!,即得到数组 {11;#VALUE!;#VALUE!;#VALUE!;#VALUE!}。

0 除以该数组,得到 {0;#VALUE!;#VALUE!;#VALUE!;#VALUE!}。

特别需要强调的是,LOOKUP 的两分法在构建第二个参数时,所有非零的数都表示满足查询条件,所有的零值和错误值都表示不满足条件,并不要求除数总是一组逻辑值或 0/1 的组合。

③ LOOKUP(1,②,$B$2:$B$6)

经典的 LOOKUP 两分法,忽略错误值,查询小于且最接近于目标值 1 的最后一个有效值,从结果区域返回其相应位置的值。

此处除②中 FIND 函数返回有效数值的位置外,其余均为错误,因此,A2:A6 中包含目标店名的单元格 A2 在 B2:B6 的对应位置 B2 的值 46,即为返回值。

当然了,如果目标店名很容易提取,使用 VLOOKUP 和通配符来解决问题也是非常方便的。

2、模糊查询

=VLOOKUP("*"&MID(E2,FIND("/"E2)+1,10)&"*"$A$2$B$6,2,0)

同时,由于查询结果为数值且唯一,使用 SUMIF 进行条件求和也有异曲同工之妙。

3、求和查询

=SUMIF(A:A"*"&MID(E2,FIND("/"E2)+1,10)&"*"B:B)

但有些时候,从 E 列单元格提取目标店名并不容易。比如下图,E 列并不存在明显店名标识特征,不方便提取店名,而在 A 列提取店名显然更容易。

此时,我们需要在优化公式 1 的基础上稍加变通,从 A 列提取店名,对 E 列进行反向查询。

4、反向查询

=LOOKUP(1,0/FIND(MID($A$2$A$6,FIND("("$A$2$A$6)+1,10)E2&")")$B$2$B$6)

公式说明:

① MID ($A$2:$A$6,FIND ("(",$A$2:$A$6)+1,10) 将 A2:A6 单元格中的店名都提取出来。

FIND (①,E2&")") 查找这些店名是否存在于 E2 单元格中,由于片段①提取的店名时没有去除最后的右括号 ")",于是需使用 E2&")" 作为匹配文本,这点需格外留意。

最后,LOOKUP 两分法照方抓药,解决问题。

以上,就是小花分享的关键字查询实战案例,解决方法包含如下几种:

使用 FIND 在多个单元格中匹配目标文本的 LOOKUP 正向查询公式;

VLOOKUP 与通配符组成的模糊查询公式;

SUMIF 求和实现对唯一数值的查询作用;

使用 FIND 将多个文本匹配目标单元格的 LOOKUP 反向查询公式。

上述公式你学会了吗?如果你也在实际工作中遇到难以解决的公式问题,欢迎留言与我们探讨!

本文来自微信公众号:秋叶 Excel (ID:excel100),作者:小花

标签

相关文章

  • Excel 5 个办公必备函数组合,助力效率提升

    Excel 5 个办公必备函数组合,助力效率提升

    锵锵~ 大家好哇!我是卫星酱~ 上周我们整理了 5 个工作中常用的函数组合,小伙伴们有没有用上呢? 这次,卫某我又来分享函数组合了,继续给咱们打工人的办公提效添砖加瓦~...
    2024-06-19
  • 如何在表格中用正则函数巧妙处理字符串

    如何在表格中用正则函数巧妙处理字符串

    大家好,我是啥都会一点点的小爽~ 说到处理字符串的判断函数,大家会想到哪些?...
    2024-06-19
  • 用 Excel 做出美观实用的折线图

    用 Excel 做出美观实用的折线图

    Hi~ 大家好,我是和 Excel「相爱相杀」的小兰~ 又到了和小兰一起 唠嗑 学习 Excel 的时间了,先问大家一个问题,你认为 Excel 中常见的图表有哪些?...
    2024-06-19
  • 如何制作美观的桑基图

    如何制作美观的桑基图

    锵锵!大家好哇~ 我是好久没做图表的卫星酱! 先给大家看张图:是不是十分炫酷呢? 它叫桑基图,能够清晰地展示出数据的主要流动路径和数量变化。...
    2024-06-19

软件教程排行榜

更多>>

win11系统排行榜

更多>>

系统教程排行榜

更多>>

公众号