这种事在过去发生过很多次。
出于某种原因,你的瓦卢库普的返回了一个#N/A错误,您不知道原因。
一切看起来都很好,公式应该是有效的。但由于一些未知的原因,一些结果是错误的。
我第一次遇到这种情况时,我花了很长时间试图找到这个问题,却发现一些查找数据在末尾附加了额外的空格字符!
这种情况经常发生。数据的开头或结尾可能有空格字符。它甚至可能在不应该存在的单词之间有多个空格。
既然我们知道了问题所在,我们如何解决它?
在这篇文章中,我们将研究从数据中删除这些多余空格字符的各种方法。
表的内容
我们的Post示例数据
在这篇文章中,我们将着眼于一组简单的数据。这只是“你好世界!,但有各种额外的空间。
- 这里没有多余的空格。这只是一个控制,以确保当我们应用我们的修复时,我们不会破坏一些正确的东西。
- 看起来还可以,但实际上末端添加了5个空格。
- 开始有5个空格。前导空格更容易发现。
- 这里我们在数据中有前导和尾随空格。
- 单词之间有几个空格。在本例中很明显,因为我在单词之间添加了5个空格。如果我们只有2个空格,根据使用的字体,可能会更难发现。
- 这个有三种可能。前导、尾随和中间。
让我们看看如何解决这些问题!
使用TRIM函数删除额外的空间
我们要看的第一种方法是最简单的。
额外的空格是一个非常常见的问题,因此有一个函数可以删除(或修剪)它们。这是一个修剪作用
它做的正是它听起来可能做的。它会从数据中删除任何多余的空间。它删除文本字符串中的所有空格,但单词之间的单个空格除外。
TRIM函数有一个必需的输入,这就是我们想从其中删除多余空格的文本。输入可以是一个单元格引用B2或硬编码字符串,如“Hello World!””。
削减(B2)
将返回cell的内容B2删除额外的空格。
削减(“Hello World !")
会回来”你好世界!”。
用查找和替换删除单词之间的额外空格
下一个方法将使用Excel的查找和替换搜索功能。
这只适用于删除单词之间的额外空格。
首先,我们需要选择要删除额外空间的单元格范围。
然后去医院家选项卡➜编辑部分➜ 按找到和选择点击➜代替选项从菜单。
你也可以用theCtrl+H键盘快捷键。
两者都将打开查找并替换菜单,我们可以按选择权按钮更先进的发现和替换选项。
在找到什么节中,我们需要添加两个空格字符。我们可以按空间在键盘上敲两下。
在替换为节中,我们需要添加一个空格字符。我们可以按空间在键盘上按一次键。
我们可以判断空格字符在输入区域中,因为每次按空格键时光标都会向右移动。
确保其他高级选项被选中内表和看公式.
按替换所有按钮。由于我们的数据中有5个空格的字符串,我们需要按替换所有按钮几次,直到在数据中找不到任何双空格字符为止。
这将在数据的开头或结尾留下一个空格(如果有空格的话)。
使用Power Query删除额外空间
Power Query是关于数据转换的,所以它应该能够处理这个任务。
选择数据,然后转到数据标签➜ 按表/距离命令。
这将把我们的数据变成Excel表,如果它还没有被格式化。
我们可以确定选择的数据范围是正确的,并在需要时进行调整。我们的数据没有任何列标题,所以我们将我的表格有标题盒子不。
按好啊按钮创建表,电源查询编辑器将打开。
右键单击列标题➜选择变换➜ 选择修剪.
不幸的是,这并没有删除单词之间的任何额外空格,我们需要实现一对替换值转换步骤来实现这一点。
右键单击列并选择替换值从菜单中。
与find和replace方法一样,我们需要添加两个空格作为价值发现和一个空格作为替换为价值。然后我们可以按好啊按钮以添加此转换。
我们需要重复这一步,直到从数据中删除所有多余的空间。
要将清理后的数据返回到Excel中,我们需要关闭并加载数据。
我们可以去公园家TAB在电源查询编辑器➜按下关闭并加载➜选择关闭和加载到➜选择一个表格并选择加载表的位置。
用VBA删除单词之间的额外空格
VBA也有一个内建的修剪功能。
Sub-TrimSpaces()将rng作为范围Dim单元格作为范围Dim TempCell作为字符串集rng=为rng TempCell=单元格中的每个单元格选择。值TempCell=修剪(TempCell)单元格。值=TempCell下一个单元格结束Sub
上面的代码将循环遍历选定范围内的每个单元格并应用VBA修剪函数转换为单元格内的值。
类似于电源查询修剪转换时,它将仅删除任何文本开头和结尾处的空格。
结论
有很多方法可以移除数据中多余的空间。
我们看了公式,查找和替换,电源查询和VBA。
在我看来,简单的TRIM工作表功能是最简单和最有效的方法。
嗨,约翰,好帖子。
提示:在VBA中,两个工作表。修剪和应用。修剪functions remove spaces excess between characters.
费利佩,谢谢你的建议!