Buscar un valor según otro.

09/11/2007 - 16:15 por Alex | Informe spam
Hola amigos. Tengo un pequeño problema que no se resolver. Seguro que
es simple pero estoy nublado. El asunto es el siguiente:

Tengo en la columna A unas posiciones que son correlativas y enteras
(1, 2, 3,...) y en la columna B ciertos valores, enteros también. Lo
que quiero lograr es una fórmula en la columna C que me diga cual es
la última posición (columna A) anterior a la actual en la que se
encuentra el valor de la columna B. Si la posición última es la actual
necesito que me indique ésta como la última. Lo muestro con un ejemplo
por si no se entendió.

A B C
1 0 1
2 2 2
3 9 3
4 2 2
5 2 4
6 9 3
7 0 1

Si no se entendió me dicen, gracias.

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
15/11/2007 - 19:01 | Informe spam
hola, Alex !

__ 1 __
... Tu formula es correcta... recien me doy cuenta que esta me indica la fila correspondiente y en ese caso es correcta.
Sin embargo, tus resultados difieren de los mios porque yo tomo como referencia a la columna A y no a las filas.
Tu formula parte del supuesto de que los valores comienzan en la fila 1 cuando en realidad comienzan en la fila 2.



1) que precisamente, "mis supuestos" fue con lo que iniciaba la propuesta original...
"> asumiendo que los valores se inician en la fila1..."

__ 2 __
En la fila 1 tengo los titulos para los campos, es decir, las columnas.
Al principio no lo especifique para hacer mas sencilla la exposicion del asunto.



2) en el caso de exposiciones donde se usan ejemplos "distintos" de la realidad...
corresponde a quien consulta hacer las adaptaciones "del caso" :))

__ 3 __
Supuse que simplemente haciendo los cambios pertinentes a la formula tipo propuesta por ti bastaria
pero pase por alto que esta esta basada en los valores absolutos de las filas y no en los relativos de las celdas
o, lo que es lo mismo, en los valores de la columna A. Las disculpas del caso.



3) en este caso, las adaptaciones (segun lo expuesto ahora) son poco "complicadas", solo modifica la formula propuesta
observando que las adaptaciones (pertinentes) solo difieren en la celda/fila desde la que se parte y con cual se compara:
de: -> =elegir(1+(contar.si(b$1:b1,b2)>0),filas(b$1:b2),sumaproducto(max(fila(b$1:b1)*(b$1:b1²))))
a: -> =elegir(1+(contar.si(b$2:b2,b3)>0),filas(b$2:b3),sumaproducto(max(fila(b$2:b2)*(b$2:b2³))))

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Alex
18/11/2007 - 12:31 | Informe spam
Hola Hector, seguimos en problemas:

"3) en este caso, las adaptaciones (segun lo expuesto ahora) son poco
"complicadas", solo modifica la formula propuesta
observando que las adaptaciones (pertinentes) solo difieren en la
celda/fila desde la que se parte y con cual se compara:
de: -> =elegir(1+(contar.si(b$1:b1,b2)>0),filas(b
$1:b2),sumaproducto(max(fila(b$1:b1)*(b$1:b1²))))
a: -> =elegir(1+(contar.si(b$2:b2,b3)>0),filas(b
$2:b3),sumaproducto(max(fila(b$2:b2)*(b$2:b2³))))"

Esos cambios son los que hice luego de tu primera respuesta, sin
embargo, producen los resultados que he mencionado.
Respuesta Responder a este mensaje
#8 Héctor Miguel
19/11/2007 - 05:14 | Informe spam
hola, Alex !

... seguimos en problemas:

"3) en este caso, las adaptaciones (segun lo expuesto ahora) son poco"complicadas", solo modifica la formula propuesta
observando que las adaptaciones (pertinentes) solo difieren en lacelda/fila desde la que se parte y con cual se compara:
de: -> =elegir(1+(contar.si(b$1:b1,b2)>0),filas(b$1:b2),sumaproducto(max(fila(b$1:b1)*(b$1:b1²))))
a: -> =elegir(1+(contar.si(b$2:b2,b3)>0),filas(b$2:b3),sumaproducto(max(fila(b$2:b2)*(b$2:b2³))))"

Esos cambios son los que hice luego de tu primera respuesta, sin embargo, producen los resultados que he mencionado.



tienes razon (disculpame)... perdi de vista que al trabajar con la funcion fila(...) (que obviamente se refiere a la fila de la celda/formula)
se debe "descontar" el numero de fila anterior a la celda donde se inicia la formula (o el rango de busqueda) :-((

suponiendo que inicias en la fila 2 (formula en la fila 3)...
=elegir(1+(contar.si(b$2:b2,b3)>0),filas(b$2:b3),sumaproducto(max(fila(b$2:b2)*(b$2:b2³)))-1)

suponiendo que inicias en la fila 6 (formula en la fila 7)...
=elegir(1+(contar.si(b$6:b6,b7)>0),filas(b$6:b7),sumaproducto(max(fila(b$6:b6)*(b$6:b6·)))-5)

saludos,
hector.
Respuesta Responder a este mensaje
#9 Alex
19/11/2007 - 15:07 | Informe spam
Hector, ahora sí le hemos dado al clavo. Disculpame tú por tanto
trabajo que te dí y muchas gracias. Esto era realmente importante para
mí. Gracias otra vez.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida