快速多列查找匹配关键字

实例需求:根据第一列专业名称,在“专业分类指导目录”中,针对三个学历层次(研究生、本科生、专科生)分别查找对应专业类别,填写在对应位置,即截图中的黄色区域。

在这里插入图片描述

需要注意如下两点:

  • “专业分类指导目录”中分隔符不统一,例如下图中红框内的部分,前两个分隔符为半角逗号,后两个分隔符为全角逗号。
  • 有些专业名称可能包含在另一个专业名称中,例如:“兽医”是一个单独的专业,同时也出现在“基础兽医学”,“兽医医药”等专业中,在查找时需要精确匹配。

在这里插入图片描述

示例代码如下。

Sub Demo()With Sheet2arr = .Range(.[d4], .Cells(Rows.Count, 1).End(xlUp))End WithFor i = LBound(arr) To UBound(arr)For j = 2 To 4If arr(i, j) <> "" Then arr(i, j) = "," & Replace(Replace(arr(i, j), " ", ""), ",", ",") & ","NextNextSet rngData = Sheet4.[a1].CurrentRegionrngData.Offset(1, 1).ClearContentsbrr = rngData.ValueFor r = 2 To UBound(brr)iCnt = 0major = "," & brr(r, 1) & ","For i = LBound(arr) To UBound(arr)For j = 2 To 4If InStr(1, arr(i, j), major) > 0 Thenbrr(r, j) = arr(i, 1)iCnt = iCnt + 1If iCnt = 3 Then Exit ForEnd IfNextIf iCnt = 3 Then Exit ForNextNextrngData.Value = brr
End Sub

【代码解析】
第3行代码需将数据表格“专业分类指导目录”加载到数组中。
第5~9行代码循环遍历每行数据。
第6~8行代码循环每行中的数据。
第7行代码将时两个Replace函数,清除专业清单中的空格,并将全角逗号替换为半角逗号,并且在字符串的首位附加一个半角逗号,这样可以更容易的实现精确匹配。
第10~13行代码需将需要填写的数据表格加载到数组中。
第11行代码清空需要填写的区域(截图中黄色区域)。
第13~26行代码循环遍历每行数据。
第15行代码构建查找关键字,此处同样在专业名称字符串的首位附加一个半角逗号。

精确匹配的实现原理如下,例如需要查找“兽医”专业,那么实际查找关键字为,兽医,,在下面两个字符串中,仅能匹配第一个,而不会出现错误匹配。

  • ,基础兽医学,兽医,临床兽医学,
  • ,基础兽医学,预防兽医学,临床兽医学,

第16~25行代码双层循环在“专业分类指导目录”中查找关键字。
第19行代码提取对应的专业列表
第27行代码将查找结果更新到工作表中。

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

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

相关文章

OpenCV开发:编译安装opencv

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它为开发者提供了丰富的工具和函数&#xff0c;用于处理图像和视频数据&#xff0c;以及执行各种计算机视觉任务。 以下是 OpenCV 的一些主要特点和功能&#xff…

【Java】Spring Bean有几种配置方式?

定义 Spring Bcan 的3 种方式分别是:基于XML 的方式配置、基于注解扫播方式配置、基于元数据类的配置。 SpringBean是Spring中最基本的组成单元&#xff0c;Spring 官方文档对 Bean 的解释是这样的:In Spring, the objects that form the backbone of your application and tha…

华为HCIP认证H12-821题库上

1、2.OSPF核心知识 &#xff08;单选题&#xff09;下面关于0SPF的特殊区域&#xff0c;描述错误的是: A、Totally Stub Area允许ABR发布缺省的三类LSA,不接受五类LSA和细化三类LSA B、NSSA Area和Stub区域的不同在于该区域允许自治系统外部路由的引入&#xff0c;由ABR发布…

Linux完成mysql数据库的备份与恢复

背景&#xff1a; 在进行数据报表的测试过程中&#xff0c;为了让我们的测试数据更加真实&#xff0c;因此我们需要同步生产数据到测试环境。方式有很多种&#xff0c;我这里介绍的是通过Linux完成数据同步。 备份数据&#xff1a; 执行命令&#xff1a;mysqldump -uxxx -pxxx…

PyCharm连接远程服务器

要求&#xff1a;PyCharm专业版才支持远程服务 一、创建远程连接 先建立本地与远程服务器之间的SSH连接 1、配置连接 2、建立SSH连接&#xff0c;选择文件传输协议 SFTP 3、设置服务器名&#xff08;可以随意命名&#xff09; 4、配置 SSH连接 点击 172.18.1.202 配置…

字符串排序算法

题目描述&#xff1a; 题目描述 设计一个程序&#xff0c;实现对输入字符串数组按字符串长度进行排序功能。具体要求如下&#xff1a;编写函数void sortByLength(char *strArray[], int numStrings);&#xff0c;用于对输入的字符串数组 strArray 按字符串长度进行升序排序。在…

bugkuctf web随记wp

常规思路&#xff1a; 1&#xff0c;源码2&#xff0c;抓包3&#xff0c;御剑dirsearch扫后台检查是否有git文件未删除4&#xff0c;参数 本地管理员&#xff1a;1&#xff0c;cu看源码&#xff0c;sci看源码有一串东西2&#xff0c;base64解码后是test123猜测是密码3&#x…

数据处理架构

目录 Lambda架构 Kappa架构 Lambda架构 Lambda架构由Twitter的首席科学家Nathan Marz提出。这种架构试图平衡延迟、吞吐量、容错性和系统复杂性四个方面&#xff0c;以满足大数据和实时数据处理的需求。Lambda架构主要由三个层次组成&#xff1a; 批处理层&#xff08;Batch…

ChatGPT热门项目

1.智能GPT 项目地址&#xff1a;智能GPT&#xff1a;你只要提供OpenAI的API Key&#xff0c;那么它就可以根据你设定的目标&#xff0c;采用Google搜索、浏览网站、执行脚本等方式 主要语言&#xff1a;Python 推荐理由&#xff1a;这是由开发者Significant Gravitas推出的项目…

103基于matlab的极限学习机(ELM)和改进的YELM和集成极限学习机(EELM)是现在流行的超强学习机

基于matlab的极限学习机&#xff08;ELM&#xff09;和改进的YELM和集成极限学习机(EELM)是现在流行的超强学习机&#xff0c;该程序是三者的方法比对。 包括学习时间&#xff0c;训练精度和测试精度的对比。数据可更换自己 的&#xff0c;程序已调通&#xff0c;可直接运行…

从零开发短视频电商 OpenSearch/Elasticsearch 查询总结

文章目录 Match Queries&#xff08;全文查询&#xff09;Term Queries&#xff08;词项查询&#xff09;Range Queries&#xff08;范围查询&#xff09;Wildcard Queries&#xff08;通配符查询&#xff09;Fuzzy Queries&#xff08;模糊查询&#xff09;Prefix Queries&…

SpringBoot之数组,集合,日期参数的详细解析

1.4 数组集合参数 数组集合参数的使用场景&#xff1a;在HTML的表单中&#xff0c;有一个表单项是支持多选的(复选框)&#xff0c;可以提交选择的多个值。 多个值是怎么提交的呢&#xff1f;其实多个值也是一个一个的提交。 后端程序接收上述多个值的方式有两种&#xff1a; 数…

MacOS升级指定的系统

问题描述&#xff1a; Mac升级系统&#xff0c;如果使用默认推送的升级可能会升级到最新 的版本&#xff0c;那么怎样才能升级制定的系统呢&#xff1f;1. 搜索“macOS安装器” 2. 点击“使用App store 或浏览器下载macOS安装器” 3. 选择需要的系统&#xff0c;使用App Store …

飞天使-docker知识点5-资源限制与容器的不同状态

文章目录 cpu和内存的限制内存限制的部分参数容器的不同状态docker images 的分层docker registry制作镜像 cpu和内存的限制 默认情况下&#xff0c;容器没有资源限制&#xff0c;可以使用主机内核调度程序允许的尽可能多的 给定资源&#xff0c;Docker 提供了控制容器可以限制…

JavaWeb项目中已经导入依赖却报错依赖不存在

问题描述 在使用 Maven Servlet Tomcat 来搭建 JavaWeb 项目时&#xff0c;在 pom.xml 中正确引入了依赖&#xff0c;编码过程中也能够正常使用。但是在启动 Tomcat 之后&#xff08;启动时或启动后&#xff09;&#xff0c;却报错显示该依赖不存在。 可能原因 pom.xml 的…

品牌如何做好软文营销?媒介盒子分享

许多公司在做软文营销时&#xff0c;试图通过运营不同平台来扩大其覆盖范围&#xff0c;他们希望通过这种方式触达更多受众&#xff0c;然而如果品牌软文没有质感&#xff0c;就会被用户抛弃。今天媒介盒子就来和大家聊聊&#xff1a;品牌方做内容时如何加强质感。 一、 营销需…

12.14_黑马数据结构与算法笔记Java

目录 120 二叉搜索树 min max 121 二叉搜索树 put 122 二叉搜索树 前任后任1 123 二叉搜索树 前任后任2 124 二叉搜索树 删除1 125 二叉搜索树 删除2 126 二叉搜索树 删除3 127 二叉搜索树 删除 递归1 128 二叉搜索树 删除 递归2 129 二叉搜索树 范围查询 130 二叉搜…

Elasticsearch 查询语法

引言 Elasticsearch&#xff08;ES&#xff09;是一个高度可扩展的开源全文搜索和分析引擎。它允许你快速、实时地存储、搜索和分析大量数据。ES 强大的查询语言是其核心功能之一&#xff0c;它提供了多种查询类型来满足各种复杂的搜索需求。在这篇博客中&#xff0c;我们将深…

【超图】SuperMap iClient3D for WebGL/WebGPU —— 单体gltf模型与Blender中的方向对应关系

作者&#xff1a;taco 在很多包含动画的场景中&#xff0c;像模拟小人的行走、模拟火车的轨迹运行&#xff0c;又或者是模拟风力发电等等等。我们通常会加一些动画模型到里面。而有的时候可能会出现&#xff0c;这火车怎么倒着走啊&#xff01;这人怎么头朝下啊。这种方向的问题…

WPS Office JS宏实现Excel转换为JSON格式数据

通过Excel JS宏&#xff0c;将表格中的数据以”列“形式导出为JSON数据格式。 我们在整理文档时&#xff0c;产品会通过Excel将功能点和功能描述分层级整理出来&#xff0c;有时需要将此数据导入到系统中&#xff0c;Web端对Json这类数据比较友好&#xff0c;所以这里试着使用E…