如果未找到指定的字符,则返回原始值的公式

时间:2013-04-11 19:18:20

标签: excel if-statement excel-formula excel-2007 worksheet-function

我有两张Excel表格(比如说sheet1和sheet2)。对于此处的示例,从R1C1到R4C1的sheet1上的值为0(5)2(6)*9244

我想只将sheet1中的数值复制到sheet2。因此,我在sheet2的R1C1中有这个公式:

=LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1)

此公式返回sheet2上的值,如下所示:

R1C1 - 0
R2C1 - 2
R3C1 - #Value!
R4C1 - #Value!

主要问题是R3C1和R4C1。

我们是否可以在公式中包含逻辑测试,如果公式找不到92,则返回R3C1的值44和R4C1的"("

2 个答案:

答案 0 :(得分:1)

我建议你试试=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,"")


只有在编辑了这个问题之后,我现在才意识到要求似乎是由OP的公式和我的上述组合提供的服务:

=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))  

这将返回02之前的文字以及9244的数字。

答案 1 :(得分:0)

是的,您可以使用ISERROR函数检查错误:

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

所以这就像一个IF,THEN,ELSE块

如果左(Sheet1!A1,SEARCH(“(”,Sheet1!A1)-1))= #VALUE

然后只需要Sheet1!A1)-1

否则采取LEFT(Sheet1!A1,SEARCH(“(”,Sheet1!A1)-1)

无论如何,这应该让你开始

HTH

菲利普