我有两张Excel表格(比如说sheet1和sheet2)。对于此处的示例,从R1C1到R4C1的sheet1上的值为0(5)
,2(6)*
,92
和44
。
我想只将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的"("
?
答案 0 :(得分:1)
我建议你试试=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,"")
只有在编辑了这个问题之后,我现在才意识到要求似乎是由OP的公式和我的上述组合提供的服务:
=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))
这将返回0
和2
之前的文字以及92
和44
的数字。
答案 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
菲利普