如何在excel函数中引用“#VALUE!”

如果单元格中存在CS号码,则使用以下公式生成1,如果不存在CS号码,则生成0。 嵌套的公式工作正常。

问题在于外部IFfunction。 会发生什么,当它没有find一个CS号码,它会产生#VALUE! 在牢房里。 当发生这种情况时,我希望细胞说1。

使用下面的函数,它仍然在填写#VALUE! 当一个CS号码没有被发现时。

 =IF(IF(ISERR(NUMBERVALUE(MID(K2,SEARCH("CS",K2)+M39,1))),MID(K2,SEARCH("CS",K2),9),MID(K2,SEARCH("CS",K2),10)) = "#VALUE!", 1, 0) 

有没有一个更合适的方式来引用这个产生1而不是?

具有讽刺意味的是, #VALUE! 不是一个Value ,所以你不能像If一样使用比较函数来处理它,就好像它是一个string一样。

将您的公式更改为:

 =IFERROR(IF(ISERR(NUMBERVALUE(MID(K2,SEARCH("CS",K2)+M39,1))),MID(K2,SEARCH("CS",K2),9),MID(K2,SEARCH("CS",K2),10)),1) 

…它会返回1而不是#VALUE! 如果您正在search的文本没有find。

  • 这里是 Excel公式错误的一个方便的指南 ,以及如何处理它们:

你试过了吗

 =IFERROR( your formula here, 1 ) 

基本上,它像往常一样评估你的公式,但是当公式中的任何内容返回一个错误时,你将得到一个1的回报。

使用这个想法,你可以将公式的每个部分包装在一个IFERROR中,以便定义默认值,以便在遇到任何时候返回。 有点浪费,但。