各位朋友,你们好。

今天继续和大家分享这套函数(确实不知道该用哪个量词了,就觉得这个还算贴切点),主要是涉及文本的计数、截取、查找、替换等处理的。相信很多朋友都已经猜到了,那么再让这些函数来亮个相:

一套16个函数

注意:由于内容较多,此文要分为几个部分讲解,今天讲解第三部分,也是最后一部分。如果你们要看前两部分的内容,点击下面的链接:

基础篇 进阶篇一


字符串查找定位(字符串的狙击镜)

字符串查找定位函数

从上图可以看出,这四个函数的作用、参数几乎一样。那么该怎么区别呢?在实际使用中,该怎么选择呢?我们以上图的函数示例,可以分析出以下几点:

1、SEARCH函数,不区分大小写字母。查找大写字母【O】得到的结果是9,而第9位是小写字母【o】;

2、FIND函数,要区分大小写字母。查找大写字母【O】,其结果为15,正好是大写字母【O】的位置;

3、这4个函数都可以省略第三个参数,即不设置查找的起始位置,则默认按从第1位开始查找;

4、这4个函数都可以查找空白文本,查找空白文本,结果都是1;

5、SEARCH函数支持通配符查找,FIND函数不支持通配符查找。查找中的通配符有2个:①【?】表示任意单个字符;【*】:表示任意多个字符(字符串);

6、关于通配符【?】:用于SEARCHB函数时,表示第一个单字节字符;若用于SEARCH函数,则表示第一个字符。效果如下图。

通配符在SEARCH、SEARCHB函数中的应用

①例1:查找第一个字符,结果为1;

②例2:查找【?o】,结果为4。此处的【?】代表【r】,组合查找时,返回组合中第1个字符的内容,即【r】在字符串中的位置,结果为4;

③例3:查找【?of】,结果为6。此处的【?】代表【S】,组合查找时,返回组合中第1个字符的内容,即【S】在字符串中的位置,结果为6;

④例4:按字节计算第一个单字节字符在字符串中的位置,结果为5。

接下来,我们看函数的实际应用。

一、提取汉字、字母

提取汉字和字母

前面一章,我们用过这个例子,当时用的LEN和LEB函数组合,计算出汉字和字母的个数。今天我们用SEARCHB函数结合通配符查找的方式,通过定位字母开始的位置(即文字结束的位置),来计算汉字和字母的数量,然后同字符串剪刀把需要的内容截取出来。

二、模糊查找

模糊查找

如上图所示,用FIND、FINDB、SEARCH、SEARCHB函数,查找关键字,然后在示例文本中获取带有此关键的完整内容。解题原理是利用这四个查找函数时,被查找字符串中没有要查找的内容会返回错误值的特征,再结合LOOKUP函数会自动忽略错误值查找的优势,将数据查找出来,接下来我们以第一组公式为例,来分解求解过程:

LOKUP函数向量用法,先在第2参数中查找小于等于查找值且最接近查找值的数据;然后再从第3个参数的数组中,找到对应位置的数据,返回结果。

1、FIND(C81,B82:B88)={1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

2、-FIND(C81,B82:B88)={-1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

3、LOOKUP函数的查找值为0,然后在第2个结果的数组中,查找小于等于0且最接近0的值,结果为-1(这就是在FIND函数前面添加一个负号的原因,如果FIND函数前面不加负号,可以把LOOKUP函数的第1个参数设置成一个很大的数即可)

4、数字【-1】在第2参数数组的第一个条,则返货第2参数数组的第一个值,结果就是【中国 China】


字符串替换(字符串的涂改液)

字符串替换

如上图,是这三个函数的基础内容,这三个函数都可以实现将一个字符串中某部分内容替换成新字符串。他们的区别是:

Substitute函数不限定字符串的位置,只限定需替换字符串的内容;按内容替换时,选择此函数

Replace函数不限定字符串的内容,只限定需替换字符串的位置。按位置替换时,选择此函数。

下面我们用案例来看看这两个函数适用于什么情况:

一、将手机号码中间四位替换成【*】以进行保密

根据位置替换

大家想想,这个题目,如果用SUBSTITUTE函数,该如何写公式呢?(下面公式还好不长)

=SUBSTITUTE(B92,MID(B92,4,4),"****")

二、替换文本中的空格

根据内容替换

大家想想,这个题目,如果用REPLACE函数,该如何解决呢?(下面公式好复杂,如果再加两个空格呢就更不好处理了)

=REPLACE(REPLACE(B100,FIND(" ",B100),1,),FIND(" ",REPLACE(B100,FIND(" ",B100),1,)),1,)

三、统计字符串中有多少个空格

统计空格数量

先用LEN函数计算带空格的字符串字符数,再用SUBSTITUTE函数清除掉所有空格后,用LEN函数计算无空格字符串的字符数,两个字符数的差就是空格的数量。(此题用REPLACE函数就不好解决了)


字符串重复

字符串重复

上图是函数的基础解释和用法,需注意几个问题:

1、如果重复的次数为0,则返回空白文本;

2、如果重复的次数为小数,则会向下取整后再计算;

3、REPT 函数的结果不能大于 32,767 个字符,否者会显示错误。

下面是这个函数的使用案例:

一、星级评定

二、补齐数字位数

此题用的函数公式为:=RIGHT(REPT(0,4)&C124,4)

三、条形图制作(类似与数据条)

此题的函数公式为:=REPT("|",C131)&"   "&C131

四、文本拆分【综合应用,经典案例】

文本拆分

公式:=TRIM(MID(SUBSTITUTE(C$130,"-",REPT(" ",50)),ROW(A1)*50-49,50))

思路:

①用REPT函数生成50个空格组成的字符串;

②用SUBSTITUTE函数批量将【-】替换成50个字符串;

③用MID函数,分别从1、51、101、151……位开始,截取50个字符串的文本内容;

④同TRIM函数将截取的字符串前后的空格清除。

五、数值拆分【会计常用】

此题详见我分享的另一篇文章人民币金额拆分

此题的解题思路如下:

所用的函数公式:=LEFT(RIGHT(TEXT(ROUND($A3/1%,)," ¥0"),10-COLUMN(A1)))

到现在,关于文本这一套关于文本的函数就全部介绍完毕。3月5日对这连续3天分享的内容做个简单的总结,希望大家继续关注。

如果你喜欢我分享的内容,请点个赞支持下;

如果你觉得我分享的内容对你有帮助,可以关注我;

如果要看我以前分享过的好玩的内容,大家可以去我的主页查看历史文章。

50万数据生成6位数不重复字符串_提醒:你收到一套函数。这套函数全吃透,文本处理不发愁。进阶二...相关推荐

  1. 50万数据生成6位数不重复字符串_R语言系列3:高级数据管理

    R语言系列3:高级数据管理 此文内容为<R语言实战>的笔记,人民邮电出版社出版. 从高中电脑课学VB开始,大一课内开始学习C++,到后来大二为了数模学习Matlab,到大三为了搞深度学习自 ...

  2. 50万数据生成6位数不重复字符串_JAVA技术分享:单号的生成

    一.订单号生成的原则: 1.全局的唯一性 2.自增长 3.长度的要求 4.具有一定的可读性 5.保密,不可推测性 6.效率性 二.实现方案 常见的ID生成策略. 1. 数据库自增长序列或字段 2. U ...

  3. Java书签 #用Java生成指定位数不重复随机数

    楔子:或许我一次恋爱都不曾体验就老了.我可能无法和任何人恋爱.我可能一辈子都不会知道恋爱是什么.虽然我的大脑知道念念不忘某个人并为他哭泣.痛苦的感觉,比什么都不知道的要好,可是我的大脑并没有教我如何才 ...

  4. java找重复字符串_在java中怎样查找重复字符串

    在一段java编程代码中,字符串是不可缺少的一个要素,属于java中的基础知识,字符串不仅在java面试题中会出现,在编写代码时更要掌握怎样使用字符串.在前面我们也学习过关于字符串截取的知识,你应该有 ...

  5. Mysql SQL优化(二) 快速生成5位数不重复的编号

    要求:生成一个5位数编号 左边不足用0补齐,这个编号不能重复 ,客户可以手动输入编号 ,所有的编号都不能有4这个数字 以前做项目的时候,生成序列号嘛 一是使用UUID 二是利用数据库序列 三是用数据库 ...

  6. java poi导入50万数据_java从oracle读取50万条数据写入Excel中抛GC overhead limit exc

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.OracleExcel; import java.sql.*; import java.io.*; import java.uti ...

  7. 微信小程序 高分作文精选 50万数据

    本人经常使用的微信小程序内置几十万作文素材,非常适合小.中.高.大学生写作能力的提升,可以添加到自己的小程序列表,后续找作文素材非常方便.目前开发者没有增加广告,非常纯净,废话不多说上二维码.

  8. c#生成随机位数的汉字字符串

    今天在网上查了下如何生成随机汉字字符串的方法,现在一起分享供大家学习和参考. public  string  aa() { Encoding gb = Encoding.GetEncoding(&qu ...

  9. 交换机是如何对数据包打标签去标签的_条形码软件如何在标签纸上套打可变条码...

    在制作商品标签时,通常会遇到标签纸上已经有部分内容,需要我再添加打印一些对应的信息(如下图),那么这种情况下,如何比较简单的在合适位置上打印可变条码呢,下面我们就来详细看一下在中琅条形码软件中套打可变 ...

最新文章

  1. 洛谷P1182 数列分段Section II 二分答案
  2. mysql查找执行效率慢的SQL语句
  3. 成功解决AttributeError: module ‘dask.array.numpy_compat‘ has no attribute ‘take_along_axis‘
  4. [云炬商业计划书阅读分享]土鸡养殖创业计划书
  5. Vue.js学习笔记四
  6. Web 前端框架分类解读
  7. 138. 复制带随机指针的链表 golang
  8. IDEA设置取消自动显示参数提示
  9. 【转】WOPI host消息体结构
  10. JavaScript-表单提交验证及前端密码MD5加密
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的停车预约管理系统
  12. andrew ng 机器学习笔记_所有笔记目录 | 数据分析 | 机器学习 | 深度学习等
  13. Web前端:一些用于Web开发的最佳精选IDE和代码编辑器
  14. 51单片机自学--PWM波占空比程序解释
  15. 9、(九)外汇交易技术术语表
  16. Epicor系统二次开发
  17. 通过命令运行jar包(指定外部依赖jar包)
  18. 计算机定时播放音乐,智能音乐定时播放系统 MP3音乐定时播放工具
  19. 红楼梦第一回ruby优化
  20. ros中的map_server package分析

热门文章

  1. 汽车模具设计工程设计阶段主要包括哪几个方面
  2. c语言程序课程设计投票程序,C语言课程设计--C语言投票程序.doc
  3. C语言基本教程 第4课:数据类型
  4. stm32flash存储掉电不失数据
  5. redmine mysql2 报错_安装redmine
  6. 数独解法Python
  7. 软件工程专业毕业设计(论文)写作框架
  8. 项目E-shopping cart记录
  9. 百来篇关于机器学习和深度学习的资料
  10. unturned怎么显示服务器,unturned怎么开服 unturned建立服务器的方法教程