Con anterioridad a la versión 5, Excel utilizaba un lenguaje macro llamado XLM (e
Xce
L Macro, no confundirse con
XML - e
Xtensible
Markup
Language).
Este lenguaje cuenta con una colección de funciones que pueden ser usadas en hojas de cálculo de Excel. Estas funciones nos permiten realizar cálculos que de otra manera sólo serían posibles utilizando Vba (Visual Basic for Applications, el lenguaje macro de Excel desde la versión 5).
Para utilizar estas funciones debemos incluirlas en
nombres. Veamos algunos ejemplos.
Ejemplo 1 – Sumando de acuerdo al color de relleno de la celda
Fuente:
JKP Application Development Services
Usamos la función XLM
INDICAR.CELDA (Get.Cell en inglés) para extraer el número de índice del color del relleno.
Creamos el nombre Numero_de_Color que contiene esta fórmula: =INDICAR.CELDA(63,Hoja1!A2)
Copiamos el nombre a la celda B2 y al rango E2:E11. En la celda B3 introducimos esta fórmula: =SUMAR.SI($E$2:$E$11,B2,$D$2:$D$11)
Como puede verse, el resultado es la suma de todos los valores con color de relleno verde.
Dado que el cambio de color no fuerza a Excel a recalcular la hoja, debemos pulsar F9 para forzar a Excel a recalcular la fórmula cada vez que cambiemos el color en la celda B2.
Otro método es convertir a nuestra fórmula en volátil agregándole una función volátil que no afecte el resultado: =INDICAR.CELDA(63,Hoja1!A2)+AHORA()*0
Algunos otros parámetros de INDICAR.CELDA
14: da VERDADERO si la celda está bloqueada, o FALSO si no lo está
18: nombre de la fuente (font) usada en la celda
19: tamaño de la fuente, en puntos
48: da VERDADERO si la celda contiene una fórmula o FALSO si contiene una constante
62: da el nombre del cuaderno y la hoja activos en la forma
Al final de la entrada hay un enlace para descargar el archivo de ayuda con todas las fórmulas XLM.
Ejemplo 2 – Evaluar texto como fórmulaFuente: aporte de KL en el foro
ExcelucionesSupongamos el siguiente
texto en la celda A1
Usaremos la fórmula XLM
EVALUAR (Evaluate en inglés) para usar ese texto como fórmula.
Creamos el nombre LeerFormula que contiene la fórmula =EVALUAR(A1&T(HOY()))
Ponemos el nombre en la celda B1 y obtenemos el resultado
Como en el caso anterior, la expresión "&T(HOY()" fuerza a Excel a recalcular la fórmula.
Actualización - Algunas aclaraciones importantes de KL:
1 - Es
ESENCIAL subrayar que antes de definir el nombre se debe seleccionar la celda [B1]. Es decir, estamos jugando con la relatividad de la referencia A1 (!!! sin el dolar) con respecto a la B1.
2 - Ademas, si se quiere usar el truco en todas las hojas del mismo libro, la formula deberia introducirse en el siguiente formato (o sea, precediendo la referencia de la celda de un
signo de exclamacion): =EVALUAR(!A1&T(HOY()))
Aquí se puede encontrar información sobre el lenguaje de macros
Excel 4.0 (XLM) y descargar el archivo con la
lista de funciones.
Categorías: Funciones&Formulas_
Technorati Tags: NAMES