Table of contents
当在工作表中处理非结构化文本数据时,你经常需要对其进行解析以检索相关信息。 本文将教你几个简单的方法,从文本字符串的左边或右边删除任何数量的字符。
如何在Excel中删除左边的字符
从一个字符串中删除第一个字符是Excel中最常见的任务之一,它可以通过3个不同的公式来完成。
删除Excel中的第一个字符
要从一个字符串中删除第一个字符,可以使用REPLACE函数或RIGHT和LEN函数的组合。
REPLACE( 绳子 , 1, 1, "")在这里,我们只是从第一个位置取1个字符,然后用一个空字符串("")替换它。
右图( 绳子 , LEN( 绳子 ) - 1)在这个公式中,我们使用LEN函数来计算字符串的总长度,并从中减去1个字符。 差额被奉为RIGHT,所以它从字符串的末尾提取了那么多字符。
例如,要删除A2单元格的第一个字符,公式如下。
=replace(a2, 1, 1, "" )
=right(a2, len(a2) - 1)
从左边删除字符
要从一个字符串的左侧删除前导字符,你也可以使用REPLACE或RIGHT和LEN函数,但要指定每次要删除多少个字符。
REPLACE( 绳子 , 1, num_chars , "")或
右图( 绳子 , LEN( 绳子 ) - num_chars )例如,要删除 前2个字符 从A2中的字符串,公式为:。
=replace(a2, 1, 2, "" )
=right(a2, len(a2) - 2)
要删除 前3名 人物 ,公式采取这种形式。
=replace(a2, 1, 3, "" )
=right(a2, len(a2) - 3)
下面的截图显示了REPLACE公式的运行情况。 如果使用RIGHT LEN,结果将是完全一样的。
删除前n个字符的自定义函数
如果你不介意在你的工作表中使用VBA,你可以创建你自己的用户定义的函数,从一个字符串的开头删除字符,名为 删除第一个字符 该函数的代码就像这样简单。
Function RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End Function一旦代码被插入你的工作簿(详细说明在这里),你可以通过使用这个紧凑而直观的公式从给定的单元格中删除前n个字符。
RemoveFirstChars(string, num_chars)例如,要删除 首先 从A2中的一个字符串中取出一个字符,B2中的公式是。
=RemoveFirstChars(A2, 1)
剥离 前两个 从A3的字符来看,B3的公式是:。
=RemoveFirstChars(A4, 2)
要删除 前三 从A4的字符,B4的公式是。
=RemoveFirstChars(A4, 3)
更多关于在Excel中使用自定义函数的信息。
如何从右边删除字符
要从一个字符串的右侧删除字符,你也可以使用本地函数或创建你自己的函数。
删除Excel中的最后一个字符
要删除一个单元格中的最后一个字符,通用公式是:。
LEFT( 绳子 , LEN( 绳子 ) - 1)在这个公式中,你从字符串的总长度中减去1,然后把差值传给LEFT函数,让它从字符串的开头提取那么多字符。
例如,为了剥离A2单元格中的最后一个字符,B2中的公式是:。
=left(a2, len(a2) - 1)
从右侧删除字符
要从一个单元格的结尾处剥去一定数量的字符,通用公式是:。
LEFT( 绳子 , LEN( 绳子 ) - num_chars )其逻辑与上述公式相同,下面是几个例子。
要删除 最后3个字符 ,用3表示 num_chars :
=left(a2, len(a2) - 3)
要删除 最后5个字符 ,供应5个用于 num_chars :
=left(a2, len(a2) - 5)
删除Excel中最后n个字符的自定义函数
如果你想拥有自己的函数,用于从右边删除任何数量的字符,请将此VBA代码添加到你的工作簿中。
Function RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End Function该函数被命名为 删除最后的字符 而它的语法几乎不需要任何解释。
RemoveLastChars(string, num_chars)为了给它一个实地测试,让我们摆脱了 最后一个字符 在A2中。
=RemoveLastChars(A2, 1)
此外,我们将删除 最后2个字符 从A3中的字符串的右侧开始。
=RemoveLastChars(A3, 2)
要删除 最后3个字符 从A4单元格,公式为:。
=RemoveLastChars(A4, 3)
正如你在下面的截图中所看到的,我们的自定义函数工作得非常出色
如何一次删除左右两边的字符
当你需要擦除一个字符串两边的字符时,你可以按顺序运行上述两个公式,或者在MID函数的帮助下优化工作。
仲介( 绳子 , 左边 _ 字符串 + 1, LEN( 绳子 ) - ( 左边 _ 字符串 + 对 _ 字符串 )在哪里?
- chars_left - 要从左边删除的字符数。
- 字符串_右 - 要从右边删除的字符数。
假设你想从一个字符串中提取用户名,如 mailto:[email protected] 为此,需要将部分文字从开头删除( mailto: - 7个字符)和从末尾( @gmail.com - 11个字符)。
将上述数字送入公式。
=mid(a2, 7+1, len(a2) - (7+10))
...而结果不会让你等待。
为了理解这里的实际情况,让我们回顾一下MID函数的语法,它是用来从原始字符串的中间拉出一个一定大小的子串。
ǞǞǞ 文本 参数不会引起任何问题 - 它是源字符串(在我们的例子中是A2)。
要获得要提取的第一个字符的位置( start_num ),你在要从左边剥离的字符数上加1(7+1)。
要确定返回多少个字符( num_chars ),你要计算被删除的字符总数(7+11),然后从整个字符串的长度中减去这个总数:LEN(A2) - (7+10))。
以数字形式获取结果
无论你使用上述哪种公式,输出都是文本,即使返回值只包含数字。 要返回 结果为一个数字 在这种情况下,要么将核心公式包裹在VALUE函数中,要么进行一些不影响结果的数学运算,如乘以1或加0。
假设你从A2:A6单元格中删除了第一个字符,并想对所得的值进行求和。 令人惊讶的是,一个简单的SUM公式返回0。 为什么呢? 很明显,因为你是将字符串相加,而不是数字。 执行下面的一个操作,问题就解决了!
=value(replace(a2, 1, 1, "" ))
=right(a2, len(a2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
用Flash填充去除第一个或最后一个字符
在Excel 2013及以后的版本中,还有一个简单的方法可以删除Excel中的第一个和最后一个字符--闪光填充功能。
- 在与原始数据的第一个单元格相邻的单元格中,输入所需的结果,省略原始字符串的第一个或最后一个字符,然后按回车键。
- 开始在下一个单元格中输入预期值。 如果Excel感觉到你输入的数据的模式,它将在其余的单元格中遵循相同的模式,并显示你的数据的预览,而不显示第一个/最后一个字符。
- 只要按一下回车键就可以接受预览。
用Ultimate Suite按位置删除字符
传统上,我们的终极套件的用户只需点击几下就可以处理这个任务,而不需要记住少量的各种公式。
要删除一个字符串的第一个或最后一个n个字符,你需要这样做。
- 关于 阿博比特数据 选项卡,在 文本 组,点击 移除 > 按职位删除 .
例如,为了删除第一个字符,我们配置了以下选项。
这就是如何在Excel中从左边或右边删除子串的方法。 感谢你的阅读,期待下周在我们的博客上见到你
可用的下载
删除第一个或最后一个字符 - 示例(.xlsm文件)
终极套房 - 试用版 (.exe文件)