wps 表格如何实现vlookup高级模糊搜索

一、VLOOKUP 模糊搜索

在 WPS 表格中,可以通过使用 VLOOKUP 函数和通配符来实现高级模糊搜索。这里有一个具体的示例来帮助你理解如何进行这些操作。

示例:实现 VLOOKUP 高级模糊搜索

假设我们有以下数据集:

AB
产品编号产品名称
001苹果
002香蕉
003橙子
004葡萄

我们的目标是使用模糊搜索来查找包含特定关键字的产品名称,并返回相应的产品编号。

步骤

  1. 准备数据
    在一个新的表格中输入上面的数据集。

  2. 使用 VLOOKUP 和通配符
    在你想要显示结果的单元格中使用以下公式:

    =VLOOKUP("*" & 搜索关键字 & "*", A:B, 2, FALSE)
    

    这里的 搜索关键字 是你要查找的字符串,可以在某个单元格中定义。例如,如果你的搜索关键字在 C1 单元格中,那么公式应该写成:

    =VLOOKUP("*" & C1 & "*", A:B, 2, FALSE)
    
  3. 示例
    假设在 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 多样通配符组合实现更多样的匹配

好的,我们可以探索更多样的通配符组合以及它们的应用,以实现更加复杂和灵活的模糊搜索。以下是几种常见的通配符组合及其使用示例:

通配符组合

  1. 单个字符匹配 (?)
  2. 任意字符匹配 (*)
  3. 组合使用 ?*

示例数据集

假设我们有以下数据集:

AB
产品编号产品名称
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 公式:

  1. 在 C1 单元格中输入搜索关键字:
    输入 *果*

  2. 在 D1 单元格中输入查找产品编号的公式:

    =VLOOKUP("*" & C1 & "*", A2:B11, 1, FALSE)
    
  3. 在 E1 单元格中输入查找产品名称的公式:

    =VLOOKUP("*" & C1 & "*", A2:B11, 2, FALSE)
    

这样我们可以同时在 D1 和 E1 单元格中返回包含“果”的产品的编号和名称。

高级应用:处理多个匹配项

为了处理多个匹配项,可以结合 IFERRORSMALL 和数组公式来实现。假设我们希望返回所有包含关键字的产品编号和名称。

在 C1 单元格中输入搜索关键字 *果*,然后在 D2 单元格中输入以下公式:

  1. 查找产品编号:

    =IFERROR(INDEX(A2:A11, SMALL(IF(ISNUMBER(SEARCH(C1, B2:B11)), ROW(B2:B11)-ROW(B2)+1), ROW(1:1))), "")
    
  2. 查找产品名称:

    =IFERROR(INDEX(B2:B11, SMALL(IF(ISNUMBER(SEARCH(C1, B2:B11)), ROW(B2:B11)-ROW(B2)+1), ROW(1:1))), "")
    

然后按 Ctrl + Shift + Enter 将其作为数组公式输入,并向下复制以找到其他匹配项。

三、高级优化和增强模糊搜索功能

好的,我们可以进一步优化和增强模糊搜索功能,以处理更复杂的搜索需求,例如区分大小写、限定特定范围等。此外,我们可以使用其他函数,如 FILTERSORT,来增强数据筛选和排序功能。

高级优化和增强模糊搜索功能

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 函数来实现。

示例:
假设我们的数据集如下:

AB
产品编号产品名称
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)

总结和示例

假设你的工作表如下所示:

AB
产品编号产品名称
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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp实现可拖动悬浮按钮(最新版2024-7月)

此章主要介绍如何使用uniapp跨平台开发,实现悬浮按钮,移动端经常会有所这样的需求,那么功能如下: 1.圆圈悬浮球,上下左右靠边显示 2.可以界面任何拖动,不会超出界面 3.单击悬浮球的点击事件 效果&#xf…

Ubuntu 22.04上编译安装c++ spdlog library

Very fast, header-only/compiled, C logging library. 请以root身份或sudo执行。 1. 安装必需的依赖项: sudo apt-get update sudo apt-get install git g cmake 2. 克隆 spdlog 仓库: cd /opt git clone https://github.com/gabime/spdlog.git …

Resilience4j之RateLimiter和常见限流算法总结

官网地址:https://resilience4j.readme.io/docs/ratelimiter 中文文档:https://resilience4j.readme.io/docs/ratelimiter 【1】概述 Resilience4j提供了一个限流器,它将从epoch开始的所有纳秒划分为多个周期。每个周期的持续时间RateLimi…

【opencv - C++ - Ubuntu】putText 显示中文最快方法

话不多说&#xff0c;直接上代码 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/freetype.hpp>using namespace std; using namespace cv;int main(void) {Mat image(1000, 1800, CV_8UC3, Scalar(200,162,33));Ptr<freetype::F…

银行卡二、三、四要素验证是什么?有什么意义?

银行卡的二、三、四要素验证是银行及金融机构为了确保交易的真实性和安全性&#xff0c;对用户身份进行验证的一系列手段。以下是对这些要素的清晰归纳&#xff1a; 一、银行卡二要素验证 银行卡二要素验证通常包含以下两种组合方式&#xff1a; 姓名卡号&#xff1a;验证用户…

单细胞水平看生存分析相关基因

技能树学徒作业 针对每个癌症的全部基因批量了做了单基因的cox分析&#xff0c;挑选统计学显著的去对应的癌症去打分&#xff0c;看看是否有单细胞亚群特异性。 这题比较常规&#xff0c;但是可以过一遍基础分析的流程。 选择了GSE38832芯片数据用于分析得到cox/logrank显著…

生物墨水与生物打印:一场生物科技的革新?

挤出生物打印 挤出生物打印原理 挤出生物打印利用机械力将生物墨水或生物材料溶液挤出&#xff0c;形成连续的丝状结构&#xff0c;并逐层堆叠构建出三维结构。根据所使用的机械力&#xff0c;挤出生物打印可分为三种类型&#xff1a; 气动式: 利用压缩空气驱动生物墨水或生…

Amazon Bedrock 实践 | 动手玩转 Claude 3

生成式 AI 和大模型在 2024 年已经进入落地实践阶段。因此&#xff0c;围绕开发者在生成式应用程序开发中的主要痛点和需求&#xff0c;我们组织了这个 “Amazon Bedrock 实践” 的系列&#xff0c;希望可以帮助开发者高效地上手生成式 AI 和大模型的应用开发&#xff0c;本篇为…

android super.img解包

一、lpunpack工具编译 mmm system/extras/partition_tools/二、稀疏镜像到非稀疏镜像转换 simg2img super.img super_unsparse.img三、super.img解包 lpunpack super_unsparse.img output 四、拆包结果 ls -l -rw-r--r-- 1 rdx rdx-user size Jan 1 14:36 product_a.img -r…

SMS群发信息API接口安全性有哪些保障方法?

SMS群发信息API接口支持哪些格式&#xff1f;如何使用API接口&#xff1f; SMS群发信息API接口被广泛应用于企业营销、客户服务、身份验证等多个领域。确保SMS群发信息API接口的安全性&#xff0c;已成为企业和开发者们必须重视的问题。AoKSend将探讨几种保障SMS群发信息API接…

GeoServer改造Springboot源码十(样式管理设计)

GeoServer改造Springboot源码一&#xff08;公共部分&#xff09; GeoServer改造Springboot源码二&#xff08;数据源管理设计&#xff09; GeoServer改造Springboot源码三&#xff08;数据源管理代码&#xff09; GeoServer改造Springboot源码四&#xff08;图层管理设计&a…

SQLServer中的函数

一.函数 函数调用格式&#xff1a; select 表名.该表中创建的函数 1.系统函数 系统中自带的函数&#xff0c;比如聚合函数&#xff08;sum等等&#xff09; 2.自定义函数 &#xff08;1&#xff09;.标量值函数&#xff08;只返回单个值&#xff09; 举例&#xff1a;我们…

CNN的小体验

用的pytorch。 训练代码cnn.py&#xff1a; import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms import torch.nn.functional as F# 定义超参数 num_epochs 10 batch_size 100 learning_rat…

使用Python绘制彩虹效果:动态彩虹动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制彩虹函数定义颜色列表主循环 完整代码 引言 彩虹是自然界中最美丽的现象之一。通过编程&#xff0c;我们可以将这一奇妙的景象带到屏幕上。在这篇博客中&#xff0c;我们将使用Python来创建一个…

聊聊 golang 的 map

1、哈希表 哈希表是一个很常见的数据结构&#xff0c;用来存储无序的 key/value 对&#xff0c;给定的 key 可以在 O(1) 时间复杂度内查找、更新或删除对应的 value。 设计一个好的哈希表&#xff0c;需要着重关注两个关键点&#xff1a;哈希函数、冲突处理。 1.1 哈希函数 …

Redis 高级数据结构业务实践

0、前言 本文所有代码可见 > 【gitee code demo】 本文会涉及 hyperloglog 、GEO、bitmap、布隆过滤器的介绍和业务实践 1、HyperLogLog 1.1、功能 基数统计&#xff08;去重&#xff09; 1.2、redis api 命令作用案例PFADD key element [element ...]添加元素到keyPF…

【Linux】systemctl系统和服务管理命令

systemctl 是 systemd 系统和服务管理器的主命令行工具,用于启动、停止、重启、启用、禁用和检查服务状态,以及管理系统状态。systemd 是现代 Linux 发行版中广泛使用的初始化系统(init system),取代了旧的 SysV 和 Upstart 系统。以下是一些常见的 systemctl 命令和用途的…

力扣 用队列实现栈(Java)

核心思想&#xff1a;因为队列都是一端进入另一端出&#xff08;先进先出&#xff0c;后进后出&#xff09;&#xff0c;因此一个队列肯定是不能实现栈的功能的&#xff0c;这里就创建两个队列来模拟栈的先进后出&#xff0c;后进先出。 比如说如果是push操作我们肯定是要弹出栈…

中英双语介绍美国最早的13个殖民地( Thirteen Original Colonies)

中文版 美国最早的十三个殖民地简介 美国最早的十三个殖民地是英格兰在北美洲建立的殖民地&#xff0c;它们后来成为了美国最初的十三个州。这些殖民地是美国历史的重要组成部分&#xff0c;它们在美国革命期间起到了关键作用。以下是对这十三个殖民地的详细介绍&#xff0c;…

STM32自己从零开始实操08:电机电路原理图

一、LC滤波电路 其实以下的滤波都可以叫低通滤波器。 1.1倒 “L” 型 LC 滤波电路 1.1.1定性分析 1.1.2仿真实验 电感&#xff1a;通低频阻高频的。仿真中高频信号通过电感&#xff0c;因为电感会阻止电流发生变化&#xff0c;故说阻止高频信号 电容&#xff1a;隔直通交。…