精华内容
下载资源
问答
  • 12, excel vba 常用字符串处理函数

    万次阅读 2018-09-10 23:24:51
    处理excel数据 很多时候要和字符串打交道, 比如 0,想要知道一个字符串的长度是多少? 1, 判断字符串是不是含有你需要的字符 ...0,用 len() 函数获得一个字符串长度 Public Sub 点点didi12() ...

    处理excel数据 很多时候要和字符串打交道, 比如

    0,想要知道一个字符串的长度是多少? 

    1, 判断字符串是不是含有你需要的字符

    2, 截取字符串的某一个部分

    3, 将字符串里的某个字符进行替换

    4, 把字符串按某个字符分割出来

    接下来一一介始这几个函数, 

     

     

    0,用 len() 函数获得一个字符串长度

    Public Sub  点点didi12()
        
         my_string = "diandian didi"
         str_len = Len(my_string)
         Debug.Print str_len
     

    End Sub
     

    运行一个,就可以在 立即窗口中看到长度值

     

     

     

    1, 使用 instr() 判断是不是含某个字符,如果有,就会返回该字符出现的位置

    Public Sub diandiandidi12()
        
         my_string = "diandian didi"
         my_exp = "an"
         
         Index = InStr(my_string, my_exp)
        
         If Index > 0 Then
            Debug.Print Index
            
         Else
            Debug.Print "sorry ,no find you exp char"
             
         End If
        
        

    End Sub
     

    如果字符串中有你需要的字符, 就会返回该字符第一次出现的位置, 如果没有,就说下sorry.运行结果如下, 你也可以复制该代码,改下 my_exp的值试试看

     

    2 ,使用 left()  mid() ,right() 截取字符串. 

     left是左截取, 从字符串左边开始,截取你需要的字符个数, right则从右边开始. mid的话,需要你输入字符串截取的位置和函数

    接下来给大家演示下这三个函数

    Public Sub diandiandidi12()
        
         my_string = "start diandian didi end"
         
         start_index = 3
         jiequ_len = 5
         
         left_char = Left(my_string, jiequ_len)
         Debug.Print "left 5 char: " & left_char
        
         
          right_char = Right(my_string, jiequ_len)
         
          Debug.Print "right  5 char: " & right_char
          
          
          mid_char = Mid(my_string, start_index, jiequ_len)
          Debug.Print "mid_char  5 char: " & mid_char

    End Sub
    运行结果如下:

     

    3 ,使用 replace() 把字符串中的某个字符替换成其它字符. 接下来把字符串中的an 替换成love

    Public Sub diandiandidi12()
        
         my_string = "start diandian didi end"
         
         find_char = "an"
         replace_char = "love"
         
         replace_result = Replace(my_string, find_char, replace_char)
         
         Debug.Print replace_result
         
        
    End Sub

    运行结果:

     

    4 ,使用 split() 把字符串按某个字符分割, 接下来把字符串按 an字符进行分割 

          Public Sub diandiandidi12()
        
         my_string = "startdiandiandidiend"
         
         split_char = "an"
         
         split_results = Split(my_string, split_char, -1)
         
         For Each result In split_results
          
            Debug.Print result
            
         Next
         
         
        
    End Sub

     

    运行后如下:

    split_results = Split(my_string, split_char, -1)  这句中, 最后面的 -1 ,表示返回所有的分割结果, 这里看到,返回了三个分割的结果.

    这个分割函数执行后,返回的是一个数组, 也就是split_results是一个数组, 数组是一种数据结构, 你可以把这种结构想像成一排柜子,每个柜子都有一个序号, 从0开始进行标号,每个柜子里都可以放一些东西, 在这里的话, 可以画草图给大家做个理解:

    split_results可以看成有三个柜子组成的数组, 如果你想得到里面的某个数据, 可能用 数组名(index) 的方式, 比如你想得到第一个数据  , 就可以用   split_results(0)    , 哦, 这里的序号是从0开始的. 0 到1到2...

    Public Sub diandiandidi12()
        
         my_string = "startdiandiandidiend"
         
         split_char = "an"
         
         split_results = Split(my_string, split_char, -1)
         
         Debug.Print "the first split result is : " & split_results(0)
         
         
        
    End Sub
     

     

     

    常用函数的话还有 trim()  ,可以把字符串前后的空字符串去掉, 如果你想了解更多函数,就需要靠你自己百度or 谷歌啦. 

    展开全文
  • 问题来源:https://zhidao.baidu.com/question/69063348.html问题描述:给定一个字符... 这个字符串判断其字符个数。解: 利用len(T)和lenb(T)函数求出结果如下: 显然可以看出 1、两个函数均统计了空格 2、len(T

    问题来源:https://zhidao.baidu.com/question/69063348.html

    问题描述:给定一个字符串,求出字符串的字符个数。
    例如:在excel中输入
    China cfbgc 油田生产\LDW\LD5-2\3#发电机
    这个字符串,判断其字符个数。

    解:
    利用len(T)和lenb(T)函数求出结果如下:
    这里写图片描述

    显然可以看出
    1、两个函数均统计了空格
    2、len(T)函数将汉字作为一个字符
    3、lenb(T)函数将汉字作为两个字符

    “len面向使用单字节字符集 (SBCS) 的语言, LENB 面向使用双字节字符集 (DBCS) 的语言”

    拓展:
    如果想统计字段里面的去掉空格的字符总数?或者,问题等价于:如何去掉字符串里的空格,之后利用len(T)函数和lenb(T)函数进行统计。

    clean(T)函数、trim(T)、substitute(text,old_text,new_text,instance_num)函数的含义及用法:

    trim(T)函数:“TRIM 函数设计用于清除文本中的 7 位 ASCII 空格字符(值 32)。在 Unicode 字符集中,有一个称为不间断空格字符的额外空格字符,其十进制值为 160。该字符通常在网页中用作 HTML 实体  。TRIM 函数本身不删除此不间断空格字符。有关如何清除文本中这两种空格字符的示例,请参阅删除文本中的空格和非打印字符。”

    clean(T)函数:“ CLEAN 函数被设计为删除文本中 7 位 ASCII 码的前 32 个非打印字符(值为 0 到 31)。在 Unicode 字符集 (Unicode:Unicode Consortium 开发的一种字符编码标准。该标准采用多(于一)个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。)中,有附加的非打印字符(值为 127、129、141、143、144 和 157)。CLEAN 函数自身不删除这些附加的非打印字符。有关如何删除文本中附加的非打印字符的示例,请参阅删除文本中的空格和非打印字符。”

    substitute(text,old_text,new_text,instance_num)函数:
    Text 为需要替换其中字符的文本,或对含有文本的单元格的引用。

    Old_text 为需要替换的旧文本。

    New_text 用于替换 old_text 的文本。

    Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 Text 中出现的所有 old_text。

    相关待理解的概念:“单字节字符集 (SBCS) ”、“双字节字符集 (DBCS) ”、“ASCII码”、“非打印字符”、“Unicode 字符集”、“前导、尾部或多个嵌入空格字符(Unicode 字符集 (Unicode:Unicode Consortium 开发的一种字符编码标准。该标准采用多(于一)个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。)值 32 和 160)”、“非打印字符(Unicode 字符集值 0 到 31、127、129、141、143、144 和 157)”、“全角”、“半角”

    用法对比举例:
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这个例子仅是去掉了半角空格,如果是添加了全角空格,则如下例:
    这里写图片描述

    那么,如果想在一个公式里面去掉全角空格和半角空格,怎么办呢?利用公式的嵌套
    这里写图片描述

    待完善:clean(T)函数的具体应用举例

    拓展:
    从上例看到全角半角的概念,这涉及到数据的规范化这方面,在实际中遇到过输入全角的数字全角的符号,这时需要将全角的数字符号转化为半角的数字符号。

    参考我自己整理的函数:
    http://blog.csdn.net/archer_jake/article/details/55045715

    那么概念:单字节字符集SBCS和双字节字符集DBCS什么意思?
    可以参考:
    第二章:Windows编程之Unicode简介
    http://c.biancheng.net/cpp/u/window2/

    拓展引申:
    现实场景:“用户可能由于不慎添加额外空格字符而导致录入错误,或者从外部源导入的文本数据可能包含在文本中嵌入的非打印字符。由于这些字符不容易引起注意,可能会导致难于理解的意外结果”
    在大数据、数据库的前期数据标准化的工作中可以应用

    展开全文
  • 这个问题可以转化为怎么对一个字符串按字节切片,并判断每个字节是否数字,是数字...因此设定起始分别为位置为1,2,3~字符串长度;截取字节长度为1,就实现了这个字符串的切片2、起始位置由于需要不断变动,因此是一...

    这个问题可以转化为怎么对一个字符串按字节切片,并判断每个字节是否数字,是数字的话就计数

    字符串的基本知识:任何一个字符串中,1个字母或者1个汉字或者1个数字或者1个符号,都是1个字节

    思路:

    1、字符串的函数:mid(字符串,起始位置,截取字节长度),可以用于对字符串进行切片;因此设定起始分别为位置为1,2,3~字符串长度;截取字节长度为1,就实现了这个字符串的切片

    2、起始位置由于需要不断变动,因此是一串数字,不是一个单一的参数,因此要用到数组,这里我们用Row()函数返回一个数组

    3、对字符串切片之后的数字进行计数就是我们要的结果

    step1: 设置数组

    =row(1:100) 然后按Ctrl + Shift + Enter,输出一个1,2,3~100的数组,可以多选几个单元格观察一下数组的值,下图中是显示了数组的10个值。

    5f538ff4f1ba32f46382fbbb0f04161e.png

    step2: 对字符串切片

    =mid(A2,row(1:100),1) 按Ctrl + Shift + Enter,输出切片:

    d48ee89beb7b6d7332b459fdc1c05705.png

    step3:数值转换

    mid得到的是文本,*1转换为数字

    fb8729670f6292bd11ad93a2de501ba5.png

    step4: Count计数

    对数字计数:

    f0d4dd8a2bc019202de13765d5b49c7f.png

    step5:验证

    1db9043b73d4e0f9f33389347ea453a3.png

    图文可能还是比较晦涩,将在公众号中出一个视频讲解,敬请关注

    展开全文
  • 这个问题可以转化为怎么对一个字符串按字节切片,并判断每个字节是否数字,是数字...因此设定起始分别为位置为1,2,3~字符串长度;截取字节长度为1,就实现了这个字符串的切片2、起始位置由于需要不断变动,因此是一...

    这个问题可以转化为怎么对一个字符串按字节切片,并判断每个字节是否数字,是数字的话就计数

    字符串的基本知识:任何一个字符串中,1个字母或者1个汉字或者1个数字或者1个符号,都是1个字节

    思路:

    1、字符串的函数:mid(字符串,起始位置,截取字节长度),可以用于对字符串进行切片;因此设定起始分别为位置为1,2,3~字符串长度;截取字节长度为1,就实现了这个字符串的切片

    2、起始位置由于需要不断变动,因此是一串数字,不是一个单一的参数,因此要用到数组,这里我们用Row()函数返回一个数组

    3、对字符串切片之后的数字进行计数就是我们要的结果

    step1: 设置数组

    =row(1:100) 然后按Ctrl + Shift + Enter,输出一个1,2,3~100的数组,可以多选几个单元格观察一下数组的值,下图中是显示了数组的10个值。

    4c49f1ac2bfdb552615945f9250adb74.png

    step2: 对字符串切片

    =mid(A2,row(1:100),1) 按Ctrl + Shift + Enter,输出切片:

    9433f57413c7cf0f85c8252d45c5b232.png

    step3:数值转换

    mid得到的是文本,*1转换为数字

    90b8363f5ff13f9762f708ab9e1fec1c.png

    step4: Count计数

    对数字计数:

    71215cb07493d8e4c43f8ca40887ab3b.png

    step5:验证

    766bbf5e567bb7d372f1678dd9cc8474.png

    图文可能还是比较晦涩,将在公众号中出一个视频讲解,敬请关注

    展开全文
  • 1.在Excel中,有时候要考虑查找字符串匹配问题,实际只需要考虑这些: 正常情况下是用FIND函数,比如:=FIND("字符",A2),就是在A2单元格查找"字符"2个字,找到即返还数字、找不到显示错误。 ...
  • 函数作用:得到字符串实际的长度(以单字节记).......70 '48.函数作用:18位身份证最后一位有效性验证............70 '49.函数作用:计算符合maturity condition的拆解金额....72 '50.函数作用:对多个用同一分隔符分隔...
  • 用例20:计算字符串的字节数(LENB) 源文件:光盘\源文件\01\031.xlsx 用例21:串联区域中的文本(T) 源文件:光盘\源文件\01\044.xlsx 用例22:提取各车间负责人姓名(MIDB) 源文件:光盘\源文件\01\032....
  • Excel中如何根据身份证号码获取年龄,性别 【身份证号判断性别的方法】 ...如果是18位的就取第17位,即倒数第二位,Excel中使用mid函数还获取指定位置开始,指定长度字符串,如果是15位的就去最后一位...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    函数功能与参数:替换第N次出现的字符串函数。第一参数为引用,第二参数为待替换字符串,第三参数为新字符串,第四参数用于指定替换第几次出现的字符,范围在1到256之间。 函数名称:重复 函数功能与参数:判断...
  • 【计算表达式】:将表达式转换成值(包括从混合字符串中取出的表达式) <══════════════════┤ 函数功能介绍 ├════════════════════> 函数名称:sumifcol 函数功能与...
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    04142设置单元格字符串中一部分字符的格式(其他字体属性) 04143设置单元格的下画线 04144设置单元格的字体属性(字体、字号、加粗、斜体、颜色等) 04145设置单元格区域的外部边框 04146设置单元格区域的全部边框 ...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    函数功能与参数:替换第N次出现的字符串函数。第一参数为引用,第二参数为待替换字符串,第三参数为新字符串,第四参数用于指定替换第几次出现的字符,范围在1到256之间。 函数名称:重复 函数功能与参数:判断...
  • 47.得到字符串实际的长度(以单字节记) 48.18位身份证最后一位有效性验证 49.计算符合maturity condition的拆解金额 50.对多个用同一分隔符分隔的待查找元素,逐一在表区域首列内搜索,将返回选定单元格的值相加,...
  • 知识储备:mid:从字符串中截取特定长度的子字符串。numberstring:将数字转换大小写,比如将数字“1”转换为“一”。--:两个减号连起来,减负运算,可将文本型数字强制转换为数值型。if:逻辑判断函数&:文本...
  • 替换替换第N次出现的字符串函数。第一参数为引用,第二参数为待替换字符串,第三参数为新字符串,第四参数用于指定替换第几次出现的字符,范围在1到256之间 重复判断指定区域中是否有重复单元格的函数只有一个参数...
  • 字符串高级简单回顾..eval与exec简介字符串的简单规范字符串的截取字符串...函数字符串判断字符串间隔求长度以及左右填充字符串大小写取出最大最小字符替换去除空格简单切割换行切割判断开头大小写切换以及填充0翻译表....
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 0095 使用Length函数取得一段字符串长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算...
  • 实例131 判断获得字符串中大写字符的个数 实例132 巧截字符串的数字 实例133 计算字符串中子字符串出现的次数 实例134 判断某一字符是否在字符串中 5.3 字符串处理 实例135 在字符串中用一子串替换另一子串 ...
  • 实例131 判断获得字符串中大写字符的个数 实例132 巧截字符串的数字 实例133 计算字符串中子字符串出现的次数 实例134 判断某一字符是否在字符串中 5.3 字符串处理 实例135 在字符串中用一子串替换另一子串 ...
  • 【计算表达式】:将表达式转换成值(包括从混合字符串中取出的表达式) <══════════════════┤ 函数功能介绍 ├════════════════════> 函数名称:sumifcol 函数功能与参数...
  • 实例114 限制输入字符串长度 171 实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证...
  • 实例114 限制输入字符串长度 171 实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证...
  • ASP200问.EXE

    2010-05-20 13:25:08
    18.如何计算中英文混合字符串长度 19.如何判断字符串是否以指定字符串开头或结尾 20.如何判断字符是否是英文字符 21.如何检测字符串出现的次数 22.如何过滤字符串中的HTML代码 23.如何截取字符串 24.如何实现字符...
  • 实例133 把整型数据格式化为指定长度字符串 实例134 将长整型的数字分位显示 实例135 过滤输入字符串中的危险字符 实例136 过滤字符串中的空格与NULL值 实例137 获得汉字的拼音简码 5.2 数据验证 实例138 ...
  • 实例133 把整型数据格式化为指定长度字符串 实例134 将长整型的数字分位显示 实例135 过滤输入字符串中的危险字符 实例136 过滤字符串中的空格与NULL值 实例137 获得汉字的拼音简码 5.2 数据验证 实例138 ...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

判断excel字符串长度函数