删除特定文本 excel 前的空格

删除特定文本 excel 前的空格

我有 1000 个不同标签的列表,需要删除数字和 mg 之间的空格。有时有空格,有时没有。文本“mg”在每个单元格中的位置并不相同(它前面可能有四个单词,也可能只有一个单词),因此我认为 vba 代码是最简单的选择。

部分列表的示例:

IBUPROFEN 5 MG TAB
IBUPROFEN 5MG TAB
IBUPROFEN 5 MG TAB
IBUPROFEN 5MG TAB
ESTRADIOL 0.5 MG TAB
ESTRADIOL 0.5 MG TAB
ESTRADIOL 0.5MG TAB
ESTRADIOL 0.5MG TAB
ESTRADIOL 0.5MG TAB
ATORVASTATIN TAB 20MG
ATORVASTATIN TAB 20 MG
ATORVASTATIN TAB 20 MG
ATORVASTATIN TAB 20 MG

答案1

我怀疑除了您想要替换的情况外,文本“MG”不会出现在任何地方。Mganga(巫医)是一种可能性,但我真的怀疑它是否在那里。如果是这样,您可以执行简单的查找 + 替换,将“ MG”替换为“ MG”。

如果有如果您有“ MG”并且不想要“ MG”,那么 Brian 的回答就更完整了。

答案2

假设保证“MG”始终有一个后续空格:

如果你能确保你的测试总是全部大写,那么以下方法应该有效:

=SUBSTITUTE(A1," MG ","MG ")

如果您同意将任何小写文本转换为大写,则可以使用以下命令:

=SUBSTITUTE(UPPER(A1)," MG ","MG ")

否则,您将需要嵌套SUBSTITUTE函数调用来处理所有可能的大/小写情况:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," MG ","MG ")," mg ","mg ")," Mg ","Mg ")," mG ","mG ")

如果一个或多个“MG”出现后可能没有空格,做你想做的事将很有挑战性。几乎肯定需要使用 VBA 和正则表达式。

相关内容