viernes, 6 de abril de 2012

La función CELDA con el argumento "ANCHO"

Ya hemos visto en entradas pasadas que la función CELDA con el argumento "NOMBREARCHIVO" puede dar problemas si no se utiliza el segundo argumento. Recordemos la sintaxis:

CELDA("nombrearchivo";[referencia])

También puede dar problemas si se utiliza "ANCHO" como primer argumento. Estudiemos en primer lugar el problema; después daremos la solución.

En A1 : =CELDA("ancho")    [Resultado (en mi ordenador): 11]

Ahora, hacemos clic con el botón derecho en el encabezado de la columna E, en el menú emergente elegimos Ancho de columna, ponemos un ancho de 15 y pulsamos Aceptar. Por el momento, no ha pasado nada raro.

En E5 escribimos: Presupuesto

Como CELDA("ancho") es una función volátil, en cuanto pulsemos Intro o salgamos de E5 con una tecla de fecha o con el tabulador, A1 mostrará el ancho de la última celda modificada (por omisión, la última celda modificada se toma como referencia); es decir, en A1 se mostrará el número 15. Lógicamente, queremos que en A1 se muestre la anchura de la celda A1, no la de E5.

La solución es bien sencilla; basta utilizar el segundo argumento de la función, indicando la referencia a la propia celda en la que hemos puesto la fórmula o a otra de la misma columna.

En A1 escribimos: =CELDA("ancho";A1)    [Resultado: 11]

Ya podemos cambiar el ancho de cualquier otra columna sin peligro de que se altere el valor que nos devuelve la fórmula.

Hacemos clic con el botón derecho en el encabezado de la columna A y, en el menú emergente, seleccionamos Ancho de columna; ponemos un ancho de 23 y pulsa Aceptar.

A pesar de que la fórmula es la correcta, en A1 sigue mostrándose 11. Esto es debido a que, en realidad, no se ha modificado ningún valor de la hoja y Excel no considera que el cambio de anchura de una columna suponga una modificación que implique recalcular las fórmulas. Tendremos que forzar el recálculo. Podemos hacerlo pulsando F9 o cambiando el valor de cualquier celda de la hoja.

1 comentario: