Referencias circulares iterativas (Microsoft Excel)
Las referencias circulares se producen cuando una fórmula se refiere, directa o indirectamente, a la celda en la que se almacena la fórmula. Por ejemplo, si B3 contiene la fórmula = B2 + B3, entonces B3 contiene una referencia circular.
Normalmente, las referencias circulares representan un error en una fórmula. Sin embargo, existen algunas situaciones en las que conviene hacer referencias circulares.
Excel le permite incluir referencias circulares en una hoja de trabajo, pero puede ser un poco exigente con ellas.
En su mayor parte, Excel es muy indulgente con las referencias circulares si tiene activado el control de Iteración. (Elija Opciones en el menú Herramientas y muestre la pestaña Cálculo). Si selecciona la casilla de verificación Iteración y luego ingresa una referencia circular, Excel no protesta.
En su lugar, utiliza la configuración de la pestaña Cálculo para controlar cuántas veces se repite la referencia circular antes de que se considere realizada.
Parece que la configuración de la casilla de verificación Iteración se almacena como parte de un libro de trabajo, pero no siempre se le presta atención cuando el libro de trabajo se carga más tarde en Excel. De hecho, la configuración se ignora por completo si ocurre algo de lo siguiente antes de abrir el libro de trabajo:
-
Abre cualquier otro libro además del libro predeterminado creado cuando inicia Excel por primera vez.
-
Cambia la casilla de verificación Iteración mientras se muestra el libro de trabajo predeterminado.
Lo que hace Excel es examinar la configuración de la casilla de verificación Iteración para cualquier libro que abra por primera vez. Esa configuración se convierte en la «predeterminada» para la sesión actual con Excel. Para cualquier otro libro cargado durante la misma sesión, se ignora la configuración guardada de la casilla de verificación Iteración.
Además, si tiene un libro de trabajo Personal.xls definido en su sistema, la configuración de la casilla de verificación Iteración dentro de ese archivo siempre se usa como predeterminada. ¿Por qué? Porque Personal.xls siempre será el primer libro abierto y el primer libro abierto siempre define el valor predeterminado para la configuración.
Si tiene un libro guardado que usa referencias circulares y la casilla de verificación Iteración está desactivada (ya sea de forma predeterminada o explícita), cuando abra el libro que contiene las referencias circulares, Excel mostrará una advertencia. Si no desea ver la advertencia, la solución obvia es asegurarse de abrir el libro de trabajo antes que cualquier otro libro (para que se use su configuración de Iteración) o establecer explícitamente la casilla de verificación Iteración antes de abrir el libro de trabajo.
Si no quiere preocuparse por el orden en que abre los libros de trabajo y no desea cambiar siempre la configuración de la casilla de verificación Iteración, puede crear una macro que garantice que la casilla de verificación Iteración esté seleccionada para el libro de trabajo. Si asigna la macro al evento Open para el libro de trabajo, se ejecutará cada vez que se abra el libro, asegurándose de que no verá la advertencia que no desea ver.
La macro aparece de la siguiente manera:
Private Sub Workbook_Open() Application.Iteration = True End Sub
Si tiene un libro de trabajo Personal.xls definido para su sistema, puede agregarle esta macro en lugar de a libros de trabajo individuales. De esa manera, puede asegurarse de que la casilla de verificación Iteración siempre esté seleccionada para cada sesión de Excel.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2816) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Iterating_Circular_References [Iterando referencias circulares]
.