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



我有两个Excel工作表(假设是sheet1和sheet2)。例如,sheet1上从R1C1到R4C1的值分别为0(5)2(6)*9244

我想复制数字值从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))  

这将返回02的文本和9244的数字。

是,你可以使用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

菲利普

最新更新