Cálculo manual y automático en Excel.

lunes, septiembre 22, 2008

Hoy un compañero de trabajo vino a verme totalmente alarmado. Después de recuperar el aliento me cuenta que en "su Excel" es decir, la hoja en la llevaba trabajando varias horas, los resultados no cambiaban a pesar de que había cambiado los datos.
Para ponerlo con un ejemplo supongamos esta hoja donde en la celda C2 tenemos la fórmula A2*B2



Cambiamos la cantidad en la celda A2 a 100. El resultado en la celda C2 debería cambiar a 25000, pero



Sin embargo sí hay un cambio. En la parte inferior izquierda de la hoja aparece "Calcular". Este mensaje significa que Excel se encuentra en situación de cálculo manual y para recalcular las fórmulas de la hoja debemos apretar F9.

Para saber cuál es el método de cálculo del cuaderno con el que estamos trabajando podemos fijarnos en Herramientas-Opciones



Todo esto es seguramente "noticias de ayer" para la mayoría de mis lectores. Pero existen no pocos aspectos menos conocidos del método de cálculo de Excel que en ciertas circunstancias pueden ocasionar problemas, también a usuarios experimentados.

Excel tiene un mecanismo de cálculo muy sofisticado. Este mecanismo minimiza el tiempo de recálculo recalculando sólo las celdas que necesitan ser recalculadas. Sin extendernos en detalles técnicos podemos decir que hay algunas excepciones a esta regla. Por ejemplo, las funciones volátiles son calculadas con cada cambio en la hoja, también si este cambio no afecta a la fórmula en cuestión.
Cuando Excel está en modo de cálculo manual, ninguna celda es recalculada, tampoco aquellas que contienen fórmulas con funciones volátiles.

El método de cálculo es determinado por el método del primer cuaderno que abrimos al iniciar una sesión de Excel. Este es un detalle crítico: todo cuaderno que abramos después, no importa cuál sea el método de cálculo con que fue guardado, funcionará con el método de cálculo del cuaderno que inicio la sesión corriente de Excel.

Al cambiar el método de cálculo de un cuaderno, con el menú Herramientas-Opciones, se cambia el método de todos los cuadernos abiertos en esa sesión de Excel.

También después de cerrar todos los cuadernos de una sesión, al abrir un nuevo cuaderno el método de cálculo será el de último cuaderno que hayamos guardado. La excepción a esta regla es si creamos un cuaderno a partir de una plantilla.

Cuando trabajamos en situación de cálculo manual podemos pulsar la tecla F9 para recalcular todos los cuadernos abiertos en la sesión o Mayúsculas+F9 para recalcular sólo la hoja activa.
Otra combinación posible es Ctrl+Alt+F9 que realiza un recálculo completo (full calculation), es decir, de todas las fórmulas aún de aquellas cuyas variables no han cambiado.

También podemos usar F9 para momentáneamente el resultado de una fórmula o parte de ella, en la barra de fórmulas. Por ejemplo, activamos la celda C2 en nuestro ejemplo y seleccionamos la operación



Al apretar F9 vemos el resultado en la barra de fórmulas




Technorati Tags:

17 comments:

Anónimo,  29 septiembre, 2008 17:44  

Respecto al calculo manual o automatico. Tengo un libro en el cual el calculo se hace bastante lento (por lo que tenemos activado calculo manual) pero es necesario ver los resultados.
Es posible que solo se calculen las formulas de la hoja actual.

Jorge L. Dunkelman 01 octubre, 2008 00:07  

Puedes usar F9, como señalo en la nota, o puedes usar el botón "Calcular Hoja" en el formulario de Opciones (puedes ver la imagen en la nota).

Anónimo,  03 diciembre, 2009 15:20  

MUCHAS GRACIAS!!!!!!!!!!!!!!!!

Son grandes!! :)

Anónimo,  10 octubre, 2012 19:22  

Estimado Jorge, por favor me puedes orientar con respecto a un archivo Excel con acceso a datos, de 4500 filas, pero cada celda tiene Validación de Datos y Formato Condicional. El archivo se ha vuelto inmanejable, se tarda demasiado en actualizar la información obtenida de la base de datos. (luego esta información de actualizada en la base, de ahí que use Validación de datos)

Jorge L. Dunkelman 15 octubre, 2012 19:33  

Hola,
te sugiero que me envíes el archivo siguiendo las instrucciones que pongo en el enlace Ayuda (en la parte superior de la plantilla).

Anónimo,  19 diciembre, 2012 18:16  

Seria posible deshabilitar ese comportamiento de herencia del modo de cálculo, de forma que cada libro usase su propio modo de cálculo?

Jorge L. Dunkelman 20 diciembre, 2012 14:18  

No, hasta donde dan mis conocimientos. Siempre se puede programar un evento para poner la propiedad de cálculo a automática, pero hay que hacerlo para cada cuaderno.

eonmkt 28 diciembre, 2012 12:02  

Serán noticias de ayer para muchos expertos, pero para mi ha sido la salvación del poco pelo que me queda porque me estaba estirando de él. Muchas gracias por este post.

Anónimo,  02 febrero, 2013 14:16  

¿Sabes cómo se realizarían estos cambios en Excel 2007?, quiero decir, de modo automático a modo manual y que solo me afectase a la hoja abieta, el resto del documento en automático.
Gracias.

Jorge L. Dunkelman 02 febrero, 2013 17:00  

En Excel 2007 en la pestaña Fórmulas-Cálculo-Opciones de cálculo.
La propiedad se aplica a todo el cuaderno, no a una hoja en particular. Podrías programar un evento para una hoja determinada de manera que al activar la hoja, la propiedad pase a ser manual y al desactivar la hoja vuelva a automático.
Si tomas en cuenta que las fórmulas de una hoja pueden estar ligadas a otras hojas del cuaderno, ¿cuál sería el sentido, aún si fuera que posible, que una hoja recalcule sólo en forma manual y el resto automáticamente?

Anónimo,  07 abril, 2013 20:35  

Hola Jorge, aprecio mucho tu trabajo, tengo una pregunta??
Con Ctrl Alt y f9 se efectua un calculo total
Con f9 se efectua un calculo de todos los libros
Con Alt f9 se efectua un calculo de toda la hoja activo, pero...
Cómo puedo cálcular unicamente: una fila, una columna, una celda o un rango?????
Gracias de antemano

Jorge Dunkelman 08 abril, 2013 07:33  

No se puede. Excel recalcula todas las fórmulas en la hoja, bajo ciertas condiciones que no detallaré aquí. Esto se debe a la dependencia entre las celdas.

Luis Reyes 30 abril, 2014 01:39  

Hola Jorge,
Existe algún truco o algo que nos ayude a quitar el cálculo automático solo a unas hojas de Excel y no a todo el libro??

Jorge Dunkelman 30 abril, 2014 08:00  

La única forma que se me ocurre es usando eventos (macro). Un evento Activate para definir el cálculo como manual al ingresar a una hoja y uno Deactivate para volver al cálculo a automático cuando se deja esa hoja.

Luis Reyes 30 abril, 2014 17:34  

Hola Jorge, te agradezco mucho, tendrás alguna entrada que me ayude con ese evento o te agradecería mucho si tu me ayuda a crear ese evento.

Gracias desde México.

Jorge Dunkelman 01 mayo, 2014 07:15  

Hola Luis, en el módulo de la hoja hay que poner dos subs:

Private Sub Worksheet_Activate()
Application.Calculation = xlManual
End Sub

hace que cuando se activa la hoja el método de cálculo del cuaderno pase a ser manual;

Private Sub Worksheet_Deactivate()
Application.Calculation = xlAutomatic
End Sub

cuando el usuario pasa a otra hoja el método de calculo vuelve a ser automático.

Luis Reyes 02 mayo, 2014 18:17  

Hola Jorge te agradezco enormemente, funciona de forma excelente.

Gracias!!

Publicar un comentario

Seguidores

Google+ Followers

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP