在Excel中使用find()从字符串中删除文本


10

我正在使用find删除查找单元格值中的一些测试字符串

例如,我在单元格A2中Application: sales_rep_support查找以下内容,并使用find =RIGHT(a2,FIND(" ",a2)+4)将其更改为sales_rep_support

但是我遇到了问题,因为我还有其他需要解析的值,例如

Application: EComm_sk
Application: PG_Prescreen
Application: sales_rep_support
Application: Retention_sk

etc....

我一直试图完成的只是Application:从字符串开头删除

我也尝试left()失败。

Answers:



3

实际上,我认为,最简单的方法是在以后要删除原始列的情况下,在相关列上使用“查找并替换”。

  1. Ctrl+ H

  2. 查找Application:(“应用程序”,冒号,空格)替换为空

  3. 在“查找和替换”窗口中,单击Options >>并确保“内部:”设置为“表”,并且未选中“匹配整个单元格内容”。


否则,除了SUBSTITUTE()您可以使用的另一个功能是MID()

=MID(text, start, length)

就您而言,您可以使用:

=MID(A2, 14, LEN(A2))

从字符位置14(在“应用程序:”中的所有字符之后)到文本的末尾,这将占据所有内容。LEN(A2)实际上比您想要的文本大,但这没关系,这意味着它将把所有内容都花到最后。


1

您为什么不只使用=REPLACE(A2,1,12,"")此字符将字符1-12替换为“”(什么都没有),因此只显示(A2)第13个字符的查找,删除“ Application:”



-3

=RIGHT(A2,FIND(" ",A2)+4) 到底为什么认为是一种合理的通话方式RIGHT()?哪里4来的?它代表什么?

的用法RIGHT

RIGHT(text,[ num_chars ])

即,第二个参数是您要提取的字符数。

同时,FIND(" ", A2)是中的第一个空格的位置,A2只要前12个字符为Application:第13个空格,则始终为13。所以FIND(" ",A2)+4总是17;您总是得到最右边的17个字符。

要获取之后的所有信息Application: ,请使用

=RIGHT(A2, LEN(A2)-FIND(" ", A2))

或简单地

=RIGHT(A2, LEN(A2)-13)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.