Sunteți pe pagina 1din 13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)

Al usar este sitio acepta el uso de cookies para anlisis, contenido personalizado y publicidad.

Saber ms

Rendimiento de Excel 2010: Mejora del rendimiento


de clculo traduccin automtica
Office 2010

Importante
En este artculo es el equipo de traduccin, consulte la renuncia de responsabilidad. Busque la versin en ingls de este artculo de aqu para su
referencia.

Resumen:en este artculo se aborda cmo mejorar el rendimiento de los libros, centrndose en las mejoras de clculo. Este artculo forma parte de una
coleccin de tres artculos que tratan las tcnicas de mejora del rendimiento de Excel durante el diseo y la creacin de hojas de clculo.
Para obtener ms informacin acerca de la mejora del rendimiento de Excel, vea Rendimiento de Excel 2010: mejoras de rendimiento y lmite y
Rendimiento de Excel 2010: Sugerencias para salvar los obstculos de rendimiento traduccin automtica.
ltima modificacin: lunes, 11 de abril de 2011
Hace referencia a: Excel| Excel 2010| Office 2010| SharePoint Server 2010| VBA
En este artculo
Introduccin
La importancia de la velocidad de clculo
Descripcin de mtodos de clculo de Excel
Calcular los libros y hojas de clculo de rangos
Controlar opciones de clculo
Hacer que los libros calcular con ms rapidez
Buscar y establecer prioridades de los obstculos de clculo
Conclusin
Acerca de los autores
recursos adicionales
#MT_Footer
Se aplica a:Microsoft Excel 2010 Microsoft Office Excel 2007 Microsoft Office de Microsoft Excel 2002 de Excel 2003 Microsoft Excel 2000
publicados: junio de 2010
proporcionado por:
Charles Williams, Limitada de modelos de decisin Allison Bokone, Microsoft Corporation Chad Rothschiller,
Corporation de MicrosoftAcerca de los autores
Contenido
Introduccin
La importancia de la velocidad de clculo
Descripcin de mtodos de clculo de Excel
Calcular los libros y hojas de clculo de rangos
Controlar opciones de clculo
Hacer que los libros calcular con ms rapidez
Buscar y establecer prioridades de los obstculos de clculo
Conclusin
recursos adicionales

Introduccin
El "cuadrcula grande" de 1 milln de filas y 16.000 columnas en Microsoft Office Excel 2007 y Microsoft Excel 2010, junto con muchos otro lmite

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

1/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
aumenta, se aumenta en gran medida el tamao de las hojas de clculo que se pueden generar en comparacin con versiones anteriores de Excel.
Una hoja de clculo en Excel 2007 o Excel 2010 puede contener ms de 1.000 veces la cantidad de celdas que las versiones anteriores.
En versiones anteriores de Excel, muchas personas creacin hojas de clculo de baja velocidad, y las hojas de clculo ms grandes suelen calcular ms
lentamente que otras ms pequeas. Con la introduccin de la "cuadrcula grande" en Excel 2007, rendimiento realmente importa. Reducir las tareas
de manipulacin de datos y de clculo como ordenacin y filtrado que lo ms difcil para los usuarios concentrarse en la tarea en cuestin, y que
carecen de concentracin de errores de aumenta.
Excel 2007 y Excel 2010 incorporan varias caractersticas que le ayudarn a controlar este aumento de capacidad, como, por ejemplo, la posibilidad de
utilizar ms de un procesador en uno de los clculos y operaciones de conjunto de datos comunes al igual que la actualizacin, la ordenacin y los
libros de apertura. Clculo de varios subprocesos puede reducir considerablemente el tiempo de clculo de la hoja de clculo. Sin embargo, el factor
ms importante que influye en la velocidad de clculo de Excel sigue siendo la forma en la hoja de clculo est diseado y creado.
Puede modificar la mayor parte las hojas de clculo calcular lento para calcular decenas, cientos o incluso miles de veces ms rpido. En este artculo,
se revisa cmo puede acelerar el clculo mediante la identificacin, medir y, a continuacin, lo que mejora la obstruccin de clculo en las hojas de
clculo.

La importancia de la velocidad de clculo


Velocidad de clculo deficiente afecta a la productividad y aumenta los errores del usuario. La productividad del usuario y la posibilidad de centrarse
en una tarea se deteriora a medida que aumenta la longitud de tiempo de respuesta.
Tiene dos modos de clculo principal, que le permiten controlar cuando se produce el clculo de Excel:
Clculo automtico:Las frmulas se vuelven a calcular automticamente cuando se realiza un cambio.
Clculo manual:Las frmulas se vuelven a calcular slo cuando se solicita por ejemplo, presionando F9.

Para el horas de clculo de menos de aproximadamente una dcima de segundo, los usuarios puede que el sistema est respondiendo al instante.
Puede utilizar el clculo automtico incluso cuando llegan datos.
Entre una dcima de segundo y un segundo, los usuarios pueden mantener correctamente un hilo de ideas, va, aunque dar cuenta de que el tiempo
de espera de respuesta.
A medida que aumenta el tiempo de clculo, los usuarios deben cambiar para el clculo manual cuando escriben datos.
Entre 1 y 10 segundos, los usuarios probablemente cambiar para el clculo manual. Errores de usuario y los niveles de la serie de molestias inician
aumentar, especialmente para las tareas repetitivas, y resulta difcil mantener un hilo de ideas.
Para mayores de 10 segundos de tiempos de clculo, los usuarios se convierten en impaciente y normalmente cambia a otras tareas mientras espera.
Esto puede provocar problemas cuando el clculo es uno de una secuencia de tareas y el usuario pierde la pista.

Descripcin de mtodos de clculo de Excel


Para mejorar el rendimiento de clculo en Excel, debe comprender los mtodos de clculo disponibles y de cmo controlarlas.
Dependencias de actualizacin y de clculo completa
El motor de clculo inteligente de Excel intenta minimizar el tiempo de clculo realizando un seguimiento continuo de las celdas precedentes y las
dependencias para cada frmula las celdas que se hace referidas la frmula y los cambios realizados desde el ltimo clculo. A continuacin, en la
prxima actualizacin, Excel vuelve a calcular nicamente lo siguiente:
Las celdas, frmulas, valores o nombres que han cambiado o se marcan como necesitan actualizarse.
Celdas dependientes de otras celdas, frmulas, los nombres o valores que se deben volver a calcular.
Funciones voltiles y los formatos condicionales.

Excel contina clculo celdas que dependen de las celdas calculadas previamente incluso si el valor de la celda calculado anteriormente no cambia
cuando se calcula.
Debido a que cambia slo una parte de los datos de entrada o unas pocas frmulas entre los clculos en la mayora de los casos, esta actualizacin
inteligente suele tener slo una fraccin del tiempo que tardara un clculo completo de todas las frmulas.
En el modo de clculo manual, puede activar este nuevo clculo inteligente presionando F9. Puede hacer un clculo completo de todas las frmulas,
presione CTRL + ALT + F9, o puede forzar una regeneracin completa de las dependencias y un clculo, presione MAYS + CTRL + ALT + F9.
Proceso de clculo
Las frmulas Excel que hacen referencia otras celdas se pueden poner antes o despus de las celdas de referencia que hace referencia directa a o que
hacen referencia a versiones anteriores. Esto es porque Excel no calcula las celdas en un orden fijo o por fila o columna. En su lugar, Excel determina
dinmicamente la secuencia de clculo basada en una lista de todas las frmulas para calcular la cadena de clculo y la informacin de dependencia

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

2/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
de cada frmula.
Excel consta de las fases de clculo diferente:
1. Crear la cadena inicial de clculo y determinar a dnde debe comenzar a calcular. Esta fase se produce cuando el libro se carga en memoria.
2. Realizar un seguimiento de las dependencias, marcar las celdas como sin calcular y actualizar la cadena de clculo. Esta fase se ejecuta en cada
entrada de celda o el cambio, incluso en modo de clculo manual. Normalmente esto se ejecute tan rpido que no observa lo.
3. Calcular todas las frmulas. Como parte del proceso de clculo, Excel vuelve a pedir y reestructura la cadena de clculo para optimizar futuras
actualizaciones.

La tercera fase se ejecuta en cada clculo o nuevo clculo. Excel intenta calcular cada frmula en la cadena de clculo a su vez, pero si una frmula
depende de una o varias frmulas que no se han calculado an, la frmula se enva por la cadena que se calcular de nuevo ms tarde. Esto significa
que una frmula puede calcular varias veces por el nuevo clculo. En Excel 2000, se mantiene una cadena de clculo independiente para cada hoja de
clculo, y las hojas de clculo se calculan en orden alfabtico de nombre. A partir de Excel 2002, hay una cadena de clculo global nico, que permite
aumentar la velocidad de clculo para la mayora de los libros.
Para obtener ms informacin y una descripcin detallada del proceso de clculo en Excel, consulte el nuevo clculo de Microsoft Excel 2002.
La segunda vez que se calcula un libro a menudo es mucho ms rpida que la primera vez. Esto se produce por varias razones:
Excel normalmente vuelve a calcular slo las celdas que han cambiado y sus dependientes.
Excel se almacena y se reutiliza la secuencia de clculo ms reciente, de modo que puede ahorrar la mayora de las veces que se utiliza para
determinar la secuencia de clculo.
Con varios equipos de ncleo, Excel 2007 y Excel 2010 intentar optimizar la forma en que los clculos se reparten entre los ncleos basados en los
resultados del clculo anterior.
En una sesin Excel, cach de Microsoft Windows y de Excel haba utilizado recientemente datos y programas para un acceso ms rpido.

Calcular los libros y hojas de clculo de rangos


Puede controlar lo que se calcula mediante el uso de los diferentes mtodos de clculo de Excel.
Calcular todos los libros abiertos
Cada actualizacin y el clculo calcula todos los libros que estn abiertos y resuelve las dependencias dentro y entre los libros y hojas de clculo.
Calcule las hojas de clculo seleccionadas
Tambin puede volver a calcular slo las hojas de clculo seleccionados mediante el uso de la combinacin de teclas MAYS+F9. Slo las
dependencias intrasheet para las hojas de calculado se resuelve.
Calcular un rango de celdas
Tambin permite Excel para el clculo de un rango de celdas utilizando Visual Basic para aplicaciones VBA de mtodo Range.Calculate. El
comportamiento de Range.Calculate se ha cambiado significativamente en las distintas versiones de Excel:
Excel 2000
Range.Calculate se calcula de izquierda a derecha y de arriba a abajo, se omitir todas las dependencias.
Excel 2002 y Excel 2003
Range.Calculate resuelve las dependencias dentro del intervalo que se va a calcular.
Excel 2007 y Excel 2010
estas versiones cuentan con ambos mtodos Range Calculate. Range.Calculate funciona tal como lo haca en Excel 2002 y Excel 2003, pero
Range.CalculateRowMajorOrder funciona del mismo modo, como ocurra en Excel 2000. Debido a que no se resuelve todas las dependencias dentro
del intervalo que se va a calcular para CalculateRowMajorOrder, suele ser mucho ms rpido. Sin embargo, se debe utilizar con cuidado porque no
pueden proporcionar a los mismos resultados que Range.Calculate. Para obtener ms informacin, vea Rendimiento de Excel 2010: mejoras de
rendimiento y lmite.
Range.Calculate es una de las herramientas ms tiles de Excel para optimizar el rendimiento, ya que puede usar a la vez y compare la velocidad de
clculo de frmulas diferentes.

Funciones voltiles
Una funcin voltil se vuelve a calcular siempre en cada actualizacin incluso aunque no parece que las celdas precedentes ha cambiado. Uso de
muchas de las funciones voltiles se ralentiza cada actualizacin, pero no importa a un clculo. Para hacer una funcin definida por el usuario voltiles,
incluyendo Application.Volatile en el cdigo de funcin.
Algunas de las funciones integradas en Excel son obviamente voltiles: RAND, NOW y TODAY. Otras son menos voltiles obviamente: OFFSET,
CELL, INDIRECT y INFO.

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

3/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
Algunas funciones que se han documentado anteriormente como voltil en realidad no son voltiles: INDEX, ROWS, COLUMNS y AREAS.
Acciones voltiles
Acciones voltiles son acciones que desencadenan una actualizacin. stas son las siguientes:
Al hacer clic en un divisor de fila o columna en el modo automtico.
Insertar o eliminar filas, columnas o celdas de una hoja.
Agregar, cambiar o eliminar los nombres definidos.
Cambiar el nombre de las hojas de clculo o cambiar la posicin de la hoja de clculo en el modo automtico.
Filtrar, ocultar o mostrar las filas en Excel 2003, Excel 2007 o Excel 2010.
Abrir un libro en el modo automtico. Si el libro se ha calculado con una versin diferente de Excel, abrir el libro normalmente da como resultado
un clculo.
Guardar un libro en modo manual si el calcular antes de guardar est seleccionada.

Frmula y circunstancias de la evaluacin de nombre


Una frmula o parte de la frmula se evala inmediatamente calculado, incluso en el modo de clculo manual, cuando realiza alguna de las acciones
siguientes:
Escriba o modifique la frmula.
Escriba o modifique la frmula con el Asistente para funciones.
Escriba la frmula como argumento en el Asistente para funciones.
Seleccione la frmula en la barra de frmulas y presionar F9 presione ESC para deshacer y volver a la frmula, o haga clic en Evaluar frmula.

Una frmula que est marcada como no calculado cuando hace referencia a en funcin de una celda o una frmula que tiene una de estas
condiciones:
Se ha insertado.
Se ha cambiado.
Es una lista de Autofiltro y se ha habilitado la lista desplegable de criterios.
Se marca como no calculados.

Una frmula que est marcada como no calculados se evala cuando se calculan o se vuelve a calcular el rango, hoja de clculo, libro o instancia Excel
que lo contiene.
Las circunstancias que causan un nombre definido que se deben evaluar difieren de una frmula en una celda:
Un nombre definido se evala cada vez que una frmula que hace referencia a la se evala, de modo que con un nombre en varias frmulas para
hacer que el nombre que se deben evaluar varias veces.
No se calculan los nombres que no se hace referencia a cualquier frmula incluso por un clculo.

Tablas de datos
Las tablas de datos Excel en la ficha datos, en el grupo Herramientas de datos, haga clic en Anlisis WhatIf y, a continuacin, haga clic en La tabla
de datos no se debe confundir con la funcin de la tabla en la ficha Inicio, en el grupo estilos, haga clic en dar formato como tabla, o, en la ficha
Insertar, en el grupo de tablas, haga clic en la tabla. Las tablas de datos Excel realizar varios clculos del libro, cada uno de ellos gobernado por los
distintos valores de la tabla. Excel calcula primero el libro con normalidad. A continuacin, para cada par de valores de fila y columna, sustituye los
valores, vuelve a calcular y almacena los resultados de la tabla de datos.
Las tablas de datos proporcionan una forma cmoda para calcular varias variaciones y ver y comparar los resultados de las variaciones. Utilice la
opcin de clculo Automtico excepto tablas para evitar que se activa automticamente de los clculos mltiples en cada clculo Excel, pero sigue
sin calcular todas las frmulas dependientes excepto las tablas.

Controlar opciones de clculo


Tiene una gama de opciones que permiten controlar la forma en que calcula en Excel. Puede cambiar las opciones usadas con ms frecuencia en Excel
2010 a travs del grupo de clculo en la ficha frmulas, en la cinta de opciones.
La figura 1. Grupo de clculo en la ficha frmulas

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

4/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)

Para ver ms opciones de clculo de Excel 2010, haga clic en la ficha de archivo y haga clic en Opciones. En el cuadro de dilogo Opciones de Excel,
haga clic en la ficha frmulas.
La figura 2. Opciones de clculo en la ficha frmulas, en Opciones de Excel

Muchas de las opciones de clculo automtico, Automtico excepto para tablas de datos, manual, volver a calcular libro antes de guardar y la
configuracin de la iteracin Habilitar clculo iterativo, N mximo de iteraciones, Cambio mximo funciona en el nivel de aplicacin en lugar de
en el nivel de libro son los mismos para todos los libros abiertos.
Para buscar las opciones de clculo avanzado, haga clic en la ficha de archivo y haga clic en Opciones. En el cuadro de dilogo Opciones de Excel,
haga clic en Avanzadas. En las frmulas de la seccin establece las opciones de clculo.
La figura 3. Opciones avanzadas de clculo

Para versiones anteriores de Excel 2007 de Excel, seleccione Opciones en el men Herramientas y, a continuacin, haga clic en la ficha Clculo, que
contiene todas las opciones de clculo.
Al utilizar Excel, o cuando se ejecuta sin los libros abiertos, se establecen los valores de iteracin y de modo de clculo inicial del primer libro que no
es de plantilla, que no sean de complemento que se abre. Esto significa que se pasan por alto la configuracin de clculo en libros, abrir
posteriormente, aunque, evidentemente, se puede cambiar manualmente la configuracin de Excel en cualquier momento. Cuando se guarda un libro,
la configuracin de clculo actual se almacena en el libro.
Clculo automtico
Modo de clculo automtico significa que Excel vuelve a calcular automticamente todos los libros abiertos en todos los cambios, y cuando se abre un
libro. Normalmente, cuando se abre un libro en modo automtico y vuelve a calcular de Excel, no ver el nuevo clculo porque no hay nada ha
cambiado desde que se guard el libro.
Puede que observe este clculo cuando se abre un libro en una versin posterior de Excel que utiliz la ltima vez que se ha calculado el libro por
ejemplo, Excel 2007 en lugar de Excel 2003. Debido a que los motores de clculo de Excel son diferentes, Excel realiza un clculo completo cuando se
abre un libro que se guard con una versin anterior de Excel.
Clculo manual
Modo de clculo manual significa que Excel vuelve a calcular todos los libros abiertos slo cuando se solicita al presionar F9 o CTRL + ALT + F9 o al
guardar un libro. Los libros que tienen ms de una fraccin de segundo para volver a calcular, debe establecer el clculo en modo manual para evitar
un retraso irritantes cuando se realizan cambios.
Excel que indica que cuando un libro en modo manual necesita un nuevo clculo mostrando Calcular en la barra de estado. La barra de estado
tambin muestra Calcular si el libro contenga referencias circulares y se selecciona la opcin de la iteracin. Calcular tambin aparece si hay
demasiados dependencias. Estos lmites de dependencia se aumentan considerablemente en Excel 2007 y Excel 2010. Para obtener ms informacin,
vea Rendimiento de Excel 2010: mejoras de rendimiento y lmite.
Configuracin de la iteracin
Si tiene referencias circulares intencionadas en el libro, los valores de iteracin permiten controlar el nmero mximo de veces que el libro est

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

5/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
recalculadas iteraciones y los criterios de convergencia cambio mximo: cundo se debe detener. Normalmente se debe desactivar esta casilla de
iteracin de forma que si hay referencias circulares accidentales, Excel le advertir y no intentar resolverlos.

Hacer que los libros calcular con ms rapidez


En esta seccin muestra los pasos y mtodos que se pueden utilizar para hacer que los libros de calcular con mayor rapidez.
Velocidad del procesador y de varios ncleos
Para la mayora de las versiones de Excel, un procesador ms rpido, por supuesto, permitir clculo de Excel con mayor rapidez.
A partir de Excel 2007, hay nuevas caractersticas para admitir los sistemas multiprocesadores. El motor de clculo multiproceso que se introdujo en
Excel 2007 permite Excel utilizar de forma excelente de sistemas multiprocesador y es posible que tenga las ganancias de rendimiento significativo con
la mayora de los libros.
En Excel 2010, hay nuevas caractersticas adicionales para admitir los sistemas multiprocesadores.
Para obtener ms informacin, vea Rendimiento de Excel 2010: mejoras de rendimiento y lmite.
RAM
Paginacin en un archivo de paginacin de memoria virtual es lenta. Debe tener suficiente memoria RAM fsica para el sistema operativo, Excel y los
libros. Si tiene actividad del disco duro de ms de vez en cuando durante el clculo, y no tiene funciones definidas por el usuario que desencadenan la
actividad de disco, necesita ms memoria RAM.
Como se ha mencionado, las versiones recientes de Excel pueden hacer un uso eficaz de grandes cantidades de memoria y Excel 2007 y Excel 2010
pueden controlar un solo libro o una combinacin de libros con hasta 2 GB de memoria del libro. 64 bits de Excel puede controlar los libros de mayor
tamao. Para obtener ms informacin, consulte la seccin " grandes conjuntos de datos y de 64 bits de Excel " de Rendimiento de Excel 2010:
mejoras de rendimiento y lmite.
Una gua aproximada para el clculo eficaz es tener suficiente RAM para contener el conjunto mayor de los libros que se debe tener abiertas al mismo
tiempo, adems de 256 MB o 512 MB para Excel y el sistema operativo, adems de RAM adicional para otras aplicaciones en ejecucin. Puede
comprobar la cantidad de memoria que utiliza Excel en el Administrador de tareas de Windows.
La figura 4. Administrador de tareas de Windows que muestra el uso de memoria de Excel

Para obtener ms informacin, consulte la seccin " grandes conjuntos de datos y de 64 bits de Excel " de Rendimiento de Excel 2010: mejoras de
rendimiento y lmite.
Medir el tiempo de clculo
Para que los libros calcular de forma ms rpida, debe ser capaz de medir con precisin el tiempo de clculo. Necesita un temporizador que sea ms
rpida y precisa que la funcin VBA de Time. La funcin MICROTIMER que se muestra en el ejemplo de cdigo siguiente utiliza las llamadas de API
de Windows para el temporizador del sistema de alta resolucin. Pueden medir los intervalos de tiempo hasta el pequeo nmero de microsegundos.
Tenga en cuenta que puesto que Windows es un sistema operativo multitarea, y la segunda vez que se calcula un documento, puede ser ms rpido
que la primera vez, las horas que se obtiene normalmente no se repiten exactamente. Para conseguir la mejor precisin, el tiempo de las tareas de
clculo varias veces y Media de los resultados.
Para obtener ms informacin acerca de cmo el Editor de Visual Basic puede afectar significativamente al rendimiento de la funcin definida por el
usuario VBA, consulte la seccin de acciones de Faster VBA UserDefined en Rendimiento de Excel 2010: Sugerencias para salvar los obstculos de
rendimiento traduccin automtica.
VBA

PrivateDeclareFunctiongetFrequencyLib"kernel32"_
Alias"QueryPerformanceFrequency"(cyFrequencyAsCurrency)AsLong
PrivateDeclareFunctiongetTickCountLib"kernel32"_
Alias"QueryPerformanceCounter"(cyTickCountAsCurrency)AsLong
FunctionMicroTimer()AsDouble
'
'Returnsseconds.
DimcyTicks1AsCurrency
StaticcyFrequencyAsCurrency
'

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

6/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
MicroTimer=0
'Getfrequency.
IfcyFrequency=0ThengetFrequencycyFrequency
'Getticks.
getTickCountcyTicks1
'Seconds
IfcyFrequencyThenMicroTimer=cyTicks1/cyFrequency
EndFunction
Para medir el tiempo de clculo, debe llamar al mtodo de clculo adecuadas. Estas subrutinas proporcionan clculo de tiempo para un intervalo de
tiempo de actualizacin para todos los libros abiertos o de una hoja de clculo y tiempo de clculo completa para todos los libros abiertos.
Debe copiar todas estas subrutinas y funciones en un mdulo estndar de VBA. Para abrir el editor de VBA, presione ALT+F11. En el men Insertar,
seleccione el Mdulo y, a continuacin, copie el cdigo en el mdulo.
VBA

SubRangeTimer()
DoCalcTimer1
EndSub
SubSheetTimer()
DoCalcTimer2
EndSub
SubRecalcTimer()
DoCalcTimer3
EndSub
SubFullcalcTimer()
DoCalcTimer4
EndSub
SubDoCalcTimer(jMethodAsLong)
DimdTimeAsDouble
DimdOvhdAsDouble
DimoRngAsRange
DimoCellAsRange
DimoArrRangeAsRange
DimsCalcTypeAsString
DimlCalcSaveAsLong
DimbIterSaveAsBoolean
'
OnErrorGoToErrhandl
'Initialize
dTime=MicroTimer
'Savecalculationsettings.
lCalcSave=Application.Calculation
bIterSave=Application.Iteration
IfApplication.Calculation<>xlCalculationManualThen
Application.Calculation=xlCalculationManual
EndIf
SelectCasejMethod
Case1
'Switchoffiteration.
IfApplication.Iteration<>FalseThen
Application.Iteration=False
Endif

'Maxisusedrange.
IfSelection.Count>1000Then
SetoRng=Intersect(Selection,Selection.Parent.UsedRange)
Else
SetoRng=Selection
EndIf
'Includearraycellsoutsideselection.

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

7/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
ForEachoCellInoRng
IfoCell.HasArrayThen
IfoArrRangeIsNothingThen
SetoArrRange=oCell.CurrentArray
EndIf
IfIntersect(oCell,oArrRange)IsNothingThen
SetoArrRange=oCell.CurrentArray
SetoRng=Union(oRng,oArrRange)
EndIf
EndIf
NextoCell
sCalcType="Calculate"&CStr(oRng.Count)&_
"Cell(s)inSelectedRange:"
Case2
sCalcType="RecalculateSheet"&ActiveSheet.Name&":"
Case3
sCalcType="Recalculateopenworkbooks:"
Case4
sCalcType="FullCalculateopenworkbooks:"
EndSelect
'Getstarttime.
dTime=MicroTimer
SelectCasejMethod
Case1
IfVal(Application.Version)>=12Then
oRng.CalculateRowMajorOrder
Else
oRng.Calculate
EndIf
Case2
ActiveSheet.Calculate
Case3
Application.Calculate
Case4
Application.CalculateFull
EndSelect
'Calculateduration.
dTime=MicroTimerdTime
OnErrorGoTo0
dTime=Round(dTime,5)
MsgBoxsCalcType&""&CStr(dTime)&"Seconds",_
vbOKOnly+vbInformation,"CalcTimer"
Finish:
'Restorecalculationsettings.
IfApplication.Calculation<>lCalcSaveThen
Application.Calculation=lCalcSave
EndIf
IfApplication.Iteration<>bIterSaveThen
Application.Calculation=bIterSave
EndIf
ExitSub
Errhandl:
OnErrorGoTo0
MsgBox"UnabletoCalculate"&sCalcType,_
vbOKOnly+vbCritical,"CalcTimer"
GoToFinish
EndSub
Para ejecutar las subrutinas en Excel 2010, presione ALT+F8, o haga clic en Reproducir la macro. Seleccione la subrutina que desee y, a continuacin,
haga clic en Ejecutar.
La figura 5. La ventana Macro de Excel que muestre los temporizadores de clculo

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

8/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)

Buscar y establecer prioridades de los obstculos de clculo


La mayora de libros de clculo de baja velocidad tienen slo unas pocas reas problemticas y obstculos que consumen la mayor parte del tiempo
de clculo. Si no sabe ya que son, utilice el enfoque detallado que se describen en esta seccin para buscarlos. Si sabe dnde se encuentran, debe
medir el tiempo de clculo que utiliza cada obstruccin, de modo que puede dar prioridad a su trabajo para quitarlos.
Obtencin de detalles desplegable enfoque para buscar cualquier obstculo
El enfoque de explorar en profundidad comienza por agotar el tiempo el clculo del libro, el clculo de cada hoja de clculo y, a continuacin, los
bloques de frmulas en el clculo de baja velocidad hojas. Realizar cada paso en el orden y tenga en cuenta los tiempos de clculo.
Para encontrar obstculos que se utiliza el enfoque de detalle
1. Asegrese de que tiene un nico libro abierto y no est ejecutando ninguna otra tarea.
2. Establecer el clculo manual.
3. Haga una copia del libro.
4. Abra el libro que contiene las macros de los temporizadores de clculo, o agregarlas al libro.
5. Si presiona CTRL + fin en cada hoja de clculo a su vez, compruebe el rango utilizado.
Esto demuestra que es la ltima celda utilizada. Si esto est ms all donde espera que sea, considere la posibilidad de eliminar las filas y columnas
sobrantes y guardar el libro. Para obtener ms informacin, vea el minimizar la seccin Range se utiliza en Rendimiento de Excel 2010: Sugerencias
para salvar los obstculos de rendimiento traduccin automtica.
6. Ejecute la macro FullCalcTimer.
El tiempo necesario para calcular todas las frmulas del libro es normalmente el tiempo de peor caso.
7. Ejecute la macro RecalcTimer.
Volver a calcular inmediatamente despus de un clculo normalmente le ofrece la mejor hora.
8. Calcular la volatilidad de libro como la relacin entre el momento de volver a calcular en tiempo de clculo completa.
Mide el grado al que frmulas voltiles y la evaluacin de la cadena de clculo estn obstculos.
9. Activar cada hoja y ejecute la macro SheetTimer a su vez.
Debido a que slo se vuelven a calcular el libro, este modo, la hora de volver a calcular para cada hoja de clculo. Debe habilitar para determinar
cules son las hojas de clculo del problema.
10. Ejecute la macro RangeTimer en bloques de frmulas seleccionados.
a. Para cada hoja de clculo del problema, dividir las columnas o filas en un pequeo nmero de bloques.
b. Seleccione cada vez y, a continuacin, ejecute la macro RangeTimer en el bloque de.
c. Si es necesario, profundizar ms, hacia abajo por cada bloque de subdividir en un nmero menor de bloques.

11. Dar prioridad a los obstculos.

Acelerar los clculos y reducir las obstrucciones

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

9/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
No es el nmero de las frmulas o el tamao de un libro que se utiliza el tiempo de clculo. Es el nmero de operaciones de clculo de referencias de
celda y y la eficacia de las funciones que se va a utilizar.
Debido a que la mayora de las hojas de clculo se crean mediante la copia de las frmulas que contienen una combinacin de referencias absolutas y
relativas, normalmente contienen un gran nmero de las frmulas que contienen referencias y los clculos repetidos o est duplicados.
Evite megafrmulas complejas y las frmulas de matriz. En general, es preferible disponer de ms filas y columnas y menos clculos complejos. Esto
proporciona tanto el nuevo clculo inteligente y el clculo de multiproceso en Excel 2010 una mejor oportunidad para optimizar los clculos. Tambin
es ms fcil de entender y depurar. Los siguientes son ciertas reglas para ayudar a acelerar los clculos del libro.
Primera regla: Quitar clculos innecesarios duplicados y repetidos

Busque los clculos duplicados, repetidos y innecesarios y calcular aproximadamente el nmero de referencias de celda y los clculos son necesarios
para Excel calcular el resultado de este obstculo. A continuacin, piense en cmo se puede obtener el mismo resultado con menos de las referencias
a los clculos.
Esto suele implica uno o varios de los siguientes pasos:
Reducir el nmero de referencias de cada frmula.
Mover los clculos repetidos a una o varias celdas de la aplicacin auxiliar y, a continuacin, hacer referencia a las celdas de la Ayuda de las
frmulas originales.
Para calcular y almacenar los resultados intermedios de una vez para que se puede reutilizar en cualquier otra frmula, utilice ms filas y columnas.

Segunda regla: Usar el ms eficaz posible funcin

Cuando encuentre un obstculo que implica una funcin o matriz de las frmulas, determinar si hay una forma ms eficaz para lograr el mismo
resultado. Por ejemplo:
Se pueden realizar bsquedas en los datos ordenados decenas o cientos de veces ms eficaces que las de los datos sin ordenar.
Las funciones definidas por el usuario VBA son normalmente ms lentas que las funciones integradas en Excel aunque cuidadosamente escrito las
funciones VBA pueden ser rpidas.
Minimizar el nmero de celdas utilizadas en funciones, como SUM y SUMIF. Tiempo de clculo es proporcional al nmero de celdas utilizadas las
celdas no utilizadas se pasan por alto.
Considere la posibilidad de reemplazar las frmulas de matriz lento con funciones definidas por el usuario.

Tercera regla: Asegrese de usar vlida de nuevo clculo inteligente

El mejor uso que se realice de nuevo clculo inteligente de Excel, el procesamiento menor tiene que realizar cada vez que lo recalcula que Excel:
Evite las funciones voltiles como INDIRECT y OFFSET, donde puede, a menos que sean mucho ms eficaz de las alternativas. A menudo es rpido
bien diseado el uso de OFFSET.
Reducir el tamao de los rangos que se va a utilizar en frmulas y funciones.
Interrumpir las frmulas de matriz y frmulas de mega fuera auxiliar diferentes columnas y filas.

Cuarto regla: Hora y la prueba cada cambio

Algunos de los cambios que efecte pueden sorprenderle, al no proporcionar la respuesta que se cree que debera, o mediante el clculo ms
despacio de lo que esperaba. Por lo tanto, tiempo y pruebe cada cambio, como sigue:
1. El tiempo de la frmula que desee cambiar mediante el uso de la macro RangeTimer.
2. Realizar el cambio.
3. El tiempo de la frmula modificada a travs de la macro RangeTimer.
4. Compruebe que la frmula modificada an proporciona la respuesta correcta.

Ejemplos de reglas
Las secciones siguientes proporcionan ejemplos de cmo utilizar las reglas para acelerar el clculo.
Sumas de perodo actual

Por ejemplo, tiene que calcular los importes del periodo hasta la fecha de una columna que contiene los nmeros de 2000. Se supone que la columna
A contiene los nmeros y que la columna B y C de la columna debe contener los totales del perodo actual.
Se puede escribir la frmula utilizando SUM, que es una eficaz funcin.
VBA

B1=SUM($A$1:$A1)
B2=SUM($A$1:$A2)

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

10/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
La figura 6. Ejemplo de las frmulas de suma de perodo actual

A continuacin, copie la frmula a B2000.


El nmero de referencias de celda se suman por SUM en total? B1 hace referencia a una celda y B2000 hace referencia a celdas de 2000. El promedio
es referencias de 1000 por cada celda, por lo que el nmero total de referencias es de 2 millones. Seleccin de las frmulas de 2000 y el uso de la
macro RangeTimer muestran que las frmulas de 2000 en la columna B se calculan en 80 milisegundos. La mayora de estos clculos se duplica
muchas veces: SUM agrega la A1 a A2 en cada frmula de B2:B2000.
Si escribe las frmulas de las siguientes, es posible eliminar esta repeticin.
VBA

C1=A1
C2=C1+A1
A continuacin, copie esta frmula a C2000.
Ahora el nmero de la celda se suman las referencias en total? Cada frmula, excepto la primera frmula, utiliza dos referencias de celda. Por lo
tanto, el total es 1999 * 2 + 1 = 3999. Se trata de un factor de referencias de celda menos de 500.
RangeTimer indica que las frmulas de 2000 en la columna C se calculan en 3.7 milisegundos, en comparacin con los 80 milisegundos para la
columna B. Este cambio tiene un factor de mejora de rendimiento de slo 80 / 3.7 = 22 en lugar de 500 porque no hay una pequea sobrecarga por la
frmula.
controlar errores

Si tiene una frmula de clculo intensivo donde desea que aparezca el resultado como cero si no hay un error Esto suele ocurrir con las bsquedas de
coincidencia exacta, se puede escribir en varios aspectos.
Puede escribirlo como una frmula sencilla, que es lenta:
VBA

B1=IF(ISERROR(timeexpensiveformula),0,timeexpensiveformula)
Puede escribirlo como dos frmulas, que es rpida:
VBA

A1=timeexpensiveformula
B1=IF(ISERROR(A1),0,A1)
A partir de Excel 2007, se puede utilizar la funcin IFERROR, que est diseada para ser rpido y sencillo, y es una frmula sencilla:
VBA

B1=IFERROR(timeexpensiveformula,0)

Recuento dinmica Unique

La figura 7. Lista de ejemplo de los datos de cuenta nica

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

11/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)

Si tiene una lista de 11.000 filas de datos en la columna A, lo que cambia con frecuencia, y necesita una frmula que calcula dinmicamente el nmero
de elementos nicos en la lista, sin tener en cuenta los espacios en blanco, encontrar varias soluciones posibles.
Frmulas de matriz

Puede hacerlo con la siguiente frmula de matriz Utilice CTRL + MAYS + ENTRAR.
VBA

{=SUM(IF(LEN(A2:A11000)>0,1/COUNTIF(A2:A11000,A2:A11000)))}
RangeTimer indica que sta tarda 13,8 segundos.
SUMPRODUCT

SUMPRODUCT calcula normalmente ms rpido que una frmula de matriz equivalente.


VBA

=SUMPRODUCT((A2:A11000<>"")/COUNTIF(A2:A11000,A2:A11000&""))
Esta frmula tarda segundos 10.0. Esto da como resultado un factor de mejora de 13.8/10.0=1.38, que es mejor, pero no es suficientemente bueno.
Funciones definidas por el usuario

En el ejemplo de cdigo siguiente se muestra una funcin VBA definida por el usuario que utiliza el hecho de que el ndice de una coleccin debe ser
nico. Para obtener una explicacin de algunas tcnicas que se utilizan, vea la seccin acerca de las funciones definidas por el usuario en la seccin
uso eficaz de funciones en Rendimiento de Excel 2010: Sugerencias para salvar los obstculos de rendimiento traduccin automtica.
VBA

PublicFunctionCOUNTU(theRangeAsRange)AsVariant
DimcolUniquesAsNewCollection
DimvArrAsVariant
DimvCellAsVariant
DimvLcellAsVariant
DimoRngAsRange
SetoRng=Intersect(theRange,theRange.Parent.UsedRange)
vArr=oRng
OnErrorResumeNext
ForEachvCellInvArr
IfvCell<>vLcellThen
IfLen(CStr(vCell))>0Then
colUniques.AddvCell,CStr(vCell)
EndIf
EndIf
vLcell=vCell
NextvCell

COUNTU=colUniques.Count
EndFunction
Esta frmula, =COUNTU(A2:A11000), tarda slo unos segundos 0.061. Esto da como resultado un factor de mejora de 13.8/0.061=226.
Agregar una columna de frmulas

Si se fija en el ejemplo anterior de los datos, puede ver que se ordena 0,5 segundos para ordenar las filas de 11.000 de toma de Excel. Esto se puede
aprovechar mediante la adicin de una columna de las frmulas que se comprueba si los datos de esta fila estn el mismo que los datos de la fila
anterior. Si es diferente, la frmula devuelve 1. De lo contrario, devuelve 0.
Agregar esta frmula a la celda B2.
VBA

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

12/13

10/9/2015

RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
=IF(AND(A2<>"",A2<>A1),1,0)
A continuacin, copie la frmula en. A continuacin, agregar una frmula para sumar la columna B.
VBA

=SUM(B2:B11000)
Un clculo completo de todas estas frmulas toma 0.002 0.027 segundos. Esto da como resultado un factor de mejora de 13.8/0.027=511.

Conclusin
Excel 2010 permite administrar con eficacia mucho mayor hojas de clculo, y proporciona mejoras significativas en la velocidad de clculo. Al crear
hojas de clculo de gran tamao, es fcil crearlas en una forma que calcular con lentitud. Hojas de clculo de baja velocidad aumentan errores debido
a que los usuarios les resulta difcil mantener la concentracin mientras se est produciendo el clculo.
Si utiliza un sencillo conjunto de tcnicas, puede acelerar calcular ralentizar la mayora de las hojas de clculo en un factor de 10 100. Tambin
puede aplicar estas tcnicas, disear y crear hojas de clculo para asegurarse de que se calculen con rapidez.

Acerca de los autores


Charles Williams fund la decisin de modelos en 1996 para proporcionar asesora avanzada, las soluciones de compatibilidad de decisin y
herramientas que se basan en Microsoft Excel y las bases de datos relacionales. Charles es el autor de FastExcel, el generador de perfiles de
rendimiento de Excel utilizado con frecuencia y el conjunto de herramientas de rendimiento y coautor de administrador de nombres, la utilidad
popular para la administracin de los nombres definidos. Para obtener ms informacin acerca del rendimiento del clculo de Excel y los mtodos, el
uso de memoria y las funciones definidas por el usuario VBA, visite el sitio Web de Los modelos de decisin.
En este artculo tcnico se haya producido en colaboracin con A23 Consulting.
Allison Bokone, Microsoft Corporation, es un escritor de programacin en el equipo de Office.
Chad Rothschiller, Microsoft Corporation, es un administrador de programas en el equipo de Office.

recursos adicionales
Para obtener ms informacin acerca de Excel 2010, consulte los siguientes recursos:
Rendimiento de Excel 2010: mejoras de rendimiento y lmite
Rendimiento de Excel 2010: Sugerencias para salvar los obstculos de rendimiento traduccin automtica
Portal para desarrolladores de Excel
Blog: Microsoft Excel 2010

Nota
Renuncia de responsabilidad de traduccin automtica: este artculo ha sido traducido por un sistema sin intervencin humana. Microsoft
ofrece estas traducciones de equipo para ayudar a los usuarios de habla inglesa disfrutar del contenido de los productos de Microsoft, servicios
y tecnologas. Debido a que el artculo es una mquina que se traduce, puede contener errores de vocabulario, sintaxis o gramtica.

2015 Microsoft

https://msdn.microsoft.com/eses/library/office/ff700515(v=office.14).aspx

13/13

S-ar putea să vă placă și