miércoles, 11 de junio de 2014

Detectar celda con fórmula en Excel.

A través de un foro en el que participo se me planteó cómo detectar si una celda contiene o no una fórmula:
...Yo necesito resaltar de alguna manera si mi celda tiene formula o ya tipee manualmente un número. (tengo espacio como para alojar una formula en celda adyacente y de ahí sacar el formato condicional para A1),...


Lo tendremos muy fácil si trabajamos con Excel 2013, donde existe la función
=ESFORMULA(referencia)
que comprueba si existe una referencia a una celda que contiene una fórmula y devuelve VERDADERO o FALSO.
Siendo:
Referencia: es una referencia a la celda que se desea probar; puede ser una referencia de celda, una fórmula o un nombre que hace referencia a una celda.


Sin embargo esta función no existe en versiones anteriores, así que la solución para Excel 2010 y previas, pasa por el uso de las macrofunciones (ver ejemplo).

Para ello nos basaremos en el ejemplo siguiente, donde:

Detectar celda con fórmula en Excel.


En la imagen vemos cómo la celda B1 NO es una fórmula (es sólo un valor), mientras que el resto de celdas B2:B4 SÍ contienen algún tipo de fórmula...

Para construir nuestra macrofunción que llamaremos, no puede ser de otra forma, EsFormula (cualquier nombre valdrá), nos situaremos en la celda C1 (muy importante).
Crearemos un Nombre definido con el nombre indicado y en la sección 'Se refiere a:' insertaremos la siguiente función:
=INDICAR.CELDA(48;!$B1)+AHORA()*0=1

Detectar celda con fórmula en Excel.


Listo, ya podemos insertar en la celda C1 nuestra función:
=EsFormula
lo que nos devolverá FALSO.
Y al insertarlo en C2, C3 o C4 obtendremos VERDADERO

Detectar celda con fórmula en Excel.



Todo se basa en la macrofunción INDICAR.CELDA(48;celda) que nos indica si la celda en cuestión tiene o no fórmula.
Además en este tipo de Nombres definidos con fórmula es fundamental (al igual que en los Formatos Condicionales) situarnos y activar la celda oportuna antes de crear el nombre definido; en nuestro ejemplo, teníamos como celda activa C1 y nos referimos en la fórmula a B1, esto es, a la celda inmediata izquierda...

No hay comentarios:

Publicar un comentario en la entrada