【发布时间】:2017-04-16 20:02:46
【问题描述】:
在 Microsoft Excel 文件中,我在行中有一个如下所示的文本:
1. Rc8 {[%emt 0:00:05]} Rxc8 {[%emt 0:00:01]} 2. Rxc8 {[%emt 0:00:01]} Qxc8 {} 3. Qe7# 1-0
我需要删除出现在花括号 { 和 } 中的所有文本,包括括号本身。
在上面的例子中,有三个这样的花括号实例。但有些行可能不止这些。
我试过=MID(LEFT(A2,FIND("}",A2)-1),FIND("{",A2)+1,LEN(A2))
这将输出到:{[%emt 0:00:05]}。如您所见,这是花括号之间的第一个文本实例。
如果我们像这样在 SUBSTITUTE 中使用它:=SUBSTITUTE(A2,MID(LEFT(A2,FIND("}",A2)),FIND("{",A2),LEN(A2)),"")
我得到这样的输出:
1. Rc8 Rxc8 {[%emt 0:00:01]} 2. Rxc8 {[%emt 0:00:01]} Qxc8 {} 3. Qe7# 1-0
如果您已经注意到,只会删除一个实例。如何使其适用于所有实例?谢谢。
【问题讨论】:
-
您是否愿意使用 vba 编写自定义函数来执行此操作?或者,您能否在工作表中根据需要多次重复您的功能以删除所有字符串?
-
有几千行。我认为自定义功能可能会更好。我已经使用了@dirk-reichel 的功能,并且效果很好。
标签: excel excel-formula vba