En varias entradas de este blog verán a la poco conocida funcion INDIRECTO(referencia, [a1]), sobre la cual no levanté ningún post en particular, asunto pendiente que un lector asiduo me reclama.
Para decirlo en pocas palabras, INDIRECTO() toma una cadena de texto (primer argumento) y lo convierte en una dirección (o referencia) a una celda o rango. El segundo argumento es opcional y lo veremos después.
Nos permite, y valga la redundancia, trabajar "indirectamente" con rangos.
Como primer medida y dado que las palabras siempre se quedan cortas para explicar este tipo de temas, ingresamos en la celda A1 lo siguiente: C2.
[+/-] Ver el resto / Ocultar
Ya tenemos en A1 un valor del tipo texto, que hace una referencia válida al nombre de otra celda.
Ahora en C2 colocaremos un número cualquiera, y en A3 lo siguiente:
=INDIRECTO(A1) * 2
Obteniendo este resultado:
notarán que el valor introducido en A1 fué convertido a una dirección de celda válida.
Claro... hasta acá todo muy bien.... pero para que usar INDIRECTO() si puedo multiplicar el valor de C2 sin tantas vueltas? Es verdad, pero en muchos proyectos no sabremos de antemano que celda deberemos multiplicar o la longitud del rango que abarcaremos, ya que estos datos dependerán de las acciones que tomen nuestros usuarios. Ahí es donde entra a jugar la verdadera importancia de esta función.
Un ejemplo para mejorar las cosas. Supongamos que hay una lista de numeros y yo necesito saber cual es la ultima fila de la tabla ocupada por dichos valores:
Puedo usar la función CONTAR() de esta forma y armar algo:
vean en la barra de fórmulas como concatené
Y como paso final, usar INDIRECTO():
estoy sumando el indirecto del rango armado en C1
Nos será de gran utilidad cuando nuestros usuarios sigan agregando datos a la tabla, ya que no necesitaremos modificar ninguna función. En C1 se extenderá el nombre del rango e INDIRECTO() continuará trabajando normalmente:
agregué 4 nuevos elementos y tanto el rango como la suma se actualizaron automaticamente.
Este tipo de ejemplos es también aplicable a la Validación de Datos.
Permitir: Lista - Origen: el INDIRECTO(C1)
Presionamos aceptar y nuestra labor quedará concluída:
Si por algún motivo no deseamos o no podemos hacer uso de celdas auxiliares, escribimos las funciones anidadadas en la Validación:
esto produce el mismo resultado que el expuesto en la imagen anterior.
Recuerden que si los valores a contar no son numéricos, debemos aplicar la función CONTARA() en vez de CONTAR().
Otra opción, mucho mas profesional (y un tanto mas complicada) es
DESREF()Espero haber saldado la deuda con mi lector y que los ejemplos le sirvan en su trabajo.
Ayuda amigo Dice Asi una Consigna : Si la Colugna Tanto y tanto a obtenidos valores verdaderos ,en la columna tanto debera mostrarse el valor "Verdadero" , en caso contrario debere mostrar el valor "Falso"
ResponderEliminarmaurito: desde ya muchas gracias por tu consulta... pero no la entiendo muy bien. estimo que es lo siguiente:
ResponderEliminaren las columnas A y B tenés VERDADERO. Entonces en la columna C debería aparecer VERDADERO, sino FALSO.
¿es asi?
Si comprendí bien, entonces tenés que hacer lo siguiente:
en A1 y en B1 colocas VERDADERO.
en C1 ingresas las siguientes funciones anidadas:
=SI(Y(A1=VERDADERO;B1=VERDADERO);VERDADERO;FALSO)
la condición a evaluar es una función Y(), entonces (traducido) le estoy diciendo:
si A1 y B1 son iguales a VERDADERO, entonces devolvé VERDADERO, si no FALSO.
te dejo un link al archivo con las funciones:
https://sites.google.com/site/damianomarsilva2/verdadero_falso.xls
espero que te sirva, cualquier cosa me avisás.
que pagina me recomienda para aprender ha desarrollar macros.
ResponderEliminar