Error al usar la function O en Excel

Estoy usando Excel Formula OR en una fórmula de Excel y estoy un poco sorprendido por la forma en que se comporta.

Estoy usando la siguiente fórmula de Excel:

 =IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", funct(A1,A5)) 

ISERROR(funct(A1:A5)) , si ISERROR(funct(A1:A5)) True(or False) , el resultado de la operación OR sería True (o False).

En mi experimento, esperaba que la respuesta fuera "ERROR", ya que el ISERROR(funct(A1:A5)) resulta true .

¡Pero estoy obteniendo #VALUE! error. Cualquier idea que podría estar mal. O si puedo reformular la fórmula para que funcione.

Gracias

Creo que te estás perdiendo un aarm cercano.

Prueba esto:

 =IF(OR(ISERROR(funct(A1:A5)), func(A1,A5)=0), "ERROR", func(A1,A5)) 
 =IF(ISERROR(funct(A1:A5)),"ERROR",IF(funct(A1:A5)=0,"ERROR",funct(A1:A5))) 

Recomiendo la respuesta de Tim, pero si func() es una function grande, como dices, entonces quizás quieras minimizar la cantidad de veces que se usa. Supongo que se debe invocar la misma function en toda la fórmula, es decir, func (A1: A5)

En Excel 2007 o posterior puede usar la function IFERROR:

=IFERROR(IF(func(A1:A5)=0,"ERROR",func(A1:A5)),"ERROR")

o en versiones anteriores puede forzar a func (A1: A5) a dar un error cuando es igual a cero dividiendo 1 por func (A1: A5):

=IF(ISERROR(1/func(A1:A5)),"ERROR",func(A1:A5))

Editar: Dando un paso más, puedes combinar ambos enfoques en Excel 2007 o posterior para que solo necesites invocar func una vez:

=IFERROR(1/(1/func(A1:A5)),"ERROR")

=IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", func(A1,A5)) – una mirada cercana a su fórmula resultó en la sugerencia: funct(A1,A5)=0 y func(A1,A5) son funciones realmente diferentes , ¿o es un error tipográfico en su fórmula? Quizás ese es el caso.