EXCEL进行模糊匹配(模拟查找功能)

模糊匹配,可以根据多个条件进行模糊匹配,filter函数可以匹配其他函数进行实现,比如下面这个公式,假设你在A列中有公司名称,在B列有其他信息,你想要找出包含“丽景”的所有公司名称和对应的信息。

=FILTER(A:B, ISNUMBER(SEARCH("丽景", A:A)))

这个公式会返回A列和B列中所有包含“丽景”的数据行

下面将这个公式分开解析一下

1、search函数的语法格式

SEARCH函数是Excel中常用的文本查找函数,它可以返回查找指定的文本字符在某个字符串中的位置。它的语法结构是=SEARCH(find_text,within_text,[start_num])

=search(find_text,within_text,start_num)

=search(要查找的字符,字符所在的文本,从第几个字符开始查找)

第三个参数可以省略(默认从第一个开始查找)。

注意问题:

1、函数不区分大小写(这也是SEARCH函数和FIND函数的区别,find函数区分大小写)

2、可以使用通配符问号?和星号* 。 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)(find函数不可以使用通配符)

3、如果第2参数中没有包含第1参数,则结果会返回错误值 #VALUE!。如果开始查找的位置小于等于0或者大于第2参数文本的字符个数,SEARCH的结果也会返回错误值 #VALUE!。

具体实例可以看这个贴子

Excel中SEARCH函数的使用方法_search excel-CSDN博客

2、ISNUMBER函数的公式:ISNUMBER(value)

该函数检测参数是否为数值型数字(纯数字),是则返回TRUE(真),否则返回FALSE(假)。

参数:value是判断对象,可为数字串,可为指定单元格的值,也可引用文本形式字符串,若value为纯数字串则返回TRUE,否则返回FALSE。

详细可以参考这篇文章

Excel的ISNUMBER函数及其用法-CSDN博客

3、FILTER

filter(查询区域,条件,查不到结果返回的值)

注意条件是布尔表达式,这个条件为true,filter才返回结果,否则查不到结果。

一、单条件查询,返回多行多列记录

我们要查询“苹果”这个水果,使用公式:

=FILTER(A2:E14,D2:D14=“苹果”,"")

A2:E14为数据区域,D2:D14=H1orD2:D14=“苹果”,为查询条件,第三参数“”为查不到值返回空

二、多条件查询,或者(or)关系,返回多行多列

=FILTER(A2:E14,(D2:D14=H1)+(A2:A14=H2),"")
(D2:D14=H1)+(A2:A14=H2)这个参数是两个布尔表达式相加,但任意一个成立,结果就返回1,如果没有一个成立,结果返回0,所以用+连接。

三、多条件查询,并且(and)关系,返回多行多列

=FILTER(A2:E14,(D2:D14=H1)*(A2:A14=H2),"")
查询某个水果品种和地区的数据,(D2:D14=H1)*(A2:A14=H2),这是两个布尔表达式,如果都成立,结果为1,如果有一个不成立,结果返回0

四、查询一列在另外一列中不存在的数据

=FILTER(B2:B14,COUNTIF(D2:D6,B2:B14)=0,"")
COUNTIF(D2:D6,B2:B14)=0,是判断名单中不存在的,这样组合就查询到了未签到的人员。

五、在有重复值的列中提取唯一值

=UNIQUE(FILTER(D2:D14,A2:A14=G2,""))
先使用filter获取查询值,然后unique提取唯一的记录。

六、实现逆向查询

=FILTER(B2:B14,C2:C14=G2,"")

具体可以参考这个帖子

Excel函数 - Filter函数六种查询用法_filter可以查找部分行内容吗-CSDN博客

### 如何利用 Excel 进行数据分析 #### 数据分析的基础视角 Excel 是一种强大的电子表格软件,广泛应用于各种场景的数据处理和分析。从两个主要角度来看待如何用 Excel 进行数据分析:一是基于 Excel功能特性;二是结合数据分析的需求来实现具体目标[^1]。 #### 使用函数进行数据查询与匹配 对于复杂的数据集,`VLOOKUP` 函数是一种非常有效的工具,用于在一个较大的数据集中查找特定值并返回关联的信息。例如,在给定的表达式 `VLOOKUP(?,'拌客源数据1-8月'!D:E,2,FALSE)` 中,“?”代表需要查找的目标单元格位置,而 `'拌客源数据1-8月'!D:E` 则表示要搜索的区域范围。此函数能够精确地定位到指定列中的对应值,并将其作为结果返回[^2]。 另外值得注意的是,除了精准匹配外,还可以设置条件来进行近似或者部分字符串匹配即所谓的“模糊查询”。这极大地增强了灵活性,使得即使当确切条目不存在时也能得到合理的结果估计。 #### 创建交互式的汇总报表—数据透视表的应用 为了更直观高效地展示多维度的大规模原始记录信息,可以借助于内置的功能组件——数据透视表。其创建过程简单明了:只需选定任意空白处的一个单元格之后依次执行菜单命令:“插入 -> 数据透视表”,随后按照向导指引完成配置选项即可自动生成一个新的工作簿页面专门用来承载这些统计图表等内容物[^3]。用户仅需通过简单的拖拽动作就能轻松定制所需的布局样式以及计算方法等细节参数设定。 #### 高级统计分析支持 — 加载插件扩展能力 针对更加深入专业的数理运算需求,则可能需要用到额外附加模块比如 “Analysis ToolPak” (中文译名为‘分析工具包’) 。该套件提供了诸如回归分析、方差检验等一系列高级算法模型供调用实施科学研究项目当中常见的假设验证流程等等任务类型。不过在此之前先得确认本机环境里已经预装好这个可选附件才行; 若发现缺失则依照提示说明重新下载安装相应版本文件资源链接地址[^4]。 ```python # 示例 Python 脚本模拟 VLOOKUP 功能 def vlookup(search_key, table_array, col_index_num, range_lookup=False): result = None for row in table_array: if not range_lookup and search_key == row[0]: result = row[col_index_num - 1] break elif range_lookup and search_key >= row[0]: result = row[col_index_num - 1] return result or 'N/A' data = [['A', 1], ['B', 2], ['C', 3]] print(vlookup('B', data, 2)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值