Hero for Eficiencia en el cálculo de Excel
· System Design · 3 min de lectura
Español

Eficiencia en el cálculo de Excel

Hace un tiempo tuve que investigar en profundidad sobre la eficiencia de Excel. Algunos de los archivos que usábamos en la banca tardaban mucho en calcular, y queríamos ver qué mejoras se podían hacer. Hay mucho contenido disponible, y estos fueron los sitios más útiles que encontré. Sin embargo, no estoy necesariamente de acuerdo con todo el contenido:

  1. Propio de Microsoft ‘improving performance’ writeup

    • “Con el Excel 2007 “Big Grid”, el rendimiento realmente importa”
    • “Excel tiene tres fases distintas en el proceso general de cálculo:
      • Construye la cadena inicial de cálculo y determina por dónde empezar a calcular. Esta fase ocurre cuando el libro de trabajo se carga en la memoria.
      • Rastrea las dependencias, marca las celdas como no calculadas y actualiza la cadena de cálculo. Esta fase se ejecuta en cada entrada o cambio de celda, incluso en modo de cálculo manual. Normalmente esto se ejecuta tan rápido que no te das cuenta.
      • Calcula todas las fórmulas. Como parte del proceso de cálculo, Excel reordena y reestructura la cadena de cálculo para optimizar futuros recálculos.”
    • “Una función volátil siempre se recalcula en cada recálculo aunque no parezca haber cambiado precedentes. Usar muchas funciones volátiles ralentiza cada recálculo, pero no hace diferencia para un cálculo completo.
      • Algunas de las funciones integradas en Excel son obviamente volátiles: RAND(), NOW(), TODAY(). Otras son menos volátiles evidentes: OFFSET(), CELL(), INDIRECT(), INFO().
      • Algunas funciones que previamente se han documentado como volátiles no lo son en realidad: INDEX(), ROWS(), COLUMNS(), AREAS().”
      • Nota: esto pudo haber cambiado en versiones posteriores de Office
    • Ofrecen una lista de acciones volátiles que desencadenan recálculos
    • También proporcionan una macro para medir el tiempo de cálculo
    • Ellos dan algunos golden rules to follow, con la intención general de simplicidad
      • Eliminar cálculos duplicados, repetidos e innecesarios
      • Utiliza la función más eficiente posible
      • Aprovecha bien el recálculo inteligente
      • Tiempo y prueba de cada cambio
    • Ofrecen un buen ejemplo de how to simplify a problem
    • Y repasa una larga lista de cuellos de botella comunes con las fórmulas
  2. Another site Con consejos de velocidad de Excel

    • “Usar columnas auxiliares”
      • Totalmente de acuerdo, y normalmente poco aprovechado por muchos
    • “Usa tablas de Excel y rangos nombrados”
      • Estoy de acuerdo con los rangos con nombre, aunque a menudo soy demasiado perezoso
    • “Usar técnicas de fórmulas más rápidas”
      • Fíjate en los consejos repetidos
  3. Yet another site

    • “Aislar fórmulas repetidas y moverlas a celdas individuales”
      • Relacionado con el punto de la columna de ayuda anterior
    • “Anidar si las condiciones coinciden en el orden de frecuencia de ocurrencia”
      • Ya no recuerdo si esto es cierto, así que tómalo con cautela
  4. Y por último, un sitio que compara la velocidad de vlookup vs index match

    • La igualación del índice siempre es superior en eficiencia
    • Dicho esto, sigo usando vlookups cuando es una simple extracción o cuando creo que mi modelo va a ser revisado por alguien que se confundirá con la coincidencia del índice. Diseña pensando en el usuario final.

Discusión

What did I miss?

Los desacuerdos razonados, la evidencia adicional y las distintas formas de ver el problema son bienvenidos.

Cargando la discusión…

¿Prefieres una conversación privada? Escribir a Leon.