0

软件:Excel 2010

我的客户有各种格式的库存编号,我需要能够正确格式化所有代码。

股票代码可能是

EY_20-DJ  -           

即,连字符前 2 个空格,连字符后最多 20 个空格。关键是连字符不应该移动。请记住,并非所有库存商品都像这样,只有少数。基本上只需要删除尾随空格,中间没有额外的空格应该“更正”。

我已经尝试过 TRIM,它将连字符之前的 2 个空格减少到 1,而 CLEAN 在这方面没有做任何事情。

可以将其保留在公式中还是我们需要走宏观路线?

任何建议表示赞赏!

4

2 回答 2

1

您应该尝试 Asap Utilities:http ://www.asap-utilities.com/ 有一堆宏,其中一个是在我在许多 Excel 练习中使用它之间或之后删除空格,并且像魅力一样工作

于 2012-06-19T07:50:23.300 回答
0

这个用户定义的函数可以解决问题:

Function RTrimExcel(s As String) As String
    RTrimExcel = Rtrim(s)
End Function

它只是 VBARtrim功能的包装,完全符合您的要求。从 Excel 中调用它为=RTrimExcel(A1)

在此处输入图像描述

请注意我如何在文本下划线以使尾随空格可见。

请注意,这不是宏;这是一个用户定义的函数。你暗示你不喜欢使用宏,但如果你真的想要完全没有 VBA 的东西,那么让我们知道......这需要更多的思考!

编辑

如果你的最后一个非空格字符总是-你可以使用这样的工作表公式来做到这一点:

=LEFT(A1,FIND(CHAR(1),
    SUBSTITUTE(A1,$B$3,CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,$B$3,"")))))

请注意,我将其存储-在单元格 B3 中,因此很容易更改。

在此处输入图像描述

于 2012-06-19T08:05:04.450 回答