sábado, 28 de septiembre de 2013

Mi Excel no calcula, ¿qué le pasa?



Hace unos días, recibo un e-mail de un cliente en el que mostraba su desesperación porque Excel no realizaba aquello para lo que se hizo. Es decir, calcular.

Simplemente, no hacía ningún recálculo de ninguna fórmula o función... excepto... si entraba en cada una de las celdas y presionaba ENTER. Imagino que más usuarios habrán pasado por esta situación alguna vez y sin saber el motivo de tal "huelga de cálculo" por parte de Excel.


El motivo, es que el libro de Excel que estaba utilizando el usuario "desesperado" tenía configurado el modo de cálculo como "Manual". De esta forma, Excel no recalcula todo el libro si no es mediante F9 (o toda la hoja activa, mediante Mays+F9).

Y ahora viene la "pregunta del millón" ¿por qué motivo tiene Excel este comportamiento, si el usuario no modificó ninguna configuración?

La respuesta es un curioso comportamiento de Excel en determinada circunstancia:

  • Supongamos que tenemos un libro de Excel abierto, con el que estamos trabajando y cuya configuración de cálculo es... la de siempre, la normal... "Cálculo automático".
  • Supongamos también, que a continuación abrimos otro libro de Excel cuya configuración de cálculo es "Manual" (por ejemplo, algún libro que hayamos importado de otra aplicación o de algún ERP o programa contable... o incluso que nos haya dejado otro usuario).
Pues bien, con las circunstancias anteriores, TODOS los libros abiertos en ese momento, adoptan la configuración de cálculo del último libro que se abrió. En este ejemplo... "Cálculo manual".
  • Supongamos, por último, que el usuario no se da cuenta (es lo normal, puesto que no hay síntomas de este cambio de configuración, a menos que activemos la ficha "Fórmulas" y despleguemos el comando "Opciones para el cálculo", dentro del grupo "Cálculo") y guarda el archivo y..... ¡¡voilà!! Ambos archivos tendrán, a partir de ahora, la configuración de "Cálculo manual".



Las soluciones a esto, son dos posibles (una para todos los usuarios y otra para usuarios avanzados):
  1. Llevar cuidado y revisar el modo de cálculo que tienen configurado las hojas de cálculo de origen externo que llegan a nuestro Excel.
  2. Si se trata de "blindar" un archivo determinado que tengamos, debido a su importancia, podemos insertarle un sencillo código dentro de "ThisWorkbook".





     Esta solución asegura que cada vez que se abra Libro1, lo hará en modo "Cálculo automático" (y todos los libros cambiarán a ese modo) y cada vez que se cierra, lo hará también en modo "Cálculo automático" (y también cambiará en ese momento el módo de cálculo de todos los libros abiertos. Ahora bien, ¡¡cuidado!!, si durante el trabajo con el libro (después de abierto, pero antes de cerrarlo) se abre un archivo con modo de cálculo "Manual", nuestro libro cambiará también a "Manual".

A estas alturas, alguien se estará preguntando ¿para qué querrá alguien cambiar Excel a un modo de cálculo "Manual"?. 

Para responder a la anterior pregunta, debemos saber previamente que con el modo de cálculo "Automático", Excel recalcula todo el libro cada vez que actualizamos cualquier dato de cualquier hoja. Por lo tanto, cuando en un libro de Excel hay miles de fórmulas y funciones, TODAS se reclacularán constantemente a cada paso que demos en nuestro trabajo cotidiano. Puesto que el cálculo de grandes cantidades de fórmulas puede llevar varios segundos, el trabajo se haría tedioso y quizá inviable. Así pues, con el modo "Manual" podemos elegir el momento de cálculo presionando F9 para calcular todo el libro o Mays+F9 para calcular sólo la hoja activa.

Con el modo "Manual" también podemos configurar Excel para que actualice el libro justo antes de guardar (desde Archivo / Opciones / Fórmulas / Opciones de cálculo):



Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company:
 

11 comentarios:

  1. Gracias!!! me han servido de mucho aporte. No le hallaba solución al problema. :)

    ResponderEliminar
  2. Yo lo tengo en automático, y sin embargo,abro y cierro solo ese archivo y no se re calculan. Tampoco me guarda dos cambios en los números. No entiendo que le pasa, ya ejecute reparación y no pasa nada.

    ResponderEliminar
  3. Muchas gracias, un excelente aporte a quienes manejamos excel diariamente y no llegamos a ser expertos. Recorreré el resto del blog sabiendo que encontraré otras perlitas. Saludos. Antonio

    ResponderEliminar
  4. MUY BUENOS DIAS, MUCHAS GRACIAS POR LA EXPLICACION, HA MUY BUENA HORA ME DI CUENTA DE ESTO YA QUE TENGO MUCHAS MACROS Y BOTONES LLAMANDO SUBRUTINAS QUE SE HACIAN ETERNAS POR LO CARGADO QUE TENIA EL PROGRAMA, PERO ESTA OPCION ES EXCELENTE DE TRABAJAR MANUALMENTE Y LUEGO ACTUALIZAR TODO ANTES DE GUARDAR Y TENIENDO MUY ESPECIAL CUIDADO CON LOS MODOS MANUAL Y AUTOMATICO, CREO QUE EN ALGO TAN IMPORTANTE MICROSOFT DEBERIA ALERTAR EN UN MENSAJE AL ABRIR LOS ARCHIVOS CUANDO ESTA EN AUTOMATICO Y CUANDO NO. Y MUCHAS GRACIAS POR TAN EXCELENTE APORTE Y QUE DIOS TE BENDIGA Y A TU GRUPO

    ResponderEliminar
  5. muchísimas gracias, fue muy útil su ayuda

    ResponderEliminar
  6. GRACIAS POR LA RESPUESTA, ME FUE DE AYUDA

    ResponderEliminar
  7. Tengo un problema, tengo una hoja con más de 10,000 registros, hay fórmulas y datos que se procesan con otras hojas, pero cada vez que agrego una fila, o quiero cambiar algún dato, se queda pensando por mucho tiempo, le he puesto la opción de cálculo manual, he reducido el número de fórmulas, pero sigo con el mismo problema, AYUDA PORFA !!!!

    ResponderEliminar
    Respuestas
    1. Es más que probable que el motivo sea una combinación de causas.
      Por un lado, es probable que estés trabajando con tablas con formato de "Tabla de Excel". Si es así, debes saber que estos formatos son muy productivos y ventajosos para tablas relativamente pequeñas, pero si son exageradamente grandes y además tienen fórmulas, se hacen muy pesados.
      Asú pues, intenta lo siguiente (ya tengo en cuenta que no es problema de recálculos, puesto que dices que desactivas el modo automático):
      1) No trabajar (si eso es posible) con tablas de Excel, sino con tablas que no tengan ese formato.
      2) Reducir, todavía más las fórmulas en la medida de lo posible
      3) Guarda el archivo como libro .xlsb (desde guardar como...), puesto que este formato contribuye a que el archivo funcione más rápido
      4) Divide la información en varias tablas más pequeñas, si es posible
      5) Si tienes conocimientos suficientes de programación en VBA, haz que tu aplicación trabaje con valores fijos y no con fórmulas.

      Saludos.

      Eliminar
  8. Excelente explicación. Aún hoy, varios años después, sigue dando respuesta a un problema simple pero que en uno u otro momento se puede presentar. Gracias

    ResponderEliminar