Función Indice+Coincidir usando Combobox

Buen día Experto:
Tengo una inquietud, estoy diseñando una plantilla, quiero extraer datos de una hoja y utilizarlos en otra, para ello emplee las funciones Indice + coincidir. El tema es que el valor buscado de la función coincidir es un dato proveniente de una lista asignada a un combobox. Parece que no es compatible porque me aparece el error N.A. Quisiera saber como usar esta lista del combobox como columna de la función Indice.

1 respuesta

Respuesta
1
Para pasarle el "contenido" de un combo (como argumento) a una función pasalo así:
tu_funcion(ComboBox1)
Nada más.
Buen día experto:
Disculpe mi ignorancia pero no comprendo como debo aplicar la instrucción que me da, le explico mejor para que me pueda aclarar el tema. Tengo una matriz como esta:
2009 2010 2011 2012 2013 2014 2015 2016
Miriam
Ruben
Mauro
Nucita
Linamaria Eugenia
Adriana
Leidy
Norma
El combobox corresponde a las columnas de los años que quiero trabajar, lo que hice fue ingresar este código que me coloca el valor del combobox en la celda "G3", Intento usar esta celda como referencia en la fórmula y obtengo N.A.
Private Sub ComboBox1_Change()
Range("G3") = ComboBox1.Value
End Sub
=INDICE(B11:I18;COINCIDIR($C$22;Nombres;0);COINCIDIR($G3$;B10:I10;0))
Intenté esto pero no me funciona:
=INDICE(B11:I18;COINCIDIR($C$22;Nombres;0);COINCIDIR(tu_funcion(Combobox1);B10:I10;0))
Gracias experto por su ayuda..
Hay un error en esto
=INDICE(B11:I18;COINCIDIR($C$22;Nombres;0);COINCIDIR($G3$;B10:I10;0))
pusiste $G3$
debe ser $G$3
Lo anterior ( mi primera respuesta ) es que pensé que habías creado un función personalizada.
En fin.
Veo que tienes una matriz de datos y un cotrol activex que devuelve un valor en G3 en el combo creo que tienes los años... ¿ahora qué deseas hacer?
¿Dependiendo del año que seleccionas que deseas obtener? ¿Y dónde?
Indicame las referencias de la matriz desde que celda a que celda están ordenada la data
Buenas tardes experto:
Ok, acepto la corrección, debe ser $G$3 y de igual manera no me funciona.
Veo que tienes una matriz de datos y un cotrol activex que devuelve un valor en G3 en el combo creo que tienes los años... ¿ahora qué deseas hacer?
El control activex tiene la lista de los años y en otra celda se tiene una celda con validación (Nombres).
Lo que quiero es Obtener el valor matricial después de escoger un nombre y un año (con la Función Indice Y coincidir). El tema es que necesito que la lista de los años sea controlada a través de un Combobox. Quiero que el valor buscado sea colocado en la misma hoja en la celda C25.
Datos y Referencias
Lista de años: (B10:I10)
Lista de nombres: (A11:A18)
Matriz de datos :(B11:I18)
Quiero aclarar que Utilice la propiedad "linkedcell" del control para que me devolviera el valor a la celda G3 y utilizar este como el valor buscado de la función coincidir pero no funciona; en fin, posteriormente utilice el código que antes mencioné:
Private Sub ComboBox1_Change()
Range("G3") = ComboBox1.Value
End Sub
Y tampoco funciona..
Gracias por su atención.
Lo use tal como dices
Y en C25 me devuelve uno de los nombres
Claro que en C22 no me dijiste que pones ( la fórmula hace referencia a esa celda, así que puse un nombre )
Aclarame eso de "valor matricial ", no manejo la referencia.
Si pones 2009 en g3 que pones en C22 y que debe devolver en C25
Hola experto:
Valor matricial en este caso corresponde a un valor de ventas realizado por una de las personas (filas Lista de nombres: (A11:A18)) en uno de los años (lista de años: (B10:I10)).
En C22 esta una lista validada con los nombres de las personas.
En C25 debería aparecer el resultado de aplicar la función.
=INDICE(B11:I18;COINCIDIR($C$22;Nombres;0);COINCIDIR($G$3;B10:I10;0))
Es decir el valor de ventas.
Me funciona perfecto!
El valor desde el combo se lo paso a la celda así:
[g3] = ComboBox1.Value
o si lo deseas
[g3] = int(ComboBox1)
La función esta bien:
=INDICE(B11:I18;COINCIDIR($C$22;Nombres;0);COINCIDIR($G$3;B10:I10;0))
Eso si que hace referencia a un rango denominado "Nombres", que pupongo ya tienes considerado que es el A11:A17
O de lo contrario falla.
No veo el problema, seguí el estricto orden que indicas y funciona perfecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas