EXCEL文本处理总结:如何查找(/定位)字符串内,符合条件的多个符号里的最后一个?

news2024/11/25 12:21:41

目录

题外话:学习总结

1 新手切忌贪多

2 熟练者切忌懒惰

3 这2件事恰恰都和人性相反

1 EXCEL文本处理相关函数

2 查找函数 find()  和 search()

2.1 find() 

2.2 search()

2.3 下面是测试的公式情况

3 如何查找(定位)符合条件的某个字符的位置?

3.1 如何查找符合条件的第1个字符?

3.2 如何查找符合条件的第2个字符?

3.3 如何查找符合条件的第N个字符?

3.4 如何查找符合条件的最后一个字符

3.4.1 方法1,将字符串倒转读取+ 取第1个就等于取了最后1个

3.4.2 方法2,使用 trim() + 嵌套substitute()的方法

4 如何查找是否有

5 如何查重

6 如何替换

下一篇 :如何查多条数据内最后一个符合要求的呢?


题外话:学习总结

学习EXCEL/VBA 或者其他东西,是要与懒惰的自己做斗争

1 新手切忌贪多

  • 新手看到,像什么,XX函数的10个技巧,这种根本就不要去学,一定要止住贪念
  • 新手应该带着自己的问题来寻找答案,去学习
  • 找到问题的答案后,顺着这个展开,把知识的骨架学习一遍,搞懂脉络
  • 那些技巧是血肉,有更好,没有将来也可以搜到,学到,不着急

2 熟练者切忌懒惰

  • 会了以后,如果止步于,每次遇到问题去搜索
  • 往往多年都无法再进步
  • 处于反复学,反复忘记的循环里
  • 而应该,从各种角度去多维度的总结知识,
  1. 比如总结常用函数的多种使用技巧
  2. 比如总结某些问题有哪些解决办法
  3. 横向比较各种功能,函数,代码,透视表,图表的优劣
  • 这个过程很痛苦,很费时间,可能反复去学习,但是迈过去了,以后你大脑里就有了知识脉络,对很多问题就有思路,即使要查,解决问题都是信手拈来。
  • 就达到了高手境界
  • 至于怎么到大师,我不是大师,我还不知道。。。

3 这2件事恰恰都和人性相反

  • 刚开始的时候,人热情很高,贪多,求快,冒进,失败概率高
  • 熟练一些了,入了门了,却止步于一知半解,不深究,不总结,不提高,永远无法进入高手的境界
  • 切记!

1 EXCEL文本处理相关函数

常用文本处理函数如下

  • 格式处理
  • text()
  • 内容处理,选择,长度,部分选取等
  • len()
  • left()
  • right()
  • mid()
  • 字符串拼接
  • textjoin()
  • &
  • cancatenate()
  • 查找
  • find()
  • search()
  • 替换
  • substitute()
  • replace()

下文就几个比较重点,比较麻烦的问题进行总结

2 查找函数 find()  和 search()

这2个函数有不少差别,功能上可以说是刚好互补的

2.1 find() 

  • find() 基础语法: find("要查找目标内容", 查找的范围,开始位数)
  • find() 是按 字符数进行计数
  • 对应 findb()  是按字节数进行计数,比如英文和数字为1个字节,而汉字是2个字节
  • find() 区分大小写的
  • find() 不能使用通配符查找

2.2 search()

  • search() 基础语法: search("要查找目标内容", 查找的范围,开始位数)
  • search() 是按 字符数进行计数
  • 对应 searchb()  是按字节数进行计数,比如英文和数字为1个字节,而汉字是2个字节
  • search() 不区分大小写的
  • search() 可以使用通配符查找

2.3 下面是测试的公式情况

 

3 如何查找(定位)符合条件的某个字符的位置?

3.1 如何查找符合条件的第1个字符?

  • 使用 find()  或者 search() 查找符合条件的内容,如果在查找范围内存在多个,都只会返回符合条件的第一个字符的位置!
  • 具体试验情况见下图

 

3.2 如何查找符合条件的第2个字符?

  • 可以使用从第1个字符后开始查找
  • 而且,第一个字符的位置可以不数,而采用查找+嵌套的方式

  • 从第1个符合要求的字符 (例如\)之后,第2个符合要求字符(例如\)之前开始查找
  • 下面2个公式本质都一样
  • FIND("\",A31)的结果也是5,只是是动态查询而不是写死的,更灵活
  • FIND("\",A31,5)
  • FIND("\",A31,FIND("\",A31)+1)

 

3.3 如何查找符合条件的第N个字符?

  • 从要查找的第N个符合要求的字符前开始查找?
  • 但是如果是多行数据,不同行的数据长度不一样呢?数据不规范呢?
  • 这样就这样无论直接数位数,或者嵌套都很麻烦了
  • 怎么办呢?
  • 是个问题

3.4 如何查找符合条件的最后一个字符

  • 多种方法
  • 如何定位第1个,第2个
  • 最后1个?

3.4.1 方法1,将字符串倒转读取+ 取第1个就等于取了最后1个

  • 将字符串倒转读取+ 取第1个就等于取了最后1个
  • 用VBA写个简单的自定义函数
  • 然后EXCEL使用这个自定义函数 reverse1() 即可倒转字符串内容!

用VBA写个简单的自定义函数

Function reverse1(str As String)
  reverse1 = StrReverse(str)
End Function

 

3.4.2 方法2,使用 trim() + 嵌套substitute()的方法

取最后一个符合要求的字符\之后的内容

 TRIM(RIGHT(SUBSTITUTE(A43,"\",REPT(" ",500)),500))

查找最后一个符合要求的字符\之后的位置

FIND(TRIM(RIGHT(SUBSTITUTE(A43,"\",REPT(" ",500)),500)),A43)-1

4 如何查找是否有

5 如何查重

6 如何替换

下一篇 :如何查多条数据内最后一个符合要求的呢?

可能要用到数组公式等

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

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

相关文章

MySQL触发器的使用

目录 一、前言二、触发器分类1.插入触发器2.更新触发器3.删除触发器 三、查看触发器四、异常处理五、小结 一、前言 各种主流数据库,都集成了触发器的功能。触发器提供了一种机制,允许开发者在对数据库表的插入、更新、删除的前后捕获相应的数据行。从而针对数据行实现特定的逻…

DebugView的使用

目录 一、前言二、本机调试1.DebugView程序文件说明2.OutputDebugString函数使用3.示例程序4.远程调试 三、问题与注意事项四、小结 一、前言 DebugView是windows下的一款调试工具,可以捕获程序输出的日志,分为64位和32位,支持应用层和内核层的日志捕获,利用它排除bug是个不错的…

chatgpt赋能python:Python开发手机软件的优势和挑战

Python开发手机软件的优势和挑战 随着智能手机的普及,移动应用开发已成为当前最热门的技术领域之一。随着越来越多的企业意识到移动应用的重要性,越来越多的开发者开始加入这个领域。 在移动应用的开发中,由于其高效性和易于学习的特点&…

【Flutter】Dart/Flutter SDK如何降低版本、回退到指定版本

因为dart3.0以后不再支持 no-sound-null-safety;但是有些项目不得以切换到dart3.0以前继续使用运行项目 方法1: 通过 $ flutter downgrade命令,将flutter降级为当前通道的上一个活动版本; 如果没有存在老版本则会提示 flutter …

从零手写操作系统之RVOS软件定时器实现-08

从零手写操作系统之RVOS软件定时器实现-08 定时器分类软件定时器的分类软件定时器设计与实现软件定时器调用流程增加对周期性定时任务支持测试优化点 本系列参考: 学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春 整理而来,主要作为xv6操作系统学习的一个前置基础。…

chatgpt赋能python:Python强制等待:如何优化你的Python技能

Python强制等待:如何优化你的Python技能 在Python编程中,强制等待是一种非常重要的程序设计方式。Python代码中的强制等待通常使用time.sleep()方法实现。在本文中,我们将详细介绍什么是Python强制等待,以及如何使用它来优化你的…

基于最近电平逼近的开环MMC逆变器MATLAB仿真模型

资源地址: 模型介绍: MATLAB21b版本 DC:12kV,N=12, 采用最近电平逼近调制,采用基于排序的均压方法,冒泡排序+桥臂电流方向判断。 连接负载,可以得到13电平相电压波形。…

Windows10下使用VS2019编译chromium

Windows10下使用VS2019编译chromium 工具设置代理cmd运行gclient配置VS的版本,环境变量设置下载源码生成编译工具 下载depot_tools,并配置环境变量,PATH下添加depot_tools的解压路径E:\src\depot_tools 设置代理 控制台管理员权限执行 git config --global http.proxy…

CenoOS连接 SQL Server

目录 1、问题:2、解决步骤3、拓展3.1 常用查询3.2 SQL Server 语句规则3.3 python调用 1、问题: 连接:ProviderSQLOLEDB.1;Persist Security InfoFalse;User IDXXX;passwordXXXXX;Initial CatalogXXXXX;Data SourceXXXXX; 解析:…

chatgpt赋能python:Python屏幕截图:完美的方法记录你的屏幕

Python屏幕截图:完美的方法记录你的屏幕 Python作为一种高级编程语言,被广泛用于开发各种应用程序和游戏,其中之一就是屏幕截图。 在本文中,我们将介绍使用Python进行屏幕截图的方法和技巧。 什么是屏幕截图? 屏幕截…

第六十八天学习记录:高等数学:导数(宋浩板书)

导数是微积分中的一个概念,描述了函数在某一个点上的变化率。具体地说,函数 f ( x ) f(x) f(x)在 x a xa xa处的导数为 f ′ ( a ) f(a) f′(a),表示当 x x x在 a a a处发生微小的变化 Δ x \Delta x Δx时, f ( x ) f(x) f(x)对…

Golang每日一练(leetDay0090) 运算优先级、有效字母异位词

目录 241. 为运算表达式设计优先级 Different Ways to Add Parentheses 🌟🌟 242. 有效的字母异位词 Valid Anagram 🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 …

Vector源码

介绍 Vector是矢量队列,继承于AbstractList,实现了List, RandomAccess, Cloneable和Serializable接口Vector继承了AbstractList,实现了List接口,所以它是一个队列,支持相关的添加、删除、修改、遍历等功能Vector实现了…

chatgpt赋能python:Python的强制语句缩进解析

Python的强制语句缩进解析 什么是语句缩进 在其他编程语言中,我们通过使用花括号或者一些其他的符号来区分控制语句的范围。但在Python中,我们使用缩进来实现这个目的。这意味着任何控制结构的主体都必须按照要求正确缩进。 为什么Python强制要求使用…

【Java】JavaWEB核心要点总结:63

文章目录 1. JSP 和 Servlet 有什么区别2. JSP有哪些内置对象 分别是什么3. 详细讲解cookie session token4. 如果客户端禁止 了cookie ,session 还能用吗5. session 的工作原理 1. JSP 和 Servlet 有什么区别 JSP(Java Server Pages)和Servl…

读改变未来的九大算法笔记06_图形识别

1. 人工智能研究人员在过去几十年中学到的最重要的教训之一 1.1. 看似智能的行为有可能从看似随机的系统中浮现出来 1.2. 如果我们有能力进入人脑,研究神经元之间连接的强度,其中绝大部分连接都会表现得很随机 1.3. 当作为集合体行动时,这…

javaScript蓝桥杯-----全球新冠疫情数据统计

目录 一、介绍二、准备三、⽬标四、代码五、完成 一、介绍 新冠疫情席卷全球,在此期间有很多免费的 API 和⽹站为⼈们提供了各个国家疫情数据的查询功能,这些免费公开的数据体现出了互联⽹作为信息媒介的优越性,帮助全球⼈⺠更好的了解⼀线疫…

电路模型和电路定律(3)——“电路分析”

小雅兰期末加油冲冲冲!!! 复习之前的内容: 这样的连接方式是不可以的: 两个电压源,电压值不相同,是不能并联的 两个电流源,电流值不相同,是不能串联的 电流源也不能开…

浅谈Zuul、Gateway

一、Zuul Zuul是通过Servlet来实现的,Zuul通过自定义的ZuulServlet(类似于Spring MVC的DispatcherServlet)来对请求进行控制(一系列过滤器处理Http请求)。 所有的Request都要经过ZuulServlet的处理,三个核心的方法preRoute(),rou…

时钟频率的配置-DG32

时钟频率的配置-DG32 HXTAL:高速外部时钟,4到32MHz的外部振荡器,可为系统提供精确的主时钟。带有特定频率的晶体必须靠近两个HXTAL的引脚。和晶体连接的外部电阻和电容必须根据所选择的振荡器来调整; LXTAL:低速外部…