Excel-使用 FIND 函数克服 #VALUE 错误

Excel-使用 FIND 函数克服 #VALUE 错误

我在单元格 A1 中输入了“Apple”。我在 B2 中输入公式=FIND("Apple",A:A)。但是我一直#VALUE出错。有人能解释一下吗?我该如何解决?

答案1

如果要在列中找到A包含单词“apple”的第一个单元格(行),该单词可能是较大单词(例如“crabapple”或“applesauce”)或句子的一部分,请使用

=MATCH("*apple*", A:A, 0)

答案2

Find 查找单元格,而不是单元格范围。语法组件 within_text 查找特定字符串,但单元格范围不是字符串。您可能能够使用数组实现这一点,但最简单的方法是创建一个查找器列;在要搜索的列旁边创建一个列,并在每个相邻的单元格中添加公式,因此在 B2 中 within_text 语句将是 A2。

=FIND("Apple",A1)


我感觉您是在尝试查找 Apple 一词的实例数。如果这是正确的,您可以使用以下公式:

=COUNTIF(A:A,"Apple")

但这只会给你 A 列中单词 Apple 的所有实例的数量,其中 Apple 是该单元格的全部内容。


如果您想要计算单元格包含 Apple 的所有实例,即使它还包含其他单词(即 Apple Pie),那么您需要返回到额外列中的 FIND 语句并使用 IF 语句,可能如下所示:

=IF(ISERROR(FIND("Apple",$A2)),0,1)

如果 FIND 语句导致错误,则返回 0,否则返回 1。然后,您可以简单地对该列求和以获得包含单词 Apple 的单元格的数量。

答案3

使用 Find 函数解析单元格中的值并解决#VALUE!结果

获取找到“&”之前的值

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))

找到“&”后获取值

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")

解释

  1. 测试 FIND 错误并用 0 替换
  2. 使用外部 If 进行测试
  3. 解决结果

示例:1

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,FIND("&",B:B)+1,99),"")
  • 牢房里有 Mary 和 David
  • 发现的值变为 6
  • 从位置开始到正确的拾取值
  • 结果是“David”

例如:2

  • 牢房里有玛丽
  • 值变为 0
  • 结果为空

例如:3

选取“&”之前的值

=IF(IFERROR(FIND("&",B:B),0)>0,MID(B:B,1,FIND("&",B:B)-1),TRIM(B:B))
  • 牢房里有 Mary 和 David
  • 结果是玛丽

答案4

=IFERROR(LEFT(A2,(FIND(".",A2,1)-1)),A2)

找到这个页面是因为我想用句号分割计算机名称,而没有 . 的行会崩溃

srv.domain.com = srv srv2.domain.com = srv2 srv3 = srv3 srv4 = srv4

相关内容