Excel:替换单元格的字符串值的一部分

时间:2012-02-03 19:23:19

标签: excel

我有一个大型电子表格,其中包含一个名为“角色”的列。在此列中的值如下:

ROLES
Author
Author;
Publishing; Author;
Something Else; Author; Publishing

还有其他列可能存在“作者”一词。

我需要做的只是在我的“角色”列中查找“作者”,并将其替换为“创作”,而不会在其之前或之后丢失任何内容。即最终结果应该是......

ROLES
Authoring
Authoring;
Publishing; Authoring;
Something Else; Authoring; Publishing

我尝试了FIND和REPLACE函数,但是它取代了整个单元格值,而不仅仅是它的一部分。

= IF(FIND( “作者”,[@角色],1),REPLACE( “作者”,1,6, “创作”))

有人可以帮忙吗?我不想使用VB解决方案,因为我不熟悉如何做到这一点,所以希望有一个基于公式的方法?

干杯

4 个答案:

答案 0 :(得分:67)

你要找的是SUBSTITUTE:

=SUBSTITUTE(A2,"Author","Authoring")

将替换Author for Authoring而不会弄乱其他所有内容

答案 1 :(得分:23)

您需要做的事情如下:

  1. 列表项
  2. 通过单击相应的字母或仅使用鼠标选择单元格来选择整个列。
  3. 按Ctrl + H。
  4. 您现在处于“查找和替换”对话框中。在“查找内容”文本框中写下“作者”。
  5. 在“替换为”文本框中写下“创作”。
  6. 点击“全部替换”按钮。
  7. 就是这样!

答案 2 :(得分:7)

我知道这是旧的,但我有类似的需求,我不想做查找和替换版本。事实证明你可以像这样嵌套替代方法:

=SUBSTITUTE(SUBSTITUTE(F149, "a", " AM"), "p", " PM")

在我的情况下,我使用excel来查看DBF文件,但是它的填充时间是这样的:

9:16a
2:22p

所以我刚刚制作了一个新专栏并将其放入其中,将其转换为excel时间格式。

答案 3 :(得分:-1)

您有一个字符= STQ8QGpaM4CU6149665!7084880820,而另一列= 7084880820

如果您只想使用公式STQ8QGpaM4CU6149665!在excel中获得此信息,请使用此信息:

=REPLACE(H11,SEARCH(J11,H11),LEN(J11),"")

H11是旧字符,对于起始编号,请使用搜索选项,然后对于不需要替换的字符,请使用len选项,然后替换为新字符。我将其替换为空白。