Mostrando las entradas con la etiqueta Nombres Definidos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Nombres Definidos. Mostrar todas las entradas

lunes, febrero 06, 2017

Reemplazar nombres en formulas de Excel por sus referencias.

Hace varios meses que no publico notas en el blog, no por pereza (bueno, tal vez un poco) ni por desidia y espero que mis pocos, pero leales, seguidores sepan disculparme.

Para retomar el diálogo empiezo con una solución a una consulta que suelo recibir cada tanto: ¿cómo reemplazar los nombres definidos por sus referencias? Como sabemos, los nombres definidos nos permiten, entro otras cosas, volver más legibles nuestras fórmulas (aquí pueden ver todos los posts en mi blog sobre el tema).

Por ejemplo, si en lugar de =SUMA(A2:A13) usamos =SUMA(ventas), quedará inmediatamente claro qué está calculando la fórmula.

En esta nota del 2014 mostré como Excel nos permite reemplazar las referencias en las fórmulas por nombres definidos. Pero Excel no incluye ninguna herramienta para hacer lo opuesto, es decir, reemplazar los nombres definidos en las fórmulas por sus referencias.

Si por algún motivo queremos reemplazar nombres por referencias a rangos, tendremos que echar mano a una macro.

Este código reemplazará los nombres por los rangos referidos en las celdas seleccionadas.

 Sub change_to_ref()  
   Dim Nme As Name  
   Dim rngCell As Range  
   For Each Nme In Names  
   For Each rngCell In Selection  
     If rngCell.HasFormula Then  
       If InStr(1, rngCell.Formula, Nme.Name, vbTextCompare) > 0 Then  
         rngCell.Formula = Replace(rngCell.Formula, Nme.Name, Mid(Nme.RefersTo, 2, 9999))  
       End If  
     End If  
   Next rngCell  
   Next Nme  
 End Sub  

Para usarlo lo copiamos a un módulo común en el editor de Vb, preferentemente en el cuaderno Personal.xlsb de manera que podamos utilizarlo en todos los cuadernos activos de Excel.


lunes, febrero 29, 2016

Señalar rangos de nombres definidos - versión mejorada

En la nota anterior mostré como hacer visibles los rangos de nombres definidos en una hoja de Excel.  Uno de mis lectores me pregunta si se puede mejorar la macro de manera que cada rango se señale con un color de fondo distinto.
Para hacerlo tendremos que modificar un poco el código de la macro de la nota anterior, agregando el mecanismo para crear colores de fondo en forma aleatoria. Además tendremos que asegurarnos que el tono de los colores no oculte el contenido de las celdas.

El código modificado es el siguiente:

 Sub mostrar_nombres_dif_color()  
   Dim n As Name  
   Dim strNameStart As String  
   On Error Resume Next  
   Application.ScreenUpdating = False  
   For Each n In ActiveWorkbook.Names  
     With Range(n.RefersTo).Interior  
       .ColorIndex = Int((56 * Rnd) + 1)  
       .TintAndShade = 0.9  
     End With  
     strNameStart = Left(n.RefersTo, WorksheetFunction.Find(":", n.RefersTo) - 1)  
     With Range(strNameStart)  
       .AddComment  
       .Comment.Text n.Name  
       .Comment.Visible = False  
     End With  
   Next n  
   Application.ScreenUpdating = True  
   On Error GoTo 0  
 End Sub  

Como puede apreciarse estoy usando la expresión Int((56 * Rnd) + 1) para generar números enteros entre 1 y 56. Como alguno de estos colores son oscuros e impedirían ver el contenido de las celdas, usamos la propiedad .TintAndShade con un valor de 0.7 para obtener tonos pálidos. Si queremos tonos má claros usamos números más cercanos al 1, por ejemplo 0.85.

El resultado puede verse en esta animación


He agregado la sentencia On Error Resume Next para evitar la interrupción de la rutina si en la primer celda del rango ya existe un comentario. En ese caso el comentario original quedará y no se registrará el nombre del rango.

Como cuestión de buena práctica recomiendo no usar  On Error Resume Next tal como se ve en el código. Pero me permito esta licencia ya que se trata de una pequeña herramienta que puede resultar útil al construir modelos complejos.

miércoles, febrero 24, 2016

Hacer visibles los nombres definidos en una hoja Excel

Cuando usamos varios nombres en nuestras hojas suele surgir la necesidad de visualizar los rangos a que se refieren los nombres.
El método más inmediato es usar Pegar Nombres-Pegar Lista, que accedemos con la tecla F3


De esta manera obtenemos una lista de los rangos de los nombres, pero si buscamos un método más visual tendremos que echar mano a otras técnicas.

Un viejo y conocido truco es reducir el nivel de zoom en la hoja a menos de 40%

Al hacerlo los nombres aparecen sobre los rangos. Pero este método tiene sus inconvenientes. El tamaño de los nombres se adecua al tamaño del rango, haciendo que alguno de ellos sea ilegible. Además el nivel de zoom dificulta la lectura y el trabajo en la hoja.

La solución que propongo es una macro que ponga un fondo de color al rango del nombre definido e inserte un comentario en la primer celda del rango.

El código de la macro es el siguiente:

 Sub mostrar_nombres()  
   Dim n As Name  
   Dim strNameStart As String  
   For Each n In ActiveWorkbook.Names  
     Range(n.RefersTo).Interior.ColorIndex = 36  
     strNameStart = Left(n.RefersTo, WorksheetFunction.Find(":", n.RefersTo) - 1)  
     With Range(strNameStart)  
       .AddComment   
       .Comment.Text n.Name  
     End With  
   Next n  
 End Sub  

Y este el resultado despues de activar la macro


Si queremos que los comentarios no sean visibles definimos la propiedad Visible como False

 Sub mostrar_nombres()  
   Dim n As Name  
   Dim strNameStart As String  
   For Each n In ActiveWorkbook.Names  
     Range(n.RefersTo).Interior.ColorIndex = 36  
     strNameStart = Left(n.RefersTo, WorksheetFunction.Find(":", n.RefersTo) - 1)  
     With Range(strNameStart)  
       .AddComment  
       .Comment.Text n.Name  
       .Comment.Visible = False  
     End With  
   Next n  
 End Sub  

lunes, marzo 10, 2014

Hojas Excel con traducción automática

Recientemente tuve que crear una hoja que incluyera la posibilidad de presentar el contenido en distintos idiomas.
La idea era usar una única hoja, de hecho un dashboard, pero que el usuario pudiera elegir en qué idioma presentar los textos de las celdas y demás objetos en la hoja/dashboard.

Este ejemplo muestra el funcionamiento

captura de pantalla


Como puede apreciarse, cuando el usuario elige un idioma apretando alguno de los botones de opción, los titulas de los cuadros de datos y del gráfico cambian.

La traducción se puede hacer fácilmente usando la función INDICE, pero la técnica varía si se trata de una celda o de un objeto. Esto es lo que mostraré en esta nota.

Para hacerlo empezamos por crear un glosario, una tabla con los textos de las palabras que queremos traducir en los distintos idiomas. En nuestro caso creamos un glosario con Castellano, Inglés e Italiano

glosario

En la hoja del dashboard agregamos los botones de opción para la elección de los idiomas. En las definiciones del botón lo asociamos a una celda. Es una buena práctica usar las columnas de la izquierda como columnas auxiliares, de manera que podamos ocultarlas. En nuestro caso vinculamos los botones a la celda A3

Definicion del boton de opcion
Otra buena práctica en Excel es definir un nombre que se refiera a la celda; en nuestro caso definimos el nombre "cel_Idioma" que se refiere a la celda A3

nombre definido

También es recomendable enmarcar los botones de opción en un cuadro de grupos.

Cuando el usuario elige el Castellano, el valor de "cel_Idioma" es 1; si elige English, será 2 y si elige Italiano será 3.

En la celda F3 de la hoja dashboard ponemos esta fórmula:

=INDICE(glosario!B6:D6,cel_Idioma)
formula para traducir

Esta fórmula usa el valor de "cel_Idioma" para extraer el texto en el idioma correspondiente en la tabla Glosario.

Pregunta con premio (copia gratuita totalmente funcional del Planificador de Proyectos) a las primeras tres respuestas correctas:

¿Que tiene de particular la fórmula en la celda F3 del ejemplo?

 La misma técnica empleamos para todas las celda cuyo contenido queremos traducir.

Si nos fijamos en el título de la lista desplegable del gráfico, veremos que se trata de un cuadro de texto "montado" sobre una celda.

cuadro de texto

No podemos ligar un cuadro de texto, o cualquier otra forma gráfica, a una fórmula pero si podemos hacerlo a una referencia. El rodeo para lograr el efecto de traducción consiste en poner la fórmula con la función INDICE que extrae la traducción del Glosario en una celda de la columna A (de manera que luego podamos ocultarla).

Creamos un cuadro de texto (o cualquier otra forma) y la superponemos en la celda adecuada (K2 en nuestro ejemplo). Luego seleccionamos el cuadro de texto y en la barra de las fórmulas ponemos =A9 (o ponemos = y luego hacemos un clic en la celda A9)

ligar forma a celda

La celda A9 contiene la fórmula

=INDICE(glosario!B14:D14,cel_Idioma)

Otra situación es si usamos tablas dinámmicas. A pesar que las tablas ocupan celdas, no podemos introducir fórmulas en los encabezamientos de las áreas (si podemos cambiar el texto).
Para superar este problema usamos nuevamente cuadros de texto ligados a celdas ocultas que contienen la fórmula con la función INDICE. Para mimetizar los cuadros de texto con el resto de la tabla le damos un relleno sólido con el mismo color que la tabla

tabla dinamica

En este video podemos ver el dashboard en funcionamiento



jueves, enero 09, 2014

Reemplazar referencias en fórmulas de Excel con nombres definidos

El uso nombres definidos en Excel hace más legibles nuestras fórmulas.

Obviamente es mucho más claro entender qué calcula la fórmula

=Ventas-Costo_de_Ventas 

que la equivalente

=B2-B3

ejemplo de fórmula con nombres definidos

Esta ventaja se hace más evidente cuando más complejas sean nuestras fórmulas.

A veces sucede que decidimos usar nombres después de haber desarrollado buena parte de nuestro modelo (en el exacto momento en que empezamos a no entender lo que hicimos).

Pero no hay que desesperar; podemos reemplazar las referencias en las fórmulas por los nombres que se refieren a las referencias con facilidad.

Volviendo a nuestro ejemplo sencillo creamos los nombres

crear desde la selección


Luego, seleccionamos las celdas con las fórmulas y usamos el comando "Aplicar Nombres" en el grupo "Nombres Definidos-Asignar Nombre"

menú Aplicar Nombres


seleccionamos los nombres a asignar (en este caso ambos)

seleccionar nombres a aplicar


y apretamos Aceptar

resultado de aplicar nombres en fórmulas


Las referencias son reemplazadas por los nombres definidos correspondientes.

sábado, noviembre 03, 2007

Algo más sobre nombres en Excel

Supongamos una hoja de un cuaderno Excel con la siguiente tabla



Si abrimos el diálogo de nombres (Insertar-Nombres-Definir), veremos que no hay ningún nombre definido



Empezamos por definir un nombre que contiene el rango B2:B13 (que llamamos "ventas")



Si abrimos ahora el diálogo Insertar-Nombres-Definir veremos el nombre que acabamos de crear



Digamos que queremos ver en qué meses las ventas fueron inferiores a 70.000, para lo cual aplicamos Autofiltro



Ahora queremos imprimir nuestro reporte, para lo cual definimos algunos parámetros con el menú Configurar Página-Hoja



Ahora volvemos a abrir el menú Insertar-Nombres-Definir



Vemos ahora que Excel a creado dos nombres que corresponden a las definiciones de impresión que hemos establecido: Área_de_impresión y Títulos_a_imprimir.

Estos nombres han sido creados como nombres "locales", es decir, son válidos sólo para la Hoja1 (en nuestro caso). Si abrimos el diálogo Insertar-Nombes-Definir en la Hoja2, sólo veremos "ventas".

¿Son estos todos los nombres en nuestro cuadernos? Excel no tiene un método nativo para exhibir todos los nombres definidos en el cuaderno. Para ver todos los nombres podemos usar una macro como la siguiente (sugerida por John Walkenbach)

Sub ListAllNames()
Row = 1
For Each n In ActiveWorkbook.names
Cells(Row, 4) = n.Name
Cells(Row, 5) = " " & n.RefersTo
Row = Row + 1
Next n
End Sub

o usar el excelente complemento Name Manager, creado por Jan Karle Pieterse,.



Como vemos, Excel ha creado el nombre Hoja1!_FilterDatabase que contiene el rango de la tabla a la que hemos aplicado Autofiltro. Este es un nombre "oculto", es decir, no parece en la lista de nombres (Insertar-Nombres-Pegar). Excel crea nombres ocultos en todo tipo de tareas, por ejemplo impresión como hemos visto, cuando usamos el Solver, etc.

Volviendo a Hoja1!_FilterDatabase, si agregamos datos a la tabla y volvemos a aplicar Autofiltro, veremos que Excel cambia el rango del nombre para adecuarlo a la nueva situación.

Un uso interesante, pero que hay que ejercer con cautela, consiste en reemplazar manualmente el rango de estos nombres. Esto es relevante, por supuesto, a los nombres que aparecen en el diálogo de Nombres-Definir.

Por ejemplo, el lector Carlos Clemente me envía una hoja para calcular prestamo_tae_CC tablas de amortización (que les recomiendo descargar y analizar). En esta hoja, Carlos reemplaza el rango del nombre Área_de_impresión por una fórmula, lo que le permite definir el área de impresión en forma dinámica de acuerdo a la cantidad de pagos del préstamo. Esto es necesario, ya que si reducimos el número de pagos y por ende el número de filas a imprimir, Excel seguirá imprimiendo el área mayor que haya sido impresa con anterioridad.
Otro característica interesante en el modelo del amigo Carlos es el uso de Formato Condicional para ocultar las filas sin datos.

Como vemos, el uso de nombres no sólo nos permite simplificar la interpretación de las fórmulas y crear rangos dinámicos, sino también afectar el comportamiento de Excel, como en el caso del área de impresión (o de Títulos a Imprimir).




Technorati Tags:

sábado, agosto 12, 2006

Usando funciones XLM (Excel 4) en hojas de cálculo.

Con anterioridad a la versión 5, Excel utilizaba un lenguaje macro llamado XLM (eXceL Macro, no confundirse con XML - eXtensible 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órmula

Fuente: aporte de KL en el foro Exceluciones

Supongamos 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:

sábado, marzo 25, 2006

Nombres (NAMES) en Excel – Lista automática

To read this post in English, press here.

Varias de mis entradas tratan sobre el uso de nombres (NAMES) en Excel, como por ejemplo Uso de Nombres (NAMES) en MS Excel, Uso de Nombres en Excel para formato condicional, Uso de Nombres para Validación de Datos y otras.

Para ver cuales son los nombres disponibles en cada situación podemos usar el menú Insertar---->Nombres--->Pegar
Aparecerá un diálogo como este



Al apretar "Aceptar" se imprimirá una lista de todos los nombres disponibles en la hoja activa.



Categorías: Manejo de Datos_, Varios_


Technorati Tags: ,

lunes, marzo 06, 2006

Manejo de pequeñas bases de datos en Excel – Referencias dinámicas con nombres (NAMES).

En la entrada de ayer sobre tablas dinámicas vimos que cada vez que agregamos datos a la base de datos, debemos actualizar la referencia al rango. De no hacer esto, las nuevas líneas de datos no aparecerán en la tabla dinámica.
En el ejemplo de ayer hicimos esto manualmente. Excel nos permite construir referencias dinámicas, que se actualizan con los cambios en el tamaño de la base de datos. La técnica para hacer esto es utilizar "nombres" (NAMES).
Si no estás familiarizado con este tema, puedes ver mi nota sobre
uso de nombres en Excel.
Como ya explicamos, los nombres pueden referirse no sólo a rangos sino también a fórmulas. Para crear el rango dinámico en nuestro caso definiremos un nombre que contendrá la formula DESREF (Offset en la versión inglesa). El archivo de este ejemplo se puede
pivotsp3descargar aquí.
La sintaxis de esta fórmula es la siguiente; DESREF(referencia ;filas;columnas;alto;ancho) donde:

referencia: la celda en el ángulo superior derecho de la lista (en nuestro caso será A1);
filas: para nuestro uso será siempre 0
columnas: para nuestro uso será siempre 0
alto: la cantidad de filas en nuestra lista
ancho: la cantidad de columnas en nuestra lista.


Para convertir esta fórmula en dinámica, usaremos la función CONTARA para determinar los valores de los parámetros alto y ancho. Esta es nuestra fórmula:

=DESREF(Hoja1!$A$1,0,0,CONTARA(Hoja1!$A:$A),CONTARA(Hoja1!$1:$1))


como se puede ver comenzamos en la celda A1, contamos cuantos valores hay en la columna A (que representan la cantidad de líneas de la tabla) y también contamos la cantidad de valores en la línea 1 (que representan la cantidad de columnas en la lista).

Ahora sólo nos queda reemplazar la referencia al rango de datos en la lista por el nombre que acabamos de definir. Los pasos a seguir son:
1 – activamos la Hoja2 y ubicamos el mouse en alguna de las celdas de la tabla dinámica
2 – abrimos el menú Tabla Dinámica--->Asistente



3 – pulsamos el botón "atrás"; en el diálogo que se abre reemplzamos el rango



con el nombre (la forma más práctica es pulsar F3)





A partir de este momento, la referencia de la tabla dinámica se adaptará automáticamente de acuerdo a la cantidad de líneas que agreguemos, o que borremos, a la base de datos.


Categorías: Funciones&Formulas_, Manejo de Datos_


Technorati Tags: ,

viernes, febrero 24, 2006

Uso de NOMBRES (NAMES) en Excel – Validación de Datos

En una nota anterior he hablado de las ventajas de usar NOMBRES en Excel. Hemos mostrado que los NOMBRES no sólo pueden servir para identificar rangos (lo que he llamado "nominar" rangos) sino que también pueden contener fórmulas.
Una demostración sobre este tipo de uso de NOMBRES puede verse en esta nota sobre Formato Condicional, y también en esta nota sobre valores #N/A.
Hoy veremos otro uso de como esta funcionalidad nos permite sobreponernos a algunas limitaciones de Excel.
En muchos de los modelos que desarrollo para mis clientes uso Validación de Datos. Esta funcionalidad permite controlar el tipo de datos permitidos.





Por ejemplo podemos establecer que sólo valores enteros entre 10 y 100 sean válidos para un rango determinado.



La variante que yo utilizo en muchos de mis modelos es "Lista"



Cuando usamos esta variante, en cada celda del rango se abre una lista de valores de la cual. Cualquier valor que no figure en la lista no será aceptado por Excel.

El problema con esta variante reside en que Excel aceptará solamente listas que sen encuentren en la misma hoja de la celda que queremos formar. Por ejemplo, no podemos usar una lista que se encuentre en Hoja2 para formar las celdas en Hoja1.
La solución es definir el rango de la lista como NOMBRE. Veamos esto con un ejemplo.
Supongamos que en Hoja2 tenemos una lista de precios:


Y en Hoja1 un formulario para calcular ofertas:



La idea es utilizar Validación de Datos para generar una lista de la cuál se elegirán los productos. El problema, como ya dijimos, es que Excel no permite utilizar rangos que se encuentren en otras hojas. Y nuestra lista de precios se encuentra en la Hoja2.

Para solucionar este problema hacemos lo siguiente:
1 – entramos en la hoja dos y seleccionamos el rango con los números de catálogo de los productos. En el cuadro nombres introducimos el nombre "productos".


2 – En la Hoja1 seleccionamos el rango A7:A12 y entramos en el menú de Validación de Datos. Elegimos la opción "lista".



3 – Pulsamos la ventanilla "origen" e inmediatamente el botón F3, lo que nos permitirá elegir uno de entre los nombre que hemos creado. Elegimos "producto" y pulsamos "aceptar".



4 – A partir de este momento cada vez que seleccionemos una celda en el rango A7:A12, veremos un pequeño triángulo. Si pulsamos este triángulo se abriera una lista que refleja los productos que se encuentran en la Hoja2.



En las celdas del rango B7:B12 utilizamos la fórmula


=SI(ESBLANCO(A7),"",BUSCARV(A7,lista_de_precios,2,0))

de esta manera, cuando elegimos una valor de la lista, automáticamente aparecerá el precio correspondiente.


Como ven, también hemos creado un NOMBRE que contiene el rango A2:B12 en la Hoja2, es decir el catálogo de productos con sus precios.
La función ESBLANCO nos sirve para evitar valores #N/A cuando no hay números de catálogo en la columna A de la Hoja1.



Categorías: Funciones&Formulas_, Manejo de Datos_, Varios_


Technorati Tags:
,

sábado, febrero 18, 2006

Uso de Nombres (NAMES) en MS Excel

En varias de mis notas anteriores he mencionado el uso de "nombres" en la composición de fórmulas. En este contexto he utilizado "nombres" para señalar rangos o celdas (en definitiva, una celda es un rango de una sola celda).
En cuanto descubrí esta funcionalidad que ofrece Excel comencé a utilizarla profusamente, y siempre me ha llamado la atención que usuarios de nivel intermedio e inclusive alto, no la empleen. Así que vamos a hablar un poco sobre el uso de nombres en Excel.
Por lo general hablamos de rangos nominados ("named ranges" en inglés) pero enseguida veremos que los nombres en Excel son en realidad otra cosa.

El ejemplo más sencillo es de este tipo: en una Nombres1hoja de Excel tenemos una tabla con las ventas mensuales de un agente; en alguna otra celda tenemos el porcentaje de comisión que le corresponde:


En lugar de calcular la comisión que le corresponde a nuestro agente con la fórmula =SUMA(B2:B13), podemos nominar el rango B2:B13 como "ventas" y la celda B15 "porcentaje". Nuestra fórmula se verá entonces: =SUMA(ventas)*porcentaje. En este ejemplo sencillo las ventajas de usar nombres no parecen gran cosa, pero imagínense una fórmula complicada con referencias a otras hojas. Esta forma "auto-explicatoria" de escribir las fórmulas puede ser de gran ayuda. Y esto no es todo, pero las demás ventajas las veremos más adelante.
Hay varias formas de crear nombres. La más sencilla es usar el "cuadro de nombres"



La técnica es sencilla: primero marcamos el rango, luego escribimos el nombre en el cuadro de nombre y pulsamos Enter.



Hacemos lo mismo con la celda B15, y ya podemos escribir nuestra fórmula con nombres:



Para ver cómo interpreta Excel los nombres, abrimos el menú Insertar--->Nombre--->Definir



Aquí podemos ver que la definición del rango va precedida por un signo "=": =Hoja1!$B$2:$B$13, lo que nos dice que Excel interpreta los nombres como fórmulas y no precisamente como rangos. Por ejemplo, podemos crear un nombre que se llame "total_de_ventas" cuya definición es =SUMA(Hoja1!$B$2:$B$13). Podemos entonces rescribir la fórmula en la celda B16 de la siguiente manera: =total_de_ventas*porcentaje



Esto es muy importante porque podemos definir no solo rangos sino también fórmula los que nos permitirá hacer algunos "pases mágicos". Estos serán el tema de mi próxima entrada.

Por ahora me queda sólo agregar que no se pueden borrar nombres en el cuadro de nombres, como parecería lógico pensar. Para borrar nombres hay que activar el menú Insertar--->Nombre--->Definir, elegir el nombre que queremos borrar y pulsar el botón "Eliminar".
En la próxima entrada veremos cómo usar nombre para crear rangos dinámicos y como crear listas para validación de datos.



Categorías: Funciones&Formulas_, Varios _

Technorati Tags: ,