16个Excel文本函数,这篇文章教你全弄清楚!
利用Excel函数解决文本处理问题,是最常见不过的任务啦~ 比如下面这些,你有没有遇到过? 合并两个单元格的内容? 把省市区分拆? 提取身份证号码中的出生日期? 批量替换数据的单位? 在我眼里,每个文本函数都是一个诗人……接下来就带你领略,各种文本函数的风骚之处。 一共分为六个部分,文本合并、文字提取、字符清洗、文字替换、精确查、长度计算。 总有你要用上的! 文本合并 合并和提取是文本处理中最最常见的任务。 例如,将下表中各个单元格的文字合成1个新的句子: 而利用不同的函数公式,操作方法和结果都有所不同。 &连字符&能够直接将一个一个的文本连接起来,形成一个新的文本: 公式:=A1&B1&C1 结果:爱老虎油 然而,&连字符先天残疾,有很多个字符时,也不能直接引用整片区域进行合并,依然只能一个个手工添加。操作过程如下: Phonetic 函数用Phonetic就省事很多,它可以引用一个区域(只能一个),将区域内所有单元格的文本型数据拼合在一起。 例如将下表中的全部文本拼合起来: 可以使用如下公式 公式:=phonetic(A1:D1) 结果:爱老虎油 但是明明D1里有一个数字1314,为什么没出现在结果里呢? 因为,phonetic只是个兼职合并函数而已。它本职工作是提取日文拼音,是日文版来客串一下的,人家只是恰好可以合并文字而已。 这个客串函数个性非常独特,因为它眼里只有文本型数据,对公式结果、数值、日期时间等等通通视而不见。所以1314就是被狗吃掉了…… 此公式的输入就比&连字符简单多了: Concat 函数 而Concat就比&和phonetic更加完美,因为它既能引用一个区域直接合并,又不会漏掉数值、日期和公式结果,还能引用多个区域,简直不能更完美了。 公式:=concat(A1:D1) 结果:爱老虎油1314 不过,很遗憾,完美版本的Concat只有2016版才有。 在之前的版本中,它有个前身,叫 Concatenate。Concatenate和&公式一个德性,只能逐个添加。名称又太长,还不如用&来得方便。估计是Office工程师自己都忍不了了,才在2016版添加了一个加强版吧。 这个加强版可棒了: 以上三种合并函数,分别合成的结果放在一起,结果就是酱紫的: 一个宅男表哥用公式向喜欢的妹子发出三行爱的告白。 结果,这个妹子是个表妹,迅速用下面这个函数做出了回应…… Textjoin 函数 用分隔符将多个字符串联起来。 公式:textjoin(“!”,True,A1:D1)&”!” 结果:你!是!个!好人! 于是,此公式的含义为,将A1:D1中每个单元格的内容用叹号串联起来,如果有空格则忽略,最后缺少的叹号用&单独补一个。 因为有函数辅助输入工具条,写这个公式也不难: 有一个神奇的函数,可以按照指定的次数,将自己反复拼合起来,俗称自撸。啊,不,是重复。 16个Excel文本函数,这篇文章教你全弄清楚! 2016-09-13 过河卒冲 摘自 幻方秋叶PPT 阅 989 转 49 转藏到我的图书馆 分享:
| ||
常用文本函数及应用实例
一、什么是文本:在excel中,除数值、日期时间、逻辑值和错误值以外的所有值。
一个文本值由N个(0<=N<=32767)个字符组成,也叫字符串。所谓字符串,是计算机可识别的单个符号,分为单字节字符和双字节字符。所谓字节。字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位。字符好比人,字节好比房子,中文和中文的标点符号及全角字符都属于双字节字符,普通数字及英文字母,属于单字节字符。单字节字符属于一个人住一套房子,而双字节字符是一个富二代住两套房子。
二、excel文本函数范围
在Excel 2003中有34个标准文本函数及很多非标准文本函数。主要包括len mid left right find search substitude replace trim clean rept 及这些函数后带b的函数。
1、len,返回文本字符串中的字符数;lenb,返回文本字符串中用于代表字符的字节数。Len相当于返回人数,而lenb相当于返回房子数。
语法,lenb(text)、lenb(text)。Text是要查的其长度的文本,空格及控制符均作为字符进行计数。函数返回值:数值(整数)。
以下例子将探讨不同参数的下的字符及字节长度
A、其中的时间格式下的,字符长度是转换成数字后计算。如 2010-1-31,其转换为数字后是40209,其长度是5。
B、时间参数09:25,转化为数字格式后是0.392361111111111,其长度就变为17了。
C、逻辑值TRUE是按照单词字符计算的。
现在发现,时间和日期参数,其字符长度有很强的隐蔽性,当将其转换成数字时,就发现庐山真面目了。就像现在的贪官,表面廉洁奉公,其实内在的坏水很长很长的。♀
TEXT参数的特性:1、文本值,按文本本身进行计算。2,数值,转换成数字型文本计算。3,日期、时间,按转化为数值后的文本计算。4逻辑值,按转换后的TRUE、FALSE进行计算。5、查看转换结果,A1&””.从以上特性来看,text除了错误值以外,可谓参数包罗万象。需要说明的是,Text 是要查其长度的文本,空格及控制字符都将作为字符进行计数。
具体应用如下:如果我们要计算中文个数,LEN()的一个简单运用即可。
这里我们主要运用了,中文占据双字节,二字母占据单字节。
2、LEFT,基于所指定的字符返回文本字符串的第一个或前几个。
LEFTB,基于所指定的字节返回文本字节的第一个或前几个。
其中文含义是,左边。主要用于提取字符左边的字符。有点像中国一句俗话:打露头鸟。LEFT函数,主要狙击站在树枝左边的鸟。
语法:
LEFT(text,num_chars),
LEFTB(text,num_bytes)
Num_chars 指定所提取的字符,num_bytes 指定所提取的字节。
需要说明的是:num_chars(num_bytes) 必须大于或等于 0。
如果 num_chars(num_bytes) 大于文本长度,则函数返回所有文本。
如果省略 num_chars(num_bytes),则假定其为 1。
如果 num_chars(num_bytes) 不是整数,则按其整数部分返回结果
返回结果如下表所示,
RIGHT函数,和LEFT函数,区别在于从右边还是从左边。也就是说,RIGHT函数,主要打击站在树枝右边的鸟。
如表所示:
NUMBER 型参数的特性:1、若是数字型文本,函数内部会将它转换成数值。2、若数值
不是整数,先取整再计算。
3、MID,返回文本字符串中从指定位置开始的特定数目的字符。MIDB,则是返回字节数。函数返回值,是文本。语法:MID(text,start_num,num_chars)
MIDB(text,stsrt_num,num_bytes)
MID中文是中间的意思,主要提取字符中的值,但是,它的功能也涵盖了left及right.多少也有点“越权”。O(∩_∩)O。当然,只要能为“人民办事实”,都是好函数啊。
参数说明:
如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。
示例如表:
例如提取身份证信息。
在这里巧妙的利用的len()函数,取整,及除以2.2得循环得到6和8
4、FIND/FINDB,在一个文本值中查另一个文本值(区分大小写);SEARCH/SEZRCHB,返回从 start_num 开始首次到特定字符或文本字符串的位置上特
定字符的编号。使用 SEARCH 可确定字符或文本字符串在其他文本字符串中的位置,(不区分大小写)。函数返回值均为数值。
FIND语法:
FIND(find_text,within_text,start_num)
FINDB(find_text,within_text,start_num)
Find_text 是要查的文本。
Within_text 是包含要查文本的文本。
Start_num 指定开始进行查的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。
SEARCH语法:
SEARCH(find_text,within_text,start_num)
SEARCHB(find_text,within_text,start_num)
说明:
Find_text 是要查的文本。可以在 find_text 中使用通配符,包括问号 (?) 和星号 (*)。问号可匹配任意的单个字符,星号可匹配任意一串字符。如果要查真正的问号或星号,请在该字符前键入波形符 (~)。
Within_text 是要在其中查 find_text 的文本。
Start_num 是 within_text 中开始查的字符的编号
示例如下:
5、SUBSTITUTE,在文本字符串中用新文本值代替旧文本值。函数返回值:文本。中国有句俗话,叫:旧貌换新颜,SUBSTITUTE可谓恰如其分。中国三十年来的改革开放展现的新迹象,SUBSTITUTE函数也可表达一二啊。
语法:
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。
示例如下
SUBSTITUTE,函数用来计算单元格数字出现的次数,非常巧妙。
6、REPLACE,使用其他文本字符串并根据所指定的字符数替换某文本字符串中的文本;REPLACEB。函数返回值:文本
语法:
REPLACE(old_text,start_num,num_chars,new_text)
REPLACEB(old_text,start_num,num_bytes,new_text)
Old_text 是要替换其部分字符的文本。
Start_num 是要用 new_text 替换的 old_text 中字符的位置。
Num_chars 是希望 REPLACE 使用 new_text 替换 old_text 中字符的个数。
Num_bytes 是希望 REPLACE 使用 new_text 替换 old_text 中字节的个数。
New_text 是要用于替换 old_text 中字符的文
示例:
7、TRIM(),清楚除单词之间的单个空格外的所有空格。在从其他应用程序中获取带有不规则空格的文本时,可以使用函数 TRIM。TRIM函数不由得让人想起当下的高房价,普通人的住房空间,几乎被清除了。难道是TRIM函数捣鬼么?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论