Explicación y ejemplo avanzado sobre la función Indirecto en Excel.
CATEGORÍA: AVANZADO
Función Indirecto
Descargar el archivo Excel de este ejemplo.
La función INDIRECTO (INDIRECT en inglés), es bastante rara. Es muy difícil identificar para qué la usarías … hasta que la necesitas.
Su función, según la ayuda de Excel es: “Devuelve la referencia especificada por una cadena de texto.” (¿¿¿???)
No dice mucho. Antes de seguir, veamos los parámetros:
INDIRECTO(Referencia; [opcional: Tipo de Referencia])
Donde:
- Referencia: Texto de una referencia del tipo A1 o R1C1 (es decir, con la “dirección” de la celda.
- Tipo: Valor lógico que indica el tipo de referencia:
- VERDADERO u omitido: Referencia del tipo A1
- FALSO: Referencia del tipo R1C1
También se pueden usar “nombres” de rangos. Es en estos casos donde yo he obtenido mayor provecho de esta función.
Todavía confundido? Sigue leyendo. Cuando veas el potencial de esta función vas a ver que es muy buena!
Ejemplo: si introducimos en cualquier celda la función =INDIRECTO(“A1″). Nos devolverá el valor que se encuentra justamente en la celda A1
Otro ejemplo. Tenemos una serie de valores entre las columnas A y D y entre las filas 1 a 4.
En las celdas B7 y B8 ingresamos datos de referencias al número de fila (en B7) y la letra que hace referencia a la columna.
En la celda B10 tenemos la función: =INDIRECTO(CONCATENAR(B8;B7))
Para este ejemplo, esto es equivalente a decir INDIRECTO(“B3″) y por lo tanto obtenemos el valor que se encuentra en esta celda que es 2.000.
Puede ser que te estés preguntando “¿Y? ¿para qué la uso?” Creo que el siguiente ejemplo muestra un caso donde se ve el potencial de esta función.
Ejemplo Avanzado de la función Indirecto
En este caso tenemos dos celdas con listas desplegables a partir de validación de datos. En la primera seleccionamos un país, pero necesitamos que en la segunda solamente nos muestre las ciudades que corresponden al país elegido.
Es decir, los datos permitidos en la celda B3, dependen de la ciudad que se elija en la celda B2.
A continuación, la explicación paso a paso.
1. Asociar los países a las ciudades correspondientes.
Para hacer esto, vamos a “nombrar” cada rango de ciudades, según el nombre del país que le corresponda. Por ejemplo, el rango D3:D7, lo vamos a llamar “Brasil”.
Si tienes dudas sobre cómo utilizar los nombres, te sugiero repasar el tutorial sobre uso de nombres en Excel.
Es muy importante que los nombres que asignemos coincidan EXACTAMENTE con los que tenemos en las filas D2 a G2.
Ejemplo, si tenemos “México” con el acento en la “é”, así debe estar definido el nombre. De otra forma no funcionará.
Definimos entonces los nombres:
- Brasil: para el rango D3:D7
- Argentina: para el rango E3:E6
- Colombia: para el rango F3:F6
- México: para el rango G3:G5
2. Asignar los valores válidos (lista desplegable) para seleccionar paí
s.
En la celda B2, restringiremos qué valores se pueden ingresar utilizando la validación de datos lo cual nos permite además contar con una lista despeglable con los valores que se pueden elegir.
Estando parados en la celda B2, vamos a la pestaña “Datos”, seleccionamos “Validación de datos”, e ingresamos los parámetros:
- Permitir: lista
- Origen: =$D$2:$G$2
3. Asociar los valores válidos de la celda de “ciudad” (B3), según el país elegido.
Es finalmente en este punto donde veremos a INDIRECTO con todo su potencial.
Necesitamos que la validación de datos para la celda B3 cambie y se ajuste cuando cambiamos de país.
Pensando en términos de la validación, significa que el Origen debe variar.
Utilizando la función =INDIRECTO(B2), indicamos a Excel que el valor que necesitamos NO es el valor como tal de B2 (ejemplo Brasil), sino las direcciones de Excel. Recuerden que llamamos “Brasil” al rango D3:D7.
Por lo tanto, decir INDIRECTO(“Brasil”) es equivalente a tener D3:D7.
Seleccionamos entonces la celda B3 y vamos a “Datos”, “Validación de datos” e ingresamos:
- Permitir: lista
- Origen: =INDIRECTO(B2)
OJO!!!: Si vemos que nos aparece el error “El origen actualmente evalúa un error”, se debe a que la celda B2 está en blanco y por lo tanto INDIRECTO trata de buscar una “dirección” vacía. Aceptamos de todas formas. Al elegir un país veremos que ambos filtros están funcionando.
¿Te gustó este truco o tenés alguna recomendación u otra forma de hacerlo? No te olvides de dejar tu comentario y compartir esta nota!
Buscá más trucos en: trucosdeexcel.com
Seguime por Twitter, usuario “trucosdeexcel”.
Mandá tus sugerencias o preguntas a: excelman@trucosdeexcel.com




SIGUE ASI
ESTA GENIAL, ME ACLARASTE ALGUNAS DUDAS QUE TENIA.
Este tema ya lo conocía, lo que no se hacer es lo siguiente:
1. Que cuando yo borre el país, la otra celda validada quede vacía
2. Que cuando yo elija otro país la otra celda validada traiga la primera ciudad correspondiente al país seleccionado.
¡¡¡Me puedes ayudar!!!??? Gracias.
Katalina Rondón
Hola que tal,
Necesito saber como hacer para usar la funcion INDIRECTO si tengo mis rangos en otra hoja del mismo libro.
Gracias.
Si es simplemente una referencia, puedes usar por ejemplo INDIRECTO(“Hoja1!”&A1). Asumiendo que los datos que buscas están en Hoja1 y la “dirección” se encuentra en A1. No te olvides del signo de admiración “!” al final del nombre de la hoja donde están los datos.
Si es para utilizar en listras desplegables, lo más práctico es utilizar nombres.
lllllll
Perfecto…
Hola muchas gracias por tu ejemplo, muy práctico y pude aplicarlo para hacer una lista de 3er orden.
uffff, excelente, siempre necesité esta herramienta. Gracias.
Muchas gracias sr!
Felicidades, claro, conciso pero sin ahorrarte palabras, excelente para neófitos como yo.
DE LA PUTAMADRE MIL THANKS!!!
estuvo muy buenos los ejemplos… me ayudo mucho!!!!
los ejemplos estuvieron muy claros , me ayudo mucho
Gracias por la info, ahora supongamos que al frente de cada ciudad hay un numero de ciudadanos, como hago para que al escoger la ciudad me arroje el numero de ciudadanos?
esta muy chido este tutorial buen aporte
Pueden ayudarme en un programa sencillo en Excel, donde se pueda controlar inventario de productos, con pedidos, salidas, entrega a clientes, cuentas pagadas y por cobrar, saldos de productos? Les agradeceré bastante
Exelente!!!!
Me has ayudado hasta la madre, muchisimas gracias
Excelente!!!
Muy util este truco….!!!
Una pregunta, si por ejemplo, necesito que cuando eliga a “Brasil”, me despliego todas sus ciudades en una columna, ya se, que ya lo tienes, pero digamos que tienes como 800 paises, entonces de la lista que tienes escoges uno, y quieres que te salgan sus datos que contiene en una columna determinada…se podria ?
Hola. Gracias por la inf. Respondiendo las dudas de Kata.
1. Cuando borre el país, la otra celda validada quede vacía. Respuestas:
Utilizando función SI, puedes condicionarla para que cuando este vacía la celda de país, te deje vacía la celda de Ciudad.
celda de ciudad =si(B2=”",”",si(B2=”Brasil”,D3,si(B2=”Argentina”,E3,si(B2=”Colombia”,F3,G3))))
2. Que cuando yo elija otro país la otra celda validada traiga la primera ciudad correspondiente al país seleccionado.
celda ciudad = si(B2=”Brasil”,D3,si(B2=”Argentina”,E3,si(B2=”Colombia”,F3,G3)))
Espero responda tu duda
G Segovia
Muy buen truco.
Quisiera saber còmo puedo aplicarlo a toda una columna ya que trabajo con bases de datos con gran nùmero de registros y seleccionando el paìs puedo elegir las ciudades que corresponden a cada registro ingresado.
Muy bueno, pero falto un complemento que no lo estas indicando en los pasos, los numeros de cada pais y ciudad asi como el cambio de flecha a manito. Disculpa mi ignorancia Saludos
hola, quiero agradecer la gran ayuda que ha sido para mi este sitio desde hace 1 día, quiero felicitarlos y pedirles, si es posible me puedan ayudar.
he creado una base de datos donde si seleccionamos una opcion me despega otra lista con caracteristicas de la opcion q seleccione, pero quiero saber si se puede hacer unacadena de listas despegables, una dependiendo de otra y asi sucesivamente.
saludos y muchas gracias por la atencion y ayuda.
alicia morales
G Segovia:
Hola, realice un ejercicio tal cual lo especificas pero no tuve resultados, podrias ayudarme por favor, quiero que al cambiar el pais se celda de la ciudad cambie a la primera opcionde de cada pais correspondiente y tambien dejarlas vacias… GRACIAS
muy buen ejercicio…. me salio y lo tendre en cuenta para mis formatos de excel
Excelente. Muy útil.
Me ayudaste a utilizar un lista desplegable condicionada a otra lista desplegable.
Ahora me gustaría saber, si existe alguna manera de que las listas desplegables tengan un auto ajuste, que al momento de tipear una letra o numero comience a aparecer la palabra de los items a escoger.
Gracias nuevamente.
Saludos.
Muchas gracias, hemos conseguido algo que llevabamos un tiempo buscando y JAMAS se nos hubiera ocurrido hacerlo con la función INDIRECTO. Y los demás temas también abordan cuestiones que suelen requerir nuestra atención.
Todo excelente. Y gracias de nuevo!
Hola, muy bueno tu sitio!!
Como puedo traer el valor que está en la hoja2 a la hoja1 usando la función indirecto???
Por ejemplo en la celda A2 de la hoja1 tengo los valores de A, B, o C
Por otro lado en las celdas A1 B1 C1 tengo las ventas de enero, febrero, marzo respectivamente
Ahora quiero llevar a la hoja1 a la celda B5 las ventas de la hoja dos según lo que ponga en la celda A2 de la hoja1 (el mes) (Enero= A; Febrero =B; Marzo=C)
Por tu ayuda muchas gracias!!!
jp
Excelman le agradezco me resuelva esta inquietud para manejo de caja e inventarios de un negocio peq´ de lanas, maneja mas de 400 productos.
Hoja 1.- Facturas de venta diaria: cada linea contiene dia,producto, vr unit, cantidad, valor total, vr antes de iva, iva total gravado y total excluido.Ya estoy utilzando listas desplegables para productos pero como son muchos products me da gran dificultad encontrarlos y pierdo mucho tiempo ubicandolos. ¿Hay algun truco para encontrarlos rapido dentro de la lista que esta ordenada alfabeticamete?
Para productos excluídos quiero saber como hago para que los saque directamente a la columna de excluidos. Por favor si ya esta explicado le ruego me indique como lo busco.
exelente!!! pero tengo una preguntica. tengo un caso donde debo utilizar por ejemplo el pais, la ciudad y adicionalmente el barrio de cada ciudad, me podria ayudar?
ExcelMan:
Tiene una página de muy buena calidad: imagenes, ejemplos y redacción. Lo felicito. Gracias por la ayuda
me sirvio perfecto, tengo una matriz de facturas y articulos facturados y necesitaba hacer una lista de cada ariculo factura+articulo y pude extraer cada celda y hacer una lista.
Mi estimado Excelman:
como puedo hacer para extraer todos los datos relacionados a una referencia que estan ingresados en una hoja de excel a otra.
en la nueva hoja los datos que se extraen deben estar en filas consecutivas de una misma columna.
Muy claro!, una pregunta, como resolves cuando el país tiene dos palabras y queres que se muestre los espacios entre palabras (Ej:Corea del Sur, Costa de Marfil, El Salvador, Emiratos Árabes Unidos, etc.)
Estimado:
Trabaje con la macro de multiconcatenado y esta la verdad muy bien, me va a ser de muchísima utilidad
Saludos
excelente me sirvió mucho lo necesitaba gracias
Excel man, muchas gracias por el aporte. Muy bueno y claro para entender el uso de esta función.
Que tal, muy buena la ayuda !! – He intentado hacer este procedimiento pero con rangos dinamicos usando Desref, pero la verdad que si bien compruebo que el rango dinamico funciona bien, la lista depslegable no lo hace, ya que “parece” que no “leyera” los valores del rango dinamico. Me podrian confirmar esto ?
Hola muy interesante todo los tutoriales, pero bueno, no se, tal vez lo hize mal, este en particular en la funcion inderecto no dio el resultado que se pedia que, supongo era que los dos filtros cambiaran de forma simultanea.
Un Saludote.