单元格A2中的值为“ Blabla_Donkey_Rhino”。我想要一个公式,该公式删除两个下划线和一个下划线之间的文本,以返回值“ Blabla_Rhino”
单元格
A2
Blabla_Donkey_Rhino
Desired Output
Blabla_Rhino
答案 0 :(得分:0)
如果您不需要“替换” vba替代方法,则可以尝试使用以下方式将文本的开头和结尾部分串联起来:
=LEFT(A2,FIND("_",A2))&RIGHT(A2,LEN(A2)-FIND("_",A2,FIND("_",A2)+1))
这与您的示例相同,但它不仅删除了两个下划线之间的文本,还删除了第二个下划线。
要仅删除下划线之间的文本,请使用以下内容:
=LEFT(A2,FIND("_",A2))&RIGHT(A2,LEN(A2)-FIND("_",A2,FIND("_",A2)+1)+1)
答案 1 :(得分:0)
VBA这个简单的UDF
Function firstAndThird(str as string) as string
firstAndThird = split(str,"_")(0) & "_" & split(str,"_")(2)
End Function
将代码放入模块并从工作表中调用:
=firstAndThird(A2)
如果您具有Office 365 Excel,则可以将TEXTJOIN用作数组公式:
=TEXTJOIN("_",,TRIM(MID(SUBSTITUTE(A2,"_",REPT(" ",99)),{1,198},99)))
作为数组公式,退出编辑模式时,请按Ctrl-Shift-Enter而不是Enter确认。