使用下列公式之一
=IF(Sheet1!C5="","",LEFT(Sheet1!C5,FIND("-",Sheet1!C5)-1))
或
=IF(ISBLANK(Sheet1!C5),"",LEFT(Sheet1!C5,FIND("-",Sheet1!C5)-1))
或
=IF(Sheet1!C5<>"",LEFT(Sheet1!C5,FIND("-",Sheet1!C5)-1),"")
或
=IF(NOT(ISBLANK(Sheet1!C5)),LEFT(Sheet1!C5,FIND("-",Sheet1!C5)-1),"")
循环公式的原因应该是,你在当前列的c5单元格输入了你的公式。但是,在你的公式中,最终截取的信息又是c5单元格本身。而不是sheet1的c5单元格。因此,对你的公式进行了下面的修改。
=IF(sheet1!C5=0," ",LEFT(sheet1!C5,FIND("-",sheet1!C5)-1))
但是,你的原公式又和你的描述有点出入。你的描述中是判断原单元格是否为空。而你的公式中,是判断原单元格是否等于0。如果是要判断空的话,用下面的公式。
=IF(sheet1!C5=“”,"",LEFT(sheet1!C5,FIND("-",sheet1!C5)-1))
没必要用IF判断
=LEFT(F1,FIND("-",F1&"-")-1)
循环了,说明你的公式输在了C5单元格里,或C5单元格引用了你此公式所在单元格。
这个公式写在工作表sheet1的C5单元格,或当前工作表的C5单元格,就会造成循环引用。
因为公式中包含当前单元格。