【问题标题】:Excel TRIM Function BugExcel TRIM 函数错误
【发布时间】:2023-03-06 20:02:01
【问题描述】:

根据随附的示例工作表,TRIM 似乎无法正常工作,还是我误解了它? 无论哪种方式,目前对我来说都非常令人沮丧,因为我有一个电子表格,我必须计算单元格中的单词数,并且由于这个问题,我无法建立一个完全有效/强大的公式或 VBA 用户定义函数来实现这个。

我已经在网上搜索了所有内容,但没有找到解决方案。

下面的链接是我通过 Dropbox 共享的 Excel 工作表,它说明了问题。

Example Worksheet

点击链接后,您应该会在浏览器中看到“打开方式”选项,并且可以选择 Microsoft Excel Online,这样您就可以查看我已有的内容、进行编辑等。

这是电子表格的屏幕截图,您可以看到返回的数字似乎错误的单元格,因为它与存在的前导/尾随/剩余空格的数量不匹配,如第 10 行所述.

基本上,我希望第 13 行的数字与第 10 行的数字相匹配。

第 13 行的那些是由公式生成的... =LEN(F9)-LEN(TRIM(F9))

F9 中文本的每一行都以空格开头,以空格结尾,在终止前两行的换行符之前。

@z32a7ul...谢谢,您在下面提供的信息真的很有帮助。
我曾尝试过类似的东西,但它基本上看起来像这样......
=TRIM(SUBSTITUTE(A1(CHAR(10)," ",""))
当然,我现在看到 "" 显然当时没有算作空格。
Aaggghhh。我是如此接近!

【问题讨论】:

  • 请至少描述您问题中的错误:即您使用了哪些输入和公式,您希望得到什么结果,您实际上得到了什么?我怀疑大多数人是否愿意下载并研究随机工作表只是为了弄清楚你的问题是什么。此外,Stack Overflow 的目的是收集常见问题的答案,以便人们可以在 Google 上找到它们;如果你不用语言描述你的问题,那么其他有同样问题的人就不可能找到它。
  • ... 您可能还会发现我们的帮助页面创建 minimal reproducible example 很有帮助;虽然它主要是使用传统编程语言编写的,但一般原则也适用于 Excel 工作表。
  • 添加了更多信息和屏幕截图,希望有助于说明问题。该工作表提供了一个最小的可重现示例,该示例在图像中清晰可见,其中单元格 F13 应返回 6 而不是 2。

标签: excel


【解决方案1】:

看起来 Excel 的 TRIM 将换行 (ascii 10) 视为单词中的字符。

如果您不喜欢这样,请在应用 TRIM 之前将其删除。您可以通过用空格 (ascii 32) 字符替换它们来删除它们。

=TRIM(SUBSTITUTE(A1,CHAR(10)," "))

【讨论】:

  • 更具体地说,Trim 只处理空格 (char(32)),而不是“空白”。所以是的,如果你想让 Trim 处理一般的空白字符,你需要用空格替换它们。这些特征的列表很长......
  • 感谢@z32a7ul 提供的信息/反馈/解决方案。
  • 感谢@chris neilsen 提供的信息/反馈/解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多