0

我有两个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。

如果公式找不到"(",我们可以在公式中包含一个逻辑测试:R3C1返回值92,R4C1返回44

回答

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

菲利普

1

我建议只有在编辑问题,我现在意识到需要在您尝试=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,"")


似乎是什么情况由OP的公式和上述矿的组合服务:

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

这将返回文本,如之前的02以及9244的编号。

相关问题