miércoles, 11 de noviembre de 2009

Fórmulas útiles de información y de texto

Función =CELDA(tipo de información; referencia)
Entrega información sobre la celda a la que se hace referencia y no sólo la celda sino que la hoja y la planilla que contienen la celda. En inglés la función es =CELL().

Si, por ejemplo, el archivo tiene la siguiente ruta: C:\Mis Documentos\Mi archivo.xls y tenemos una hoja que se llama Hoja1, entonces para que nos despliegue la ruta completa, archivo y hoja...

=CELDA("filename";A1)
Entrega como resultado...
C:\Mis Documentos\Mi archivo.xls\Hoja1

La fórmula hace referencia a la celda A1 pero podría ser cualquier celda de la hoja u omitirse la referencia (es opcional). Esta función funciona sólo si se ha guardado por primera vez la hoja con un nombre, si no, no existe ruta que desplegar.

Es importante notar que en Excel 2003 la ayuda dice erróneamente que esta función es =CELDA("archivo";A1), sin embargo escribir "archivo" en castellano entrega un error (#¡VALOR!); se debe escribir en inglés "filename".

¿Para qué quiero desplegar la ruta? A veces uno desea que la planilla impresa contenga la ruta del archivo como referencia futura, para saber dónde encontrar el archivo posteriormente, o porque uno quiere que otras personas que no trabajaron en el archivo sepan dónde está.

La ayuda de Excel dice que "La función CELDA se proporciona por razones de compatibilidad con otros programas para hojas de cálculo" lo que es parcialmente cierto ya que hay formas equivalentes de encontrar la misma información.

Por ejemplo, la fórmula =FILA(B27) entrega como resultado 27 que es lo mismo que hace la fórmula =CELDA("FILA";B27)

Sin embargo para encontrar la ruta del archivo, nombre del archivo u hoja no hay sustituto para la función CELDA.

Si queremos sólo desplegar el nombre del archivo sin la rut, entonces debemos mezclar la función de información CELDA con funciones de texto como EXTRAE, IZQUIERDA y ENCONTRAR (en inglés MID, LEFT y FIND respectivamente).

Para el mismo ejemplo anterior la fórmula...
=EXTRAE(IZQUIERDA(CELDA("filename";$A$1); ENCONTRAR("]"; CELDA("filename"; $A$1))- 1); ENCONTRAR("[";CELDA("filename"; $A$1))+1; 255)

Entrega como resultado...
Mi archivo.xls

Y si sólo queremos mostrar el nombre de la hoja, la fórmula...
=EXTRAE(CELDA("filename";A1);ENCONTRAR("]";CELDA("filename";A1))+1;255

Entrega como resultado...
Hoja1

Esta última fórmula es extremadamente útil cuando se quiere que el título de cada hoja (desplegado en una celda de cada hoja) sea igual al nombre de la hoja.

Más información sobre funciones de texto en este post.

No hay comentarios:

Publicar un comentario