Rendimiento de Excel: Mejoras de rendimiento y límites
Se aplica a: Excel | Excel M365| Excel 2016 | Excel 2013 | Excel 2010 | Office 2016 | SharePoint Server 2010 | VBA
Excel M365 presenta nuevas características que puede usar para mejorar el rendimiento cuando trabaja con libros de Excel grandes o complejos
Mejoras de las funciones SUMAR.SI.CONJUNTO, PROMEDIO.SI.CONJUNTO, CONTAR.SI.CONJUNTO, MAX.SI.CONJUNTO, MIN.SI.CONJUNTO
En el canal mensual de Office 365, versión 2005 y posteriores, SUMAR.SI.CONJUNTO, PROMEDIO.SI.CONJUNTO, CONTAR.SI.CONJUNTO y MAX.SI.CONJUNTO, MIN.SI.CONJUNTO, así como sus equivalentes singulares SUMAR.SI, PROMEDIO.SI y CONTAR.SI son mucho más rápidos que Excel 2010 agregando datos de cadenas en la hoja de cálculo. Ahora, estas funciones crean un índice interno en caché para el rango que se está buscando en cada expresión. Este índice almacenado en caché se reutiliza en cualquier agregación posterior que se extraiga del mismo rango.
El efecto es dramático: por ejemplo, el cálculo de 1200 fórmulas SUMAR.SI.CONJUNTO, PROMEDIO.SI.CONJUNTO y CONTAR.SI.CONJUNTO que agregan datos de 1 millón de celdas en una CPU de 4 núcleos a 2 GHz que tardó 20 segundos en calcularse con Excel 2010, ahora solo tarda 8 segundos en Excel M365 2006.
Función RealTimeData (RTD)
En el canal mensual de Excel M365 versión 2002 o posterior, la función RealTimeData (RTD) de Excel es mucho más rápida que excel 2010 calculando los datos de la hoja de cálculo. Hemos evitado atascos en su memoria subyacente y en las estructuras de datos, así como permitido el uso seguro de subprocesos para que se pueda calcular en todos los subprocesos disponibles de Recálculo multiproceso (MTR).
Por ejemplo, la simulación de 125 000 actualizaciones RTD de temas sobre acciones como "Último precio", "Preguntar", "Pujar" para calcular valores como "Volumen de negociación", "Valor de mercado", "Beneficio/pérdida de negociación", etc. en 500 000 celdas en total, tardó 47 segundos usando Excel 2010 y solo 7 segundos con Excel M365 versión 2002, en el mismo hardware.
Otro efecto positivo de hacer que RTD sea seguro para subprocesos es que el Recálculo de multiproceso (MTR) ya no debe pausarse para ejecutar la función RTD. Esto permite mejorar el rendimiento de forma apreciable cuando se ejecuta RTD al mismo tiempo que muchos otros cálculos.
Por ejemplo, ejecutamos un libro con 10 000 RTD y 10 000 funciones BUSCARV, donde cada función BUSCARV depende del resultado de la función RTD. Sin la recalcación completa de RTD segura para subprocesos tardó 10,20 segundos y, con el RTD seguro para subprocesos, tardó 5,84 segundos.
Mejoras de BUSCARV, BUSCARH y COINCIDIR
En Office 365 versión 1809 y posteriores, las funciones BUSCARH, BUSCARV y COINCIDIR para buscar una coincidencia exacta en los datos sin ordenar son más rápidas que nunca al buscar en varias columnas (o filas con BUSCARH) en el mismo rango de tabla.
Ahora, estas funciones de búsqueda crean un índice interno en caché para el rango de columna que se está buscando. Este índice en caché se vuelve a utilizar en las búsquedas siguientes que obtienen datos de la misma fila (BUSCARV y COINCIDIR) o columna (BUSCARH). El efecto es espectacular: las búsquedas en 5 columnas diferentes en el mismo rango de tabla pueden ser hasta 4 veces más rápidas que las mismas búsquedas con Excel 2010 o Excel 2016, y la mejora es mayor si se buscan más columnas.
Por ejemplo, el cálculo de 100 filas de estas 5 fórmulas BUSCARV tardó 37 segundos en calcularse con Excel 2010 y solo 12 segundos en Excel 2016.
=VLOOKUP($A900000,$A$2:$E$1000000,1,FALSE)
=VLOOKUP($A900000,$A$2:$E$1000000,2,FALSE)
=VLOOKUP($A900000,$A$2:$E$1000000,3,FALSE)
=VLOOKUP($A900000,$A$2:$E$1000000,4,FALSE)
=VLOOKUP($A900000,$A$2:$E$1000000,5,FALSE)
Mejora de memoria LAA para Excel de 32 bits
Aunque la versión de 64 bits de Excel tiene límites de memoria virtual de gran tamaño, la versión de 32 bits tiene sólo 2 GB de memoria virtual. Algunos clientes utilizan la versión de 32 bits porque algunos controles y complementos de terceros no están disponibles en la versión de 64 bits.
Las versiones de 32 bits de Excel 2013 y Excel 2016 ahora tienen habilitada la característica Large Address Aware (LAA). Esto reducirá los mensajes de error de memoria agotada.
LAA duplica la memoria virtual disponible de 2 GB a 4 GB en las versiones de 64 bits de Windows y aumenta la memoria virtual disponible de 2 GB a 3 GB en las versiones de 32 bits de Windows.
Para obtener más información, vea Cambio en la función Large Address Aware de Excel.
Para descargar una herramienta que muestra la cantidad de memoria virtual disponible y cuánta se está usando, consulte Herramienta de comprobación de memoria de Excel.
Referencias a columnas completas
En versiones anteriores de Excel, los libros con grandes cantidades de referencias de columna completa y varias hojas de cálculo (por ejemplo =COUNTIF(Sheet2!A:A,Sheet3!A1)
) pueden consumir una gran cantidad de memoria y CPU cuando se abren o cuando se borran filas.
Excel 2016 compilación 16.0.8212.1000 reduce la memoria y CPU utilizada en estos casos.
En una prueba de ejemplo en un libro con 6 millones de fórmulas, el uso de referencias de columna completa provocó un error con un mensaje de memoria agotada con 4 GB de memoria virtual con Excel 2013 LAA y Excel 2010, pero solo se usaron 2 GB de memoria virtual con Excel 2016.
Referencias estructuradas
En Excel 2013 y versiones anteriores, la edición de tablas en las que las fórmulas del libro usaban referencias estructuradas a la tabla era lenta. Esto llevó a la percepción de que las tablas no debían usarse con un gran número de filas. Este problema ya no se produce en Excel 2016.
Por ejemplo, una operación de edición que tardaba 1,9 segundos en Excel 2013 y Excel 2010 tardó unos 2 milisegundos en Excel 2016.
Copiar o pegar, ordenar y filtrar
Hemos realizado varias mejoras en el tiempo de respuesta cuando se filtra, ordena, copiar y pega en libros grandes.
En Excel 2013, después de filtrar, ordenar o copiar y pegar varias filas, Excel podía responder lentamente o dejar de responder. El rendimiento dependía del recuento de todas las filas entre la fila superior visible y la última fila visible. Estas operaciones son mucho más rápidas desde que hemos mejorado el cálculo interno de las posiciones de interfaz de usuario verticales en la compilación 16.0.8431.2058.
Abrir un libro con varias filas ocultas o filtradas, celdas combinadas o esquemas podría generar carga alta de la CPU. Hemos introducido una solución en esta área en la compilación 16.0.8229.1000.
Después de pegar una columna copiada de celdas de una tabla con filas filtradas en la que el filtro había provocado un gran número de bloques independientes de filas, el tiempo de respuesta era muy lento. Esto se ha mejorado en la compilación 16.0.8327.1000.
Una prueba de ejemplo de copiar y pegar 22 000 filas filtradas de 44 000 filas mostró una gran mejora:
- Para una tabla, el tiempo pasó de 39 segundos en Excel 2013 a 18 segundos en Excel 2010 y a 2 segundos en Excel 2016.
- Para un rango, el tiempo pasó de 30 segundos en Excel 2013 a 13 segundos en Excel 2010 y a instantáneo en Excel 2016.
Copiar formatos condicionales
En Excel 2013, copiar o pegar celdas con formatos condicionales podía ser lento. Esto se ha mejorado considerablemente en Excel 2016 compilación 16.0.8229.0.
Una prueba de ejemplo con la copia de 44 000 celdas con un total de 386 000 reglas de formato condicional mostró una gran mejora:
- Excel 2010: 70 segundos
- Excel 2013: 68 segundos
- Excel 2016: 7 segundos
Agregar y eliminar hojas de cálculo
Al agregar y eliminar grandes cantidades de hojas de cálculo, una prueba de ejemplo en Excel 2016 compilación 16.0.8431.2058 muestra una mejora de velocidad de entre un 15 y un 20% con respecto a Excel 2013, pero es entre un 5 y un 10% más lento que Excel 2010.
Nuevas funciones
Excel 2016 compilación 16.0.7920.1000 introduce varias funciones de hoja de cálculo útiles:
- Max.Si.conjunto y min.Si.conjunto ampliar la familia de funciones contar.Si.conjunto y sumar.Si.conjunto. Estas funciones tienen características de buen rendimiento. Úselas para reemplazar las fórmulas de matriz equivalentes.
- TEXTJOIN y CONCAT le permiten combinar fácilmente cadenas de texto de rangos de celdas. Úselas para reemplazar las fórmulas de funciones definidas por el usuario de VBA equivalentes.
Otras actualizaciones de Excel 2016 para Windows
Para obtener más información sobre las mejoras mes a mes en Excel 2016, vea Novedades de Excel 2016 para Windows.
Mejoras de rendimiento de Excel 2010
Debido a los comentarios de los usuarios sobre Excel 2007, Excel 2010 introduce mejoras en varias características.
Característica | Mejora |
---|---|
Vista de Impresora y Diseño de página |
Para mejorar el rendimiento de las interacciones de usuario básicas en la vista Diseño de página, como escribir datos, trabajar con fórmulas o establecer márgenes, Excel 2010 guarda en caché la configuración de la impresora y presenta cálculos de representación optimizados. El almacenamiento en caché de la configuración de impresora reduce el número de llamadas de red y la dependencia en una impresora lenta o que no responde correctamente. Además, se puede cancelar la conexión a la impresora para que el usuario no tenga que esperar a una impresora lenta o que no responde. |
Gráficos |
A partir de Excel 2010, la velocidad de representación de gráficos ha aumentado, especialmente con grandes conjuntos de datos, y se ha mejorado el rendimiento de la representación de texto. Además, Excel 2010 almacena en caché una imagen de un gráfico y usa la versión en caché cuando sea posible, para evitar cálculos y representación innecesarios. |
Soluciones de VBA |
Las mejoras en el modelo de objetos y la forma en que interactúa con Excel aumenta la velocidad de rendimiento de muchas soluciones de VBA cuando se ejecutan en Excel 2010 en comparación con Excel 2007. |
Grandes conjuntos de datos y la versión de 64 bits de Excel
La versión de 64 bits de Excel 2010 no está restringida a 2 GB de RAM como las aplicaciones de versión de 32 bits ni hasta 4 GB de RAM, como las aplicaciones de versión de 32 bits con reconocimiento de direcciones grandes. Por lo tanto, la versión de 64 bits de Excel 2010 permite a los usuarios crear libros mucho más grandes. La versión de 64 bits de Windows permite una mayor capacidad de memoria direccionable y Excel está diseñado para aprovechar las ventajas de esa capacidad. Por ejemplo, los usuarios pueden rellenar una mayor parte de la cuadrícula con datos que en versiones anteriores de Excel. Al agregar más RAM al equipo, Excel usa esa memoria adicional, permite libros más grandes y se ajusta a la cantidad de memoria RAM disponible.
Además, como la versión de 64 bits de Excel permite conjuntos de datos más grandes, las versiones de 32 bits y 64 bits de Excel 2010 introducen mejoras a tareas comunes de conjuntos de datos grandes, como escribir y rellenar datos, ordenar, filtrar, copiar y pegar datos. El uso de memoria también se ha optimizado para ser más eficaz en las versiones de 32 bits y 64 bits de Excel.
Para obtener más información sobre la versión de 64 bits de Office 2010, vea Compatibilidad entre versiones de 32 y 64 bits de Office 2010 y para elegir entre la versión de 64 bits y 32 bits, consulte Elegir entre la versión de 64 o la de 32 bits de Office.
Formas
Excel 2010 presenta mejoras importantes en el rendimiento de los gráficos en Excel. A grandes rasgos, estas mejoras se encuentran en dos áreas: escalabilidad y representación.
Las mejoras de escalabilidad tienen un gran impacto en escenarios de Excel debido al gran número de elementos gráficos contenidos en hojas de cálculo. A menudo, este gran número de formas se crea accidentalmente al copiar y pegar datos de un sitio web o con procesos automáticos comunes que crean formas, pero no las quitan. Este gran número de gráficos, combinado con la forma en que los gráficos se relacionan con la cuadrícula de datos en Excel, presentan varios desafíos únicos de rendimiento. Las mejoras en Excel 2010 aumentan la velocidad de rendimiento de las hojas de cálculo que contienen muchas formas.
Además, comenzando con Excel 2010, la compatibilidad con la aceleración de hardware mejora la representación. Excel 2010 también incluye mejoras de rendimiento en el método Select del objeto Shape en el modelo de objetos de VBA.
Característica | Mejora |
---|---|
Uso básico |
El primer conjunto de mejoras realizadas en Excel 2010 se centra en los escenarios de uso básico. Estos escenarios incluyen características y operaciones como ordenar, filtrar, insertar o cambiar el tamaño de filas o columnas, o combinar celdas. Cuando se produzcan estas operaciones, puede ser necesario actualizar la posición de un objeto gráfico en la cuadrícula. En el peor de los casos, es necesario realizar una actualización en todos los objetos en la hoja de cálculo. En Excel 2010, mejora el rendimiento de estos escenarios básicos incluso si existen miles de objetos en la hoja de cálculo. Estas mejoras no se obtuvieron con una característica o una solución únicas, sino con un enfoque centrado en el rendimiento que incluye la mejora del mecanismo de búsqueda de formas, las pruebas de carga de archivos y la investigación de obstáculos. |
Vínculos de texto |
Se crea un vínculo de texto en una forma cuando el usuario especifica una fórmula, por ejemplo "= A1", que define el texto de una forma determinada. Estas formas concretas eran propensas a causar problemas de rendimiento en hojas de cálculo con un gran número de objetos o cuando se realizan cambios al contenido de las celdas. A partir de Excel 2010, la forma en que Excel realiza el seguimiento de estas formas y las actualiza ha mejorado para optimizar el rendimiento al cambiar el contenido de las celdas. Este trabajo mejora escenarios como escribir un valor nuevo en una celda o realizar operaciones complejas del modelo de objetos. |
Cuadrícula grande |
A partir de Excel 2007, el tamaño de la cuadrícula se ha expandido de 65 000 filas a más de un millón de filas. Este aumento provocó algunos problemas de representación y rendimiento al trabajar con objetos gráficos en las áreas nuevas de la cuadrícula más grande. A partir de Excel 2010, Excel optimiza la funcionalidad que se basa en el uso de la parte superior izquierda de la cuadrícula como el origen para mejorar la experiencia de trabajar con gráficos en las regiones nuevas de la cuadrícula. Se han mejorado el rendimiento y la fidelidad de representación relativos a Excel 2007. |
Representación: Aceleración de Hardware |
A partir de Excel 2010, se han realizado mejoras en la plataforma de gráficos agregando soporte para la aceleración de hardware al representar objetos 3D. Mientras que la GPU puede representar estos objetos más rápido que la CPU, la experiencia en Excel 2010 depende del contenido de la hoja de cálculo. Si tiene una hoja llena de formas 3D, obtendrá más ventajas de las mejoras de la aceleración de hardware que en una hoja de cálculo con solo formas 2D (que no usan la GPU). |
Mejoras en los cálculos
A partir de Excel 2007, los cálculos multiproceso mejoraron el rendimiento de cálculo.
A partir de Excel 2010, se realizaron mejoras adicionales de rendimiento para aumentar aún más la velocidad de cálculo. Excel 2010 puede llamar asincrónicamente a funciones definidas por el usuario. Llamar a funciones de forma asincrónica mejora el rendimiento, ya que permite ejecutar varios cálculos al mismo tiempo. Al ejecutar funciones definidas por el usuario en un clúster de cálculo, llamar a funciones asincrónicamente permite usar varios equipos para realizar los cálculos. Para obtener más información, vea Funciones asincrónicas definidas por el usuario.
Procesadores con varios núcleos
Excel 2010 ha realizado inversiones adicionales para aprovechar los procesadores de varios núcleos y aumentar el rendimiento de las tareas habituales. A partir de Excel 2010, las siguientes características utilizan procesadores de varios núcleos: guardar un archivo, abrir un archivo, actualizar una tabla dinámica (para orígenes de datos externos, excepto OLAP y SharePoint), ordenar una tabla de celda, ordenar una tabla dinámica y dar tamaño automático a una columna.
Para las operaciones que implican leer y cargar o escribir datos, como abrir un archivo, guardar un archivo o actualizar datos, dividir la operación en dos procesos aumenta la velocidad de rendimiento. El primer proceso obtiene los datos y el segundo proceso carga los datos en la estructura correspondiente en la memoria o escribe los datos en un archivo. De esta forma, tan pronto como el primer proceso empieza a leer una parte de los datos, el segundo proceso puede empezar inmediatamente a cargar o escribir esos datos, mientras que el primer proceso seguirá leyendo la siguiente sección de datos. Anteriormente, el primer proceso tenía que terminar de leer todos los datos de una determinada sección antes de que el segundo proceso pudiese cargar esa sección de datos en memoria o escribir los datos en un archivo.
PowerPivot
PowerPivot hace referencia a una colección de aplicaciones y servicios que proporcionan un enfoque completo para crear soluciones de inteligencia empresarial controladas por datos y administradas por el usuario en libros de Excel. PowerPivot para Excel es una herramienta de análisis de datos que ofrece un potencial de cálculo inigualable directamente desde Excel. Aprovechando las características habituales de Excel, los usuarios pueden transformar a una velocidad sorprendente grandes cantidades de datos desde casi cualquier fuente en información significativa para obtener las respuestas que necesitan en cuestión de segundos.
PowerPivot también se integra con SharePoint. En una granja de servidores de SharePoint, PowerPivot para SharePoint es el conjunto de aplicaciones, servicios y características del lado servidor que admite la colaboración en equipo con datos de inteligencia empresarial. SharePoint proporciona la plataforma para la colaboración y uso compartido de inteligencia empresarial en el equipo y la organización. Los propietarios y autores de libros publican y administran la inteligencia empresarial que desarrollan en sus sitios de SharePoint.
Para obtener más información sobre PowerPivot, consulte Información general sobre PowerPivot.
Servicios HPC para Excel 2010
Con una amplia variedad de funciones de análisis estadísticos, compatibilidad para la construcción de análisis complejos y extensibilidad amplia, Excel 2010 es la herramienta ideal para analizar los datos comerciales. A medida que crecen los modelos y los libros son más complejos, el valor de la información generada aumenta. Sin embargo, los libros más complejos también requieren más tiempo para calcularse. En el caso de análisis complejos, es común que los usuarios dediquen horas, días o incluso semanas para completar estos libros complejos.
Una solución es usar Windows HPC Server 2008 para escalar horizontalmente los cálculos de Excel en varios nodos en un clúster de informática de alto rendimiento (HPC) en paralelo en Windows. Hay tres métodos para ejecutar cálculos de Excel 2010 en un clúster basado en Windows HPC Server 2008: ejecutar libros de Excel en un clúster, ejecutar las funciones de Excel definidas por el usuario (UDF) en un clúster y usar Excel como un cliente de arquitectura orientada a servicios de clúster (SOA).
Para obtener más información sobre los servicios HPC para Excel 2010, vea Acelerar Excel 2010 con Windows HPC Server 2008 R2.
Conclusión
Excel 2016 presenta mejoras de rendimiento y límites centrados en aumenta la habilidad de Excel para administrar eficazmente libros grandes y complejos. Estas mejoras permiten a Excel adaptarse junto con el hardware, mejorando el rendimiento a medida que aumentan la capacidad de RAM y la CPU de los equipos.
Vea también
- Rendimiento de Excel: Mejorar el rendimiento del cálculo
- Rendimiento de Excel: Sugerencias para salvar los obstáculos de rendimiento
- Centro de desarrollo de Excel
- Cambios en los nombres de los niveles Modo aplazado y Modo anticipado de Office Insider para escritorio de Windows
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.