Saltar al contenido

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

Enlace a comentario
Compartir con otras webs

  • 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.

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

  • 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.

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

  • 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!

Enlace a comentario
Compartir con otras webs

  • 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.

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

  • 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

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.