Busqueda aleatoria

25/09/2005 - 12:38 por Engel | Informe spam
A ver si me ayudais ha hacer esto:

Tengo una hoja con cuatro columnas, con datos desde A2:D2817 (aunque
este rango puede aumentar en funcion de los datos que vaya añadiendo)
Las columnas son:
Columna A = Ciudad
Columna B = Pais
Columna C = Nombre
Columna D = IATA

La columna "Pais" contiene nombres de 3 letras, y lo que necesito
hacer es, partiendo de las tres letras que introduzca en E2, que
aleatoriamente me indique un nombre de la columna "Ciudad" cuyas tres
letras en su correspondiente columna B se correspondan con E2

Saludos,
Engel

Preguntas similare

Leer las respuestas

#6 Engel
26/09/2005 - 17:07 | Informe spam
On Mon, 26 Sep 2005 02:42:27 -0500, "Héctor Miguel"
wrote:

SI hubieras seleccionado la columna 'A' completa y las celdas 'iluminadas' tienen un 'desfasamiento' de una celda arriba/bajo -?-
[probablemente] al aplicar los formatos condicionales la celda 'activa' NO era la del ejemplo... ->'A2'<- -?-

op1: modificar la EN formula la referencia a la celda $b2 por $b1 ->NOTA el signo '$'<-
op2: usar la formula 'sugerida' PERO cambiando dentro del rango seleccionado a ->la celda 'A2' como activa<-



Ahora parece que funciona bien, pero el problema es que como hay casi
tres mil filas, para encontrar la que queda iluminada, tengo que
recorrer toda la hoja, hasta dar con ella.

Hay algun forma de que la celda activa se situe en la que queda
iluminada por el condicional?, o alguna otra forma de ver el dato que
me ha soleccionado.

Saludos,
Engel
Respuesta Responder a este mensaje
#7 KL
26/09/2005 - 17:28 | Informe spam
Hola Engel,

=INDICE(A:A;K.ESIMO.MAYOR(SI(B1:B20="ESP";FILA(B1:B20));ENTERO(ALEATORIO()*CONTAR.SI(B1:B20;"ESP"))+1))



Pues con esta formula, no me hace nada, no se hay que cambiar algo, o
ponerla en algun lugar determinado.



Prueba esta

=INDICE(A:A;K.ESIMO.MAYOR(SI(B1:B20=$E$2;FILA(B1:B20));ENTERO(ALEATORIO()*CONTAR.SI(B1:B20;$E$2))+1))

y no olvides de introducirla mediante Ctrl+Shift+Enter

El lugar donde la pongas no importa siempre que no se encuentre dentro del
rango de tu tabla.
Cambia B1:B20 por el rango que realmente tienes en la columna [B], no se si
seria B2:B2817

Saludos,
KL
Respuesta Responder a este mensaje
#8 Héctor Miguel
26/09/2005 - 20:04 | Informe spam
hola, Engel !

... parece que funciona bien... problema... casi tres mil filas
... encontrar la que queda iluminada, tengo que recorrer toda la hoja, hasta dar con ella.
... forma de que la celda activa se situe en la que queda iluminada por el condicional?
... alguna otra forma de ver el dato que me ha soleccionado.



1) comentarte que la propuesta de KL funciona de manera identica a la propuesta de los formatos condicionales
[tambien esta basada en una busqueda 'aleatoria' solo que la 'devolucion' dificilmente coincidira con los formatos]

2) si quieres 'evitar' -de momento- el uso de macros... podrias definir nombres con referencias dinamicas +/- como sigue...
[estoy anticipando/suponiendo/previnieneo/adivinando/... que el rango sera de/creciente tambien] -?-
define los siguientes nombres [cambia los que no te gusten] usando las formulas propuestas a continuacion :D
a) u_Fila -> =coincidir(repetir("z",255),!$b:$b)
b) Rango -> =desref(!$b$1,,,u_fila,1)
c) Fila_x -> =k.esimo.menor(si(rango=!$e$2,fila(rango),u_fila),!$e$1)
d) mi_Ciudad =desref(!$a$1,fila_x-1,0)
-> toma nota que los primeros 3 nombres serian -como- 'los obligados' y el tercero es -solo- para 'facilidad de seleccion' :))
y sigo suponiendo que las formulas anteriores [formatos y en la celda 'E1'] no se han modificado
ademas de que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' ;)

3) podras obtener el contenido de la celda 'iluminada' [p.e. en la celda 'E3'] con alguna de las siguientes formulas...
=indice(a:a,fila_x)
=mi_ciudad

4) podras 'seleccionar' o... 'ir a..' la celda 'iluminada' por alguno de los siguientes 'procedimientos'...
introduce SIN el signo '=' cualquiera de las 'formulas' anteriores
indice(a:a,fila_x) o... mi_ciudad [o incluso]... desref(a1,fila_x-1,0)
ya sea en la 'caja de nombres' [a la izquierda de la barra de formulas] o por los atajos/menus para [edicion] ir a... [ctrl+i]

si cualquier duda... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#9 Engel
27/09/2005 - 09:01 | Informe spam
On Mon, 26 Sep 2005 13:04:50 -0500, "Héctor Miguel"
wrote:

2) si quieres 'evitar' -de momento- el uso de macros... podrias definir nombres con referencias dinamicas +/- como sigue...
[estoy anticipando/suponiendo/previnieneo/adivinando/... que el rango sera de/creciente tambien] -?-
define los siguientes nombres [cambia los que no te gusten] usando las formulas propuestas a continuacion :D
a) u_Fila -> =coincidir(repetir("z",255),!$b:$b)
b) Rango -> =desref(!$b$1,,,u_fila,1)
c) Fila_x -> =k.esimo.menor(si(rango=!$e$2,fila(rango),u_fila),!$e$1)
d) mi_Ciudad =desref(!$a$1,fila_x-1,0)
-> toma nota que los primeros 3 nombres serian -como- 'los obligados' y el tercero es -solo- para 'facilidad de seleccion' :))
y sigo suponiendo que las formulas anteriores [formatos y en la celda 'E1'] no se han modificado
ademas de que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' ;)

3) podras obtener el contenido de la celda 'iluminada' [p.e. en la celda 'E3'] con alguna de las siguientes formulas...
=indice(a:a,fila_x)
=mi_ciudad



Fantastico, esto funciona de maravilla, ademas ahora saco en F1
=indice(a:a,fila_x), F2 =indice(c:c,fila_x) y F3 =indice(d:d,fila_x)
los datos de las otras columnas que tambien me interesa ver.

Saludos,
Engel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida