Jump to content

Validacion dinamica (tipo Google)


Gerson Pineda

Recommended Posts

Hola

A raiz de un tema (y truco de gali/ioyama), he preparado la siguiente lista dinamica (validacion de datos), solo se debe escribir la(s) letra(s) y pinchar o dar clic en la flechita de validacion para ver los datos encontrados segun el criterio

He usado la funcion INDICE, COINCIDIR y CONTARSI

Espero sea de mucha utilidad

Saludos desde Honduras

Validacion de datos tipo google.zip

Link to comment
Share on other sites

  • 1 year later...

Hola, trate de replicar el ejercicio de tu archivo "Validación de datos tipo Google", pero al ingresar el codigo a la lista de valores:

=INDEX(CONCEPTO,MATCH(A2&"*",CONCEPTO,)):INDEX(CONCEPTO,MATCH(A2&"*",CONCEPTO,)+COUNTIF(CONCEPTO,A2&"*")-1)

Me manda error, al parecer no acepta las comillas " ó el *. El error que me manda es el siguiente:

You may not use reference operators (such as union, intersections, and ranges) or array constants for Data Validation criteria.

Link to comment
Share on other sites

Hola, trate de replicar el ejercicio de tu archivo "Validación de datos tipo Google", pero al ingresar el codigo a la lista de valores:

=INDEX(CONCEPTO,MATCH(A2&"*",CONCEPTO,)):INDEX(CONCEPTO,MATCH(A2&"*",CONCEPTO,)+COUNTIF(CONCEPTO,A2&"*")-1)

Me manda error, al parecer no acepta las comillas " ó el *. El error que me manda es el siguiente:

You may not use reference operators (such as union, intersections, and ranges) or array constants for Data Validation criteria.

Hola

El metodo que utilizo es un doble "INDICE" concatenado, pero solo es posible directamente desde la opcion de validacion de datos, menciono esto porque creo que lo que estas intentando hacer es directamente del administrador de nombre

Si es correcto lo que pienso, utiliza esta funcion directamente en el administrador de nombres como tambien desde la opcion de validacion de datos

=DESREF(CONCEPTOS!$A$1,COINCIDIR(VALIDACION!$A$5&"*",CONCEPTO,)-1,,CONTAR.SI(CONCEPTO,VALIDACION!$A$5&"*"))[/HTML]

De todas formas adjunto el archivo nuevamente para que lo revises y compares las dos opciones

Saludos

Validacion de datos tipo google INDICE vrs DESREF.zip

Link to comment
Share on other sites

  • 2 weeks later...

hola, desde la "Validación de Datos" estoy ingresando el codigo y me manda el error.

Segui intentando y al parecer es problema de versiones del Excel. La versión de Excel 2007 si funciona, pero cuando quiero hacerlo el Excel 2010 es cuando manda el error.

Link to comment
Share on other sites

hola, desde la "Validación de Datos" estoy ingresando el codigo y me manda el error.

Segui intentando y al parecer es problema de versiones del Excel. La versión de Excel 2007 si funciona, pero cuando quiero hacerlo el Excel 2010 es cuando manda el error.

Segun esto ultimo que escribes queda claro que no has dado mucha atencion a lo que he planteado

Saludos

Link to comment
Share on other sites

  • 3 weeks later...

Que tal Gerson,

te dejo ésta liga, donde encontre que efectivament el problema del error son las versiones de excel:

The following data validation formula works in 2003 but not 2010. - Microsoft Community

"... The error message states the problem: Excel 2010 won't accept reference operators. That means Excel 2010 won't accept INDEX(...):INDEX(...) expressions.

Your entry cell appears to be B2 in the current worksheet. Define the following names to make it easier to work with: EFC as =LEFT(TRIM($B$2)), and EFCFO as =MATCH(EFC&"*",NameList,0)-1. Then define NameListSubset as

=IF(COUNT(EFCFO),OFFSET(NameList,EFCFO,0,COUNTIF(NameList,EFC&"*"),1),NameList)

and finally change your validation formula to

=IF(EFC="",AlphaList,NameListSubset)..."

y pues bueno, gracias por tus buenas intenciones, finalmente pude conseguir lo que estaba buscando utilizando ComboBox del Actrive X y algo de programación en VB dentro del ComboBox.

Saludos!

Link to comment
Share on other sites

  • 1 month later...

Estimado Gerson, estoy en la misma situacion que matefv29. Mismo incluyendo la modificacion respecto a la validacion (el segundo metodo indirecto con OFFSET, al grabarse en la version 2010 esta no funciona como en la version 2003.

Link to comment
Share on other sites

Estimado Gerson, estoy en la misma situacion que matefv29. Mismo incluyendo la modificacion respecto a la validacion (el segundo metodo indirecto con OFFSET, al grabarse en la version 2010 esta no funciona como en la version 2003.

Hola

Subo el archivo probado en 2010 y funcionando correctamente, si ven algun error es porque a lo mejor esta mal adaptado en su archivo

Saludos

Validacion de datos tipo google DESREF.zip

Link to comment
Share on other sites

  • 1 year later...
Hola

El metodo que utilizo es un doble "INDICE" concatenado, pero solo es posible directamente desde la opcion de validacion de datos, menciono esto porque creo que lo que estas intentando hacer es directamente del administrador de nombre

Si es correcto lo que pienso, utiliza esta funcion directamente en el administrador de nombres como tambien desde la opcion de validacion de datos

=DESREF(CONCEPTOS!$A$1,COINCIDIR(VALIDACION!$A$5&"*",CONCEPTO,)-1,,CONTAR.SI(CONCEPTO,VALIDACION!$A$5&"*"))[/HTML]

De todas formas adjunto el archivo nuevamente para que lo revises y compares las dos opciones

Saludos

Entiendo que utilizas el doble "indice" para generar el rango de validación, el problema que me genera es que estoy usando la función "INDIRECTO" para referir una matriz desde una celda y al darle aceptar me dice que "No se pueden usar operadores de referencia (como uniones, intersecciones e intervalos) ni constantes de matriz para los criterios de validación de datos" te pongo mi función:

[CODE]=INDICE(INDIRECTO(Hoja1!B2),COINCIDIR(Hoja2!G4&"*",INDIRECTO(Hoja1!B2),)):INDICE(INDIRECTO(Hoja1!B2),COINCIDIR(Hoja2!G4&"*",INDIRECTO(Hoja1!B2),)+CONTAR.SI(INDIRECTO(Hoja1!B2),Hoja2!G4&"*")-1)[/CODE]

en donde:

Hoja1!B2 está el nombre de la matriz seleccionada

Hoja2!G4 está la celda con la validación de datos

ya abrí tu ejemplo y corre perfecto pero me imagino que me da error por querer referir una matriz volátil? ( "INDIRECTO(Hoja1!B2)" )

una solución a esto es como mencionó @[uSER=9328]Gerson Pineda[/uSER] , en administrador de nombres definir la matriz "LISTA" como:

[CODE]=DESREF(INDIRECTO(Hoja1!$B$2),COINCIDIR(Hoja2!$G$4&"*",INDIRECTO(Hoja1!$B$2),)-1,,CONTAR.SI(INDIRECTO(Hoja1!$B$2),Hoja2!$G$4&"*"))[/CODE]

obviamente cambiando los datos según tu documento

y así en validar datos sólo referí "=LISTA"

Aun así me queda la duda si el error fue por la referencia indirecta de una matriz o cuál fue. saludos

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Crear macros Excel

  • Posts

    • Sube tu archivo siempre y pon un ejemplo de donde hay que tomar los datos y donde y como deben reflejarse  
    • Hola nuevamente muchachos. Espero estén bien todos, es mi mayor deseo. Estoy teniendo otro problema por acá con la configuración de un TextBox donde quiero expresar números. Propiamente el número que va a estar reflejado en esos TextBox son la división del Salario Mensual entre los días a trabajar y eso me da un índice o tarifa salarial diaria.  No tengo problemas en las operaciones matemáticas, sino en el formato a expresar en el TextBox.  Este dato lo toma el TextBox de la Hoja, la que tengo configurada (Celda) como Numero. Podrían ayudarme. Gracias de antemano y excelente semana para todos. Saludos Pino
    • Buenas tardes. Tengo el siguiente código en una macro:   Sub Prueba() hora = Hour(Now) If hora <= 18 & Sheets("Hoja1").Range("G7") = 1 Then     MsgBox ("haz esto")      ElseIf hora > 18 & Sheets("Hoja1").Range("G7") = 2 Then     MsgBox ("haz esto otro")      Else     MsgBox ("No se cumple") End If End Sub Sin embargo,  siempre se me ejecuta el Else aunque a priori se cumplan las condiciones del If. Adjunto el excel de prueba. ¿Alguna idea del por qué no entra en el If ni en el ElseIf? Gracias   Prueba.xlsm
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy