wps 表格如何实现vlookup高级模糊搜索
一、VLOOKUP 模糊搜索
在 WPS 表格中,可以通过使用 VLOOKUP 函数和通配符来实现高级模糊搜索。这里有一个具体的示例来帮助你理解如何进行这些操作。
示例:实现 VLOOKUP 高级模糊搜索
假设我们有以下数据集:
| A | B |
|---|---|
| 产品编号 | 产品名称 |
| 001 | 苹果 |
| 002 | 香蕉 |
| 003 | 橙子 |
| 004 | 葡萄 |
我们的目标是使用模糊搜索来查找包含特定关键字的产品名称,并返回相应的产品编号。
步骤
-
准备数据:
在一个新的表格中输入上面的数据集。 -
使用 VLOOKUP 和通配符:
在你想要显示结果的单元格中使用以下公式:=VLOOKUP("*" & 搜索关键字 & "*", A:B, 2, FALSE)这里的
搜索关键字是你要查找的字符串,可以在某个单元格中定义。例如,如果你的搜索关键字在 C1 单元格中,那么公式应该写成:=VLOOKUP("*" & C1 & "*", A:B, 2, FALSE) -
示例:
假设在 C1 中输入 “苹果”,那么在 D1 单元格中输入以下公式:=VLOOKUP("*" & C1 & "*", A:B, 2, FALSE)这个公式会查找包含 “苹果” 的产品名称,并返回对应的产品编号。如果存在多个匹配项,
VLOOKUP只会返回第一个匹配项。
进一步说明
-
通配符使用:
*代表任意数量的字符。例如,"*苹果*"会匹配任何包含 “苹果” 的字符串。?代表任意单个字符。例如,"苹果?"会匹配 “苹果1”、“苹果a” 等字符串。
-
数据范围:
确保VLOOKUP函数中的数据范围正确,并且范围中的第一列是要查找的列。
完整示例
假设你的表格如下:
A B
1 产品编号 产品名称
2 001 苹果
3 002 香蕉
4 003 橙子
5 004 葡萄
并且你在 C1 单元格中输入 “果”,在 D1 单元格中输入以下公式:
=VLOOKUP("*" & C1 & "*", B2:B5, 1, FALSE)
效果
这个公式会查找包含 “果” 的所有产品名称,并返回相应的产品编号。例如,对于输入 “果”,会匹配 “苹果”、“香蕉”、“橙子” 和 “葡萄”,并返回相应的产品编号。
二、VLOOKUP 多样通配符组合实现更多样的匹配
好的,我们可以探索更多样的通配符组合以及它们的应用,以实现更加复杂和灵活的模糊搜索。以下是几种常见的通配符组合及其使用示例:
通配符组合
- 单个字符匹配 (
?) - 任意字符匹配 (
*) - 组合使用
?和*
示例数据集
假设我们有以下数据集:
| A | B |
|---|---|
| 产品编号 | 产品名称 |
| 001 | 苹果 |
| 002 | 香蕉 |
| 003 | 橙子 |
| 004 | 葡萄 |
| 005 | 苹果汁 |
| 006 | 香蕉奶昔 |
| 007 | 草莓 |
| 008 | 蓝莓 |
| 009 | 西瓜 |
| 010 | 甜瓜 |
使用单个字符匹配 (?)
? 代表任意单个字符。例如,我们要查找产品名称中第三个字符是 “果” 的产品。
在 C1 单元格中输入搜索模式 ??果,然后在 D1 单元格中输入以下公式:
=VLOOKUP(C1, B2:B11, 1, FALSE)
在这种情况下,VLOOKUP 会查找所有名称中第三个字符是“果”的产品。
使用任意字符匹配 (*)
* 代表任意数量的字符。例如,我们要查找所有包含“果”的产品。
在 C1 单元格中输入搜索模式 *果*,然后在 D1 单元格中输入以下公式:
=VLOOKUP(C1, B2:B11, 1, FALSE)
这个公式会查找所有包含“果”的产品名称。
组合使用 ? 和 *
可以组合使用 ? 和 * 以实现更加复杂的模式匹配。例如,我们要查找以“苹”开头且包含“汁”的产品。
在 C1 单元格中输入搜索模式 苹*汁,然后在 D1 单元格中输入以下公式:
=VLOOKUP(C1, B2:B11, 1, FALSE)
这个公式会查找以“苹”开头且包含“汁”的产品名称。
更复杂的示例
假设我们要查找所有以“苹”开头并且第三个字符是“汁”的产品。
在 C1 单元格中输入搜索模式 苹?汁*,然后在 D1 单元格中输入以下公式:
=VLOOKUP(C1, B2:B11, 1, FALSE)
结合返回产品编号和名称
在进行通配符模糊搜索时,我们通常还希望返回对应的产品编号和名称。可以在 D1 和 E1 单元格中分别输入两个 VLOOKUP 公式:
-
在 C1 单元格中输入搜索关键字:
输入*果*。 -
在 D1 单元格中输入查找产品编号的公式:
=VLOOKUP("*" & C1 & "*", A2:B11, 1, FALSE) -
在 E1 单元格中输入查找产品名称的公式:
=VLOOKUP("*" & C1 & "*", A2:B11, 2, FALSE)
这样我们可以同时在 D1 和 E1 单元格中返回包含“果”的产品的编号和名称。
高级应用:处理多个匹配项
为了处理多个匹配项,可以结合 IFERROR、SMALL 和数组公式来实现。假设我们希望返回所有包含关键字的产品编号和名称。
在 C1 单元格中输入搜索关键字 *果*,然后在 D2 单元格中输入以下公式:
-
查找产品编号:
=IFERROR(INDEX(A2:A11, SMALL(IF(ISNUMBER(SEARCH(C1, B2:B11)), ROW(B2:B11)-ROW(B2)+1), ROW(1:1))), "") -
查找产品名称:
=IFERROR(INDEX(B2:B11, SMALL(IF(ISNUMBER(SEARCH(C1, B2:B11)), ROW(B2:B11)-ROW(B2)+1), ROW(1:1))), "")
然后按 Ctrl + Shift + Enter 将其作为数组公式输入,并向下复制以找到其他匹配项。
三、高级优化和增强模糊搜索功能
好的,我们可以进一步优化和增强模糊搜索功能,以处理更复杂的搜索需求,例如区分大小写、限定特定范围等。此外,我们可以使用其他函数,如 FILTER 和 SORT,来增强数据筛选和排序功能。
高级优化和增强模糊搜索功能
1. 区分大小写的模糊搜索
默认情况下,SEARCH 函数不区分大小写。如果我们需要区分大小写,可以使用 FIND 函数替代 SEARCH。
示例公式:
=INDEX(A:A, MATCH(TRUE, ISNUMBER(FIND(C1, B:B)), 0))
使用 FIND 函数代替 SEARCH 函数,可以实现区分大小写的模糊搜索。
2. 限定特定范围的搜索
如果我们只想在特定范围内进行搜索,可以将范围限定在公式中。
示例:
假设我们只想在 B2:B6 范围内进行搜索,可以使用以下公式:
=INDEX(A2:A6, MATCH(TRUE, ISNUMBER(SEARCH(C1, B2:B6)), 0))
3. 使用 FILTER 函数进行高级筛选
如果需要返回所有匹配结果而不仅仅是第一个匹配项,可以使用 FILTER 函数来实现。
示例:
假设我们的数据集如下:
| A | B |
|---|---|
| 产品编号 | 产品名称 |
| 001 | 苹果 |
| 002 | 香蕉 |
| 003 | 橙子 |
| 004 | 葡萄 |
| 005 | 苹果汁 |
| 006 | 香蕉奶昔 |
我们想查找所有包含关键字的产品,可以使用以下公式:
=FILTER(A2:B7, ISNUMBER(SEARCH(C1, B2:B7)))
这个公式将返回所有包含关键字的产品及其编号。
4. 使用 SORT 函数进行排序
为了对搜索结果进行排序,可以将 FILTER 函数的结果传递给 SORT 函数。
示例:
将上一步的结果按产品编号排序,可以使用以下公式:
=SORT(FILTER(A2:B7, ISNUMBER(SEARCH(C1, B2:B7))), 1, TRUE)
总结和示例
假设你的工作表如下所示:
| A | B |
|---|---|
| 产品编号 | 产品名称 |
| 001 | 苹果 |
| 002 | 香蕉 |
| 003 | 橙子 |
| 004 | 葡萄 |
| 005 | 苹果汁 |
| 006 | 香蕉奶昔 |
并且你在 C1 单元格中输入了搜索关键字 “苹果”。
区分大小写的模糊搜索:
=INDEX(A:A, MATCH(TRUE, ISNUMBER(FIND(C1, B:B)), 0))
限定特定范围的搜索:
=INDEX(A2:A6, MATCH(TRUE, ISNUMBER(SEARCH(C1, B2:B6)), 0))
使用 FILTER 函数返回所有匹配结果:
=FILTER(A2:B7, ISNUMBER(SEARCH(C1, B2:B7)))
使用 SORT 函数对搜索结果进行排序:
=SORT(FILTER(A2:B7, ISNUMBER(SEARCH(C1, B2:B7))), 1, TRUE)
相关文章:
wps 表格如何实现vlookup高级模糊搜索
一、VLOOKUP 模糊搜索 在 WPS 表格中,可以通过使用 VLOOKUP 函数和通配符来实现高级模糊搜索。这里有一个具体的示例来帮助你理解如何进行这些操作。 示例:实现 VLOOKUP 高级模糊搜索 假设我们有以下数据集: AB产品编号产品名称001苹果00…...
第一天(点亮led灯+led灯闪烁)——Arduino uno R3 学习之旅
常识: 一般智能手机的额定工作电流大约为200mA Arduino Uno板上I/0(输入/输出)引脚最大输出电流为40 mA Uno板控制器总的输出电流为200 mA 点亮LED灯 发光二极管介绍 发光二极管(Light Emitting Diode,简称LED)是一种能够将电能转化为光能的固态的半导体器件…...
【C++题解】1561. 买木头
问题:1561. 买木头 类型:省赛、数组问题、二分答案、贪心、2015江苏省青少年信息学奥林匹克竞赛复赛 题目描述: 有 n 个木材供应商,每个供货商有长度相同一定数量的木头。长木头可以锯短,但短木头不能接长。有一个客…...
解决android native包webview,webview中的请求blocked by CORS policy
在stack overflow查,差不多查到的都是些webView.getSettings().setxxx,没用。在github上找别的类似的android native包webview运行pwa的项目,把它们的webView.getSettings().setxxx全搬过来,写了有一页多,一个有用的都…...
链篦机回转窑球团生产工艺
生球在回转窑氧化焙烧,回转窑头部设有燃烧器,燃料可以采用气体、固体、液体。 来自环冷机一冷却段的高温废气作为二次风进入窑内参与燃烧,烧成成品球进入环冷机。 环冷机采用鼓风冷却,热风风箱分为四段: 一段气体引至…...
查看电脑ip地址快捷键是什么?是哪个
在网络世界中,IP地址是每个网络设备的唯一标识,无论是我们的电脑、手机还是其他联网设备,都需要一个独特的IP地址来进行通讯。在日常生活和工作中,我们有时需要查看电脑的IP地址,以便进行网络设置、故障排查或远程连接…...
面试专区|【54道Spring Cloud高频题整理(附答案背诵版)】
什么是Spring Cloud? Spring Cloud是一个基于Spring Boot的开源框架,它提供了在分布式系统中集成各种服务治理功能的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态等。其主要目…...
Shopee(虾皮)怎么获取流量?
店铺流量的高低会直接关联到卖家店铺单量,也关系到一个店铺的营业情况和利润,那么Shopee的流量从哪里来呢? Shopee的平台流量可分为五个部分: 1.自然流量 2.关键字广告流量 3.平台活动流量 4.营销流量 5.粉丝流量 怎么提升…...
Java启动虚拟机默认字符集编码
-Dfile.encodingUTF-8 java程序启动默认字符集编码参数 // 这里会创建一个Charset.defaultCharset().name()的流,在Windows命令行窗口启动,会出现字符编码为GBK的情况 // 导致乱码输入、输出都会有影响 // 解决办法流的读取指定编码new InputStreamRead…...
【单片机编程模式】状态机编程
状态机编程是一种编程模式,它基于有限状态机(Finite State Machine,简称FSM)的概念。以下是状态机编程的清晰解释,分点表示和归纳: 基本概念: 状态机是一个有向图形,由一组节点&…...
IPSS模块怎么安装到VOS服务器的,到底有没有效果,是不是能大幅度提升VOS3000安全性呢
由于VOS的普及性,不得不承认VOS确实是非常优秀的软交换,但是很多客户在使用过程中都会遇到各种安全问题,比如话费被盗用了,历史话单一堆的非法呼叫话单,严重的影响到了话务安全,并不是那点话费的事了&#…...
C++ STL容器:序列式容器-堆pirority_queue
摘要: CC STL(Standard Template Library,标准模板库)在C编程中的重要性不容忽视,STL提供了一系列容器、迭代器、算法和函数对象,这些组件极大地提高了C程序的开发效率和代码质量。 STL 容器 分为 2 大类 …...
ECharts在最新版本中使用getInstanceByDom报错处理
引用问题导致报错 如果按如下引用的话,会报错 import echarts from “echarts/lib/echarts”; 原因 在 ECharts 的之前版本中,默认导出了一个名为 echarts 的对象,所以使用 import echarts from “echarts” 是没有问题的。但是在 ECharts …...
利用C语言实现三子棋游戏
文章目录 1.游戏界面2.游戏内容2.1 棋盘类型2.2棋盘的初始化2.3 打印棋盘的界面展示 3.游戏操作3.1 玩家操作3.2 电脑操作3.3 胜负判定 4.代码整合 1.游戏界面 无论写任何程序,我们都需要先去了解它的大概框架,这里我们先把它的初始界面写出来。一个游戏…...
大学教师门诊预约小程序-计算机毕业设计源码73068
摘要 在当今数字化、信息化的浪潮中,大学校园的服务管理正朝着智能化、便捷化的方向迈进。为了优化大学教师的医疗体验,提升门诊预约的效率和便捷性,我们基于Spring Boot框架设计并实现了一款大学教师门诊预约小程序。该小程序不仅提供了传统…...
Python PyCryptodome库介绍与实例
Python PyCryptodome库介绍与实例 1. 安装2. 基本概念3. 使用场景和示例代码3.1 对称加密 - AES3.2 非对称加密 - RSA3.3 哈希函数 - SHA2563.4 消息认证码 - HMAC 4. 总结 PyCryptodome是一个强大的Python加密库,提供了各种加密算法和工具。本文将介绍PyCryptodome的基本概念和…...
《框架封装者 · 自定义初始化事件》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
ActiViz实战:使用vtkImageClip和vtkImageActor根据滑动条来显示当前图像数据切面
文章目录 一、效果预览二、代码实现三、源码地址一、效果预览 ActiViz实现图像数据切面显示 二、代码实现 public partial class Form1 : Form {private vtkRenderWindowInteractor _interactor;private vtkRenderer _renderer...
【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation
原文链接:https://arxiv.org/abs/2403.11761 0. 概述 本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型,如图所示。模型的图像分支利用可变形注意力,将图像特征提升到BEV空间中,其中雷达数据用于初始化查询…...
圆通寄15kg30kg一般多少钱?寄大件物品怎么寄最便宜?
作为一名即将毕业的大学生,搬家成了我和室友们共同的难题。尤其是在寄送大件物品时,如何省钱、如何打包、选择哪家快递公司等问题让我们头疼不已。今天,我就来分享一些寄大件物品的省钱技巧以及打包方法,希望对大家有所帮助。 一…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
