我有两个Excel工作表(假设是sheet1和sheet2)。例如,sheet1上从R1C1到R4C1的值分别为0(5)
、2(6)*
、92
和44
。
我想复制数字值从sheet1到sheet2。因此,我在工作表2的R1C1中有这个公式:
=LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1)
这个公式返回sheet2上的值如下所示:
R1C1 - 0
R2C1 - 2
R3C1 - #值!
R4C1 - #值!
主要问题是R3C1和R4C1。
如果公式找不到"("
,我们可以在公式中包含一个逻辑测试,该测试返回R3C1的值92
和R4C1的值44
吗?
我建议你试试=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,"")
只有在编辑了这个问题之后,我现在才意识到需求似乎是通过OP的公式和上面我的公式的组合来服务的:
=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))
这将返回0
和2
的文本和92
和44
的数字。
是,你可以使用ISERROR函数检查错误:
=IF(ISERROR(LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1)),LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))
就像IF, THEN, ELSE语句块
如果左(Sheet1 ! A1,搜索("(",Sheet1 ! A1) 1)) = #价值
那就拿Sheet1吧!A1)-1
其他左(Sheet1 ! A1,搜索("(",Sheet1 ! A1) 1)
无论如何都应该让你开始
HTH
菲利普