【问题标题】:Formula to eliminate all characters after a (optional) space消除(可选)空格后所有字符的公式
【发布时间】:2017-02-11 17:25:40
【问题描述】:

我正在寻找一个可以消除字符串中空格后的空格和无用字符的公式。

我的第一反应是:=LEFT(A1,FIND(" ",A1))

  • 它适用于所有有空格的情况
  • 但如果单元格中没有空格,我的公式就会中断。

我需要一个一致的公式来处理这两种情况的数百种情况

什么是可以处理带空格和不带空格的单元格的通用公式?

我也尝试了 IF 语句,但似乎无法弄清楚如何检查字符串中是否有空格。

这是我的单元格示例:Example Cells

以下是我正在使用的一些值。

AA
AA *+
C *-
A+
BBB

【问题讨论】:

  • 一些例子会很棒。您是说要消除字符串中第一个空格之后的所有字符,如果没有空格则保持字符串不变?
  • 没错,我想消除空格后面的所有内容。但是我的一些单元格将没有需要删除的内容:
  • 您可以在字符串末尾添加一个空格:例如=left(a1, find(" ", a1 & " ")-1)

标签: excel excel-formula


【解决方案1】:

如果您想消除空间,您将需要使用Find()-1。要处理没有空格的情况,请使用IfError

=IFERROR(LEFT(A1,FIND(" ",A1)-1),A1)

【讨论】:

  • 谢谢。这适用于我创建的小数据集。所以很确定它明天会在我拥有的大型数据集上工作。唯一关心的是如果我的 A1 单元格的内容是函数=BDP(foo,baa)Iferror 还会处理它吗?
  • @AnthonyWorden IfError 查看其参数的,无论它是从作为常量还是公式输入的单元格派生而来。
【解决方案2】:

编写公式就像编码 - 你应该专门测试你正在处理的问题,所以建议

使用 Ron 的公式 - 聪明且简单

==LEFT(A1, FIND(" ", A1 & " ")-1)

或使用初始字符串

=IF(ISERROR(SEARCH(" ",A1)),A1,LEFT(A1,FIND(" ",A1)-1))

或完全避免错误处理功能

=IF(LEN(SUBSTITUTE(A1," ",""))=LEN(A1),A1,LEFT(A1,FIND(" ",A1)-1))

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 2023-03-25
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多