Documente Academic
Documente Profesional
Documente Cultură
RendimientodeExcel2010:Mejoradelrendimientodeclculo(traduccinautomtica)
Al usar este sitio acepta el uso de cookies para anlisis, contenido personalizado y publicidad.
Saber ms
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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
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)
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((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.
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