您的位置: 首页 > EXCEL技巧 > Excel函数 >

用自定义函数提取字符串中的重复字符

时间:2013-12-13 整理:docExcel.net

有时需要将Excel单元格内字符串中的重复字符提取出来,例如提取字符串“abcdeAbcDe”中重复的几个字符“bce”,如图所示,可以用自定义函数实现。

自定义函数提取重复的字符

1.按Alt+F11,打开VBA编辑器。

2.单击菜单“插入→模块”,在代码窗口中粘贴代码:

Function GetDupChar(theString As String) As String
Dim i As Integer
For i = 1 To Len(theString) - 1
   If Len(theString) - Len(Replace(theString, Mid(theString, i, 1), "")) > 1 Then '
  If InStr(GetDupChar, Mid(theString, i, 1)) = 0 Then GetDupChar = GetDupChar & Mid(theString, i, 1)
End If
Next
   End Function

3.关闭VBA编辑器,返回Excel工作表界面。

假如字符串在A2单元格,在B2输入公式:

=GetDupChar(A2)

要将多个单元格中的字符串合并后提取重复字符,如A3单元格为“12345123”,A4单元格为“mnc12526”,在B8单元格输入公式:

   =GetDupChar(A3&A4)

将返回这两个单元格中字符串合并后重复的字符“1235”。

提取字符串中两相邻分隔符之间文本的公式 问题:提取字符串中两相邻分隔符之间文本的公式
回答:有时需要从包含分隔符号的字符串中提取字符串,例如Excel工作表的某列中包含类似“200-GH11301-11TB5”的文本字符串,该字符串被两个相同的分隔符号“-”分成三部分,且每部分的字符数不固定,现在需要提取其中的第2部分内...
用自定义函数提取字符串中的重复字符 问题:用自定义函数提取字符串中的重复字符
回答:有时需要将Excel单元格内字符串中的重复字符提取出来,例如提取字符串“abcdeAbcDe”中重复的几个字符“bce”,如图所示,可以用自定义函数实现。 1.按Alt+F11,打开VBA编辑器。 2.单击菜单“插入→模块”,在代码窗口中粘贴...
如何用Excel从字母数字字符串中提取数字 问题:如何用Excel从字母数字字符串中提取数字
回答: 此办理方案的根基道理是搜索并返回字母数字字符串中的第一个数字,然后只返回其后的数字。 算法 此办理方案包罗建设公式以完成下列任务: 1.将字母数字字符串解析为单独的字符。 2.确定解析后的字符串中是否有数字。 3....
数组公式提取单元格内第一个汉字前的字符串 问题:数组公式提取单元格内第一个汉字前的字符串
回答:有时需要在Excel中提取单元格内文本第一个汉字前的字符串,例如从“MD-T289(XQ01)黑色”中提取“MD-T289(XQ01)”。如果各单元格文本中首个汉字前的字符串长度不等,可用下面的一些数组公式。例如字符串在下图所示的A列单元格中...
用公式提取Excel单元格中的汉字 问题:用公式提取Excel单元格中的汉字
回答:对于一个混杂各种字母、数字及其他字符和汉字的文本字符串,要提取其中的汉字,在Excel中通常可用下面的公式。例如下图A列中的字符串,要在B列提取其中的汉字(或词语)。 如果汉字位于字符串的开头或结尾,用LEFT或RIGHT...
用自定义函数提取单元格内字符串中的数字 问题:用自定义函数提取单元格内字符串中的数字
回答:如果Excel单元格中包含一个混合文本和数字的字符串,要提取其中的数字,通常可以用下面的公式,例如字符串“隆平高科000998”在A1单元格中,在B1中输入数组公式: =MID(A1,MATCH(1,--ISNUMBER(--MID(A1,ROW(INDIRECT( 1: &LEN(A1))),1)),0),COUN...
相关知识:

下面内容对您也许有用

      话题:求高手写 EXCEL中的不规则字符串中提取前三个数字的自定义函数
      问:求高手写 不规则字符串中提取前三个数字的自定义函数提取第一个的函数就命名为
      答:在Visual Basic Application中编辑器中写:function TQSZ1(str)on error goto errTQSZ dim m as integer str=str&""m=0 for i=1 to len(str)if asc(mid(str,i)) excel里想把字符串转换成数字, EXCEL函数提取字符串中的数字
      话题:用自定义函数,比较两个字符串的大小
      答:int strcmp(const char*pDes,const char*pSrc){/获取字符串尺寸更短的那个 int n1=strlen(pDes);int n2=strlen(pSrc);if(n1n2){ n1=n2;} return memcpy(pDes,
      话题:关于c语言,自定义函数,字符串
      问:自定义函数字符串的格式要怎么写,怎样返回字符串,比如 int max(int a,int b)
      答:自定义函数字符串的格式:char*function();char*function(char ch[]){ return ch;} main { char c[]={"ABCDEFG"};printf("%s",function(c));} 自定义c语言字符串拷贝函数 在线等 C语言中,求字符串子串的
      话题:编辑用户自定义字符串连接函数
      问:编辑用户自定义函数udf_strcpy(s,t),实现两个字符串连接。下面是我编的程序,
      答:因为不写数字的话s1不够长,s1的长度是刚刚好容纳test外加结尾的0那么长,无法在后面继续容纳s2的那部分。
      话题:求高手解:怎么做自定义函数 判断字符串中的数字的个数及位置_
      问:比如A133.3BBB444CC8.8%DDDD77%EEE999的字符串 1、做一个名为ZSZGS(总数字个数
      答:这几个函数 都不需要自定义的 vb的基本常用函数 都有的 你可以调用 只不过需要你自行组合 而已 需要的话 我可以给你写 你把邮箱留下 我做好发给你!
      话题:C语言中如何让自定义函数返回一个字符串的地址?知道
      问:rt 我每次返回地址都被销毁了。(貌似)
      答:给你几种主要的不同方法:A.使用静态变量 const char*func(void){ static char x[1000];处理数据 return x;} B.内存分配的 如果是返回字符串建议使用strdup。
      话题:自定义c语言字符串拷贝函数strcpy
      答:includestdio.hchar*cpystr(char*des,char*res){ for(int i=0;res[i]!'\0';i+)des[i]=res[i];des[i]='\0';return des;} int main(void){ char d[30],s[]= 在C语言中 字符串复制函数 c语言:数组:不用strcpy函数
      话题:自定义函数求字符串长度
      问:自定义函数字符串长度,要求不用指针变量和除stdio.h外的其他库函数,拜托了!
      答:用指针多好哇。int strlen(char*s){ int len=0;while(*(s+len))len+;return len;} 用C语言写程序:自定义一个函数 写一个自定义函数实现求一个字符
      话题:c语言:自定义函数实现连接字符串
      问:写代码完整点,把输出结果看看
      答:include"stdio.h"void cat(char*s,char*t){ while(*s)s+;while(*t)*s+*t+;s=0;} main(){ char s[100]="abc",t[]="123;cat(s,t);puts(s);} 关于c语言,自定义函数字符串 C语言字符串连接函数
      话题:C语言中,用指针实现字符串的拷贝,不能用strcpy,用自定义函数
      答:includestdio.h#includestring.hchar fun(char*a){ char b[80];int i,len;len=strlen(a);for(i=0;i;i+){ b[i]=a[i];} b[i]='\0';printf("复制后的字符串为: c语言:数组:不用strcpy函数, 看看我的程序:c语言:数组:
最新评论