软件:Excel 2010
我的客户有各种格式的库存号码,我需要能够正确格式化所有代码。
股票代码可能是
EY_20-DJ -
即,连字符前有2个空格,连字符后最多有20个空格。关键是连字符不应该移动。 请记住,并非所有库存商品都是这样,只有少数。基本上只需要删除尾随空格,其间不应添加额外的间距。“
我尝试过TRIM,它将连字符前的2个空格减少为1,而CLEAN在这方面没有做任何事情。
可以将其保留在公式中,还是我们需要进行宏路径?
任何建议表示赞赏!
答案 0 :(得分:1)
您应该尝试使用Asap Utilities:http://www.asap-utilities.com/ 有一堆宏,一个是删除之间或之后的空格 我在很多Excel练习中都使用过它,就像魅力一样
答案 1 :(得分:0)
这个用户定义的函数可以解决这个问题:
Function RTrimExcel(s As String) As String
RTrimExcel = Rtrim(s)
End Function
这只是VBA Rtrim
函数的一个包装,它完全符合您的要求。从Excel中调用=RTrimExcel(A1)
:
注意我如何为文本加下划线以使尾随空格可见。
请注意,这不是宏;这是一个用户定义的功能。你暗示你不想使用宏,但如果你想要完全没有VBA的东西,请告诉我们......这需要更多的思考!
修改强>
如果你的上一个非空格字符总是-
,你可以使用这样的工作表公式来完成:
=LEFT(A1,FIND(CHAR(1),
SUBSTITUTE(A1,$B$3,CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,$B$3,"")))))
请注意,我将-
存储在单元格B3中,因此很容易更改。