Antes de Excel 2007 , Excel fórmulas se limitaron a siete niveles de anidamiento . En Excel 2007 y 2010 , el número máximo de niveles de anidamiento que una fórmula puede tener se ha elevado a 64 . Un tema relacionado es que en Excel 2003 y versiones anteriores , las fórmulas fueron limitados a 255 caracteres , sino que ahora están limitados a 1023 caracteres en Excel 2007 . Al abrir una hoja de cálculo de Excel 2007 en Excel 2003 y versiones anteriores , las fórmulas que no se puede evaluar en la versión anterior se mostrará un # ERR resultado.
Performance Optimization
IF anidadas debe ser cuidadosamente estructurado , Excel evaluará cada paso a lo largo de la instrucción If como un cálculo separado . Trate de estructurar su formula de tal manera que los más comunes " como resultado true " declaraciones llegan antes en la fórmula que tarde para evitar que Excel ejecuta a través de más pasos de lo que debe .
Combination con y y O Funciones
de Excel y la función puede eliminar la mayor parte de la necesidad de realizar complicados y difíciles de mantener IF anidadas . Por ejemplo , "= SI (Y (A1 = 2 , A2 = 4 , A3 = 7 ) , FALSE, TRUE) " obtiene los mismos resultados que " IF ( A1 = 2 , SI (A2 = 4 , SI (A3 = 7 , FALSE, TRUE) ) ) ", pero es más fácil de modificar y añadir comprobaciones lógicas adicionales . Asimismo, no se ejecuta en el límite de anidamiento , aunque una y la función está limitada a 255 argumentos en Word 2007. La función OR funciona de manera similar , pero en lugar de evaluar si toda la condición es verdadero, evalúa como True si cualquiera de las condiciones especificadas es cierto .
BUSCARV como alternativa
IF anidadas se usan comúnmente para evaluar los valores de las celdas y devolver una respuesta . El ejemplo arquetípico de usar un if anidado es convertir los grados porcentuales en el libro de calificaciones del docente en las calificaciones con letras . Debido a la forma en Excel procesa los datos , esto puede ser manejado de manera más eficiente mediante la definición de una mesa y el uso de la función BUSCARV para cruzar índice el valor de una celda con una columna de valores y devolver el resultado . Esto es más fácil de mantener y computacionalmente menos recursos que el uso de instrucciones If anidadas .