Buscar referencias

29/11/2009 - 19:59 por José Rafael | Informe spam
Hola a todos
Uso Windows XP Excel 2003

Tengo una base de datos en la hoja "Base" que llega desde la columna A fila
3 hasta la IU fila 364.
En la columna A están los números de orden de los clientes desde el 1 al 362
A partir de la columna H hasta la IU en todas las filas existen valores que
corresponden al consumo de los clientes de las referencias que están
situadas en la fila 1 de cada columna (la mayoría con valores 0)
Me gustaría obtener una fórmula (... o ¿código?) que indicando en la Hoja
"Plantilla", celda B1, el nº de orden de un cliente, me permita extraer el
numero de referencia del articulo (situado en la fila 1 de la hoja "Base")
cuando recorriendo la fila (cuyo número es el valor de la celda B1
comentada) por todas las columnas de un determinado cliente (definido por la
fila) encuentre el primer valor superior a 0 y esa referencia la coloque en
la Hoja "Plantilla" en la celda F5, el siguiente encuentro superior a 0, lo
coloque en la celda F6, el siguiente en la celda F7, y así sucesivamente.
La hoja "Plantilla" es una plantilla valga la redundancia, que se imprime en
un Din A4 donde figuran todos los datos del cliente y sus compras de los
articulos de la empresa. Todo lo tengo resuelto excepto el extraer los
articulos comprados y por eso planteo el problema.
Gracias anticipadas por vuestra ayuda.
Saludos

José Rafael - Valencia

Preguntas similare

Leer las respuestas

#6 José Rafael
03/12/2009 - 10:11 | Informe spam
Estoy haciendo muchas pruebas y no consigo hacerlo funcionar.
En una de las pruebas, he cambiado la fórmula
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MENOR(Refs;FILAS(E$4:E4))-1))
por
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))-1))
y si que me saca las referencias pero con errores...
En fin, abusando de tu amabilidad ¿me podrías explicar lo que hacen las
fórmulas que tu me recomiendas?, sobre todo desref y k.esimo.menor(mayor),
para ver si "comprendiendolas" puedo adaptarlas a mi necesidad.

Saludos
José Rafael



"Héctor Miguel" escribió en el mensaje
news:%
hola, José Rafael !

Algo no funciona bien pues me aparece el error #¿NOMBRE?



significa que alguna funcion (o algun nombre definido) no esta siendo
"reconocido"
(error tipografico o funciones mal enlazadas al definir nombres ?)

He hecho lo que me indicas y todo funciona excepto la formula situada en
F4 y sucesivas celdas
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MENOR(Refs;FILAS(E$4:E4))-1))
de la columna F.
(por cierto en la fila 4 tengo los titulos y en concreto en esta columna
"Articulo"... deberiamos comenzar en F5...



solo adapta/corrige/modifica/... donde mis "supuestos" sean distintos de
TU realidad (?)

Repasando un poco los datos:
Tengo 362 clientes ordenados del 1 al 363 que estan situados en la hoja
"base" en las filas 3 a 364.
Todos ellos han comprado... determinados articulos cuyo codigo... se
encuentra en la fila 1 del rango de columnas H:IU...
Ejemplo: Un cliente... en la fila 14..., ha comprado... articulo cuya
referencia... esta situada en la fila 1 de la columna M
en la celda fila 14 columna M se encuentra el valor de la compra que
siempre sera superior a cero
Esto puede suceder en mas ocasiones para este cliente, bastaría recorrer
su fila y ver las cantidades superiores a cero.
Con la formula CONTAR.SI(H14:IU14:">0"), situada en la columna D (por
ejemplo)
de esa misma fila nos daria el resultado de cuantos articulos ha comprado
este cliente.



(precisamente) "eso"... es lo que hace uno de los nombres de la propuesta,
la que dice:
2) en la hoja "plantilla"...
b) [F3] =contar.si(orden,">0")





=> OJO: para que esta formula "funcione", es requisito el haber creado los
dos nombres sugeridos

En la hoja "Plantilla" ... Lo que me falta por resolver es que desde la
celda F5 hasta la Fnn (nn = al nº de articulos comprados +5)
aparezcan sucesivamente las diferentes referencias de los articulos
comprados por ese cliente. Ya esta.
Creo que estamos muy cerca de conseguirlo...



te sugeriria repasar nuevamente y seguir "paso a paso" el procedimiento
sugerido
(de hecho, en las pruebas realizadas ya lo he "conseguido")

saludos,
hector.

__ la propuesta original __
sigue estos pasos, pero antes, confirma/corrige si "mi" separador de
argumentos (coma) es el mismo en tu sistema (???)

1) en la hoja "base"...

a) [B1] =coincidir(plantilla!b3,a:a,0)

b) define/crea/... dos nombres (menu: insertar / nombre /
definir...):
nombre formula (en el cuadro de edicion "se refiere a:")
Orden =desref($a$1,$b$1-1,7,,248)
Refs =si(orden>0,columna(orden))

2) en la hoja "plantilla"...

a) [B3] <aqui es donde seleccionas el dato de busqueda, ok ?>

b) [F3] =contar.si(orden,">0")

c) [F4]
=si(filas(e$4:e4)>f$3,"",desref(base!$a$1,,k.esimo.menor(refs,filas(e$4:e4))-1))

la formula en [F4] la copias/arrastras/... hacia abajo (como minimo)
el numero de veces indicado en [F3]






Respuesta Responder a este mensaje
#7 José Rafael
03/12/2009 - 10:18 | Informe spam
Perdón la formula que me funciona a "medias"es:
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))))
y la pongo en F5 y sucesivas filas de la columna.
Los cambios están en mayor x menor y orden x refs (aparte de no restar 1)

Saludos
José Rafael


"José Rafael" escribió en el mensaje
news:eZFRgi$
Estoy haciendo muchas pruebas y no consigo hacerlo funcionar.
En una de las pruebas, he cambiado la fórmula
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MENOR(Refs;FILAS(E$4:E4))-1))
por
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))-1))
y si que me saca las referencias pero con errores...
En fin, abusando de tu amabilidad ¿me podrías explicar lo que hacen las
fórmulas que tu me recomiendas?, sobre todo desref y k.esimo.menor(mayor),
para ver si "comprendiendolas" puedo adaptarlas a mi necesidad.

Saludos
José Rafael



"Héctor Miguel" escribió en el mensaje
news:%
hola, José Rafael !

Algo no funciona bien pues me aparece el error #¿NOMBRE?



significa que alguna funcion (o algun nombre definido) no esta siendo
"reconocido"
(error tipografico o funciones mal enlazadas al definir nombres ?)

He hecho lo que me indicas y todo funciona excepto la formula situada en
F4 y sucesivas celdas
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MENOR(Refs;FILAS(E$4:E4))-1))
de la columna F.
(por cierto en la fila 4 tengo los titulos y en concreto en esta columna
"Articulo"... deberiamos comenzar en F5...



solo adapta/corrige/modifica/... donde mis "supuestos" sean distintos de
TU realidad (?)

Repasando un poco los datos:
Tengo 362 clientes ordenados del 1 al 363 que estan situados en la hoja
"base" en las filas 3 a 364.
Todos ellos han comprado... determinados articulos cuyo codigo... se
encuentra en la fila 1 del rango de columnas H:IU...
Ejemplo: Un cliente... en la fila 14..., ha comprado... articulo cuya
referencia... esta situada en la fila 1 de la columna M
en la celda fila 14 columna M se encuentra el valor de la compra que
siempre sera superior a cero
Esto puede suceder en mas ocasiones para este cliente, bastaría recorrer
su fila y ver las cantidades superiores a cero.
Con la formula CONTAR.SI(H14:IU14:">0"), situada en la columna D (por
ejemplo)
de esa misma fila nos daria el resultado de cuantos articulos ha
comprado este cliente.



(precisamente) "eso"... es lo que hace uno de los nombres de la
propuesta, la que dice:
2) en la hoja "plantilla"...
b) [F3] =contar.si(orden,">0")





=> OJO: para que esta formula "funcione", es requisito el haber creado
los dos nombres sugeridos

En la hoja "Plantilla" ... Lo que me falta por resolver es que desde la
celda F5 hasta la Fnn (nn = al nº de articulos comprados +5)
aparezcan sucesivamente las diferentes referencias de los articulos
comprados por ese cliente. Ya esta.
Creo que estamos muy cerca de conseguirlo...



te sugeriria repasar nuevamente y seguir "paso a paso" el procedimiento
sugerido
(de hecho, en las pruebas realizadas ya lo he "conseguido")

saludos,
hector.

__ la propuesta original __
sigue estos pasos, pero antes, confirma/corrige si "mi" separador de
argumentos (coma) es el mismo en tu sistema (???)

1) en la hoja "base"...

a) [B1] =coincidir(plantilla!b3,a:a,0)

b) define/crea/... dos nombres (menu: insertar / nombre /
definir...):
nombre formula (en el cuadro de edicion "se refiere a:")
Orden =desref($a$1,$b$1-1,7,,248)
Refs =si(orden>0,columna(orden))

2) en la hoja "plantilla"...

a) [B3] <aqui es donde seleccionas el dato de busqueda, ok ?>

b) [F3] =contar.si(orden,">0")

c) [F4]
=si(filas(e$4:e4)>f$3,"",desref(base!$a$1,,k.esimo.menor(refs,filas(e$4:e4))-1))

la formula en [F4] la copias/arrastras/... hacia abajo (como minimo)
el numero de veces indicado en [F3]










Respuesta Responder a este mensaje
#8 Héctor Miguel
03/12/2009 - 18:57 | Informe spam
hola, José Rafael !

... la formula que me funciona a "medias"es:
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))))
y la pongo en F5 y sucesivas filas de la columna.
Los cambios estan en mayor x menor y orden x refs (aparte de no restar 1) ...



suele suceder que entre la exposicion de datos (en la consulta) y los datos "reales", hay "algo" que resulta diferente (?)
a que direccion quieres que te envie el ejemplo con el que funciona la propuesta ?

saludos,
hector.
Respuesta Responder a este mensaje
#9 José Rafael
03/12/2009 - 20:19 | Informe spam
Gracias Héctor Miguel por todas la molestias.
mi correo electronico es



Gracias de nuevo y saludos
José Rafael


"Héctor Miguel" escribió en el mensaje
news:
hola, José Rafael !

... la formula que me funciona a "medias"es:
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))))
y la pongo en F5 y sucesivas filas de la columna.
Los cambios estan en mayor x menor y orden x refs (aparte de no restar 1)
...



suele suceder que entre la exposicion de datos (en la consulta) y los
datos "reales", hay "algo" que resulta diferente (?)
a que direccion quieres que te envie el ejemplo con el que funciona la
propuesta ?

saludos,
hector.

Respuesta Responder a este mensaje
#10 José Rafael
04/12/2009 - 03:34 | Informe spam
Hola Héctor Miguel:
Finalmente he "trasladado" mis datos a tus hojas sustituyendo lo ficticio
por lo real y ahora todo funciona estupendamente. Creo que la variación
estaba en la situación distinta de algunas columnas, pero me ha resultado
mejor hacerlo así, sustituyendo los datos.
Gracias una vez mas. Tu planteamiento funciona estupendamente.
Saludos cordiales
José Rafael

"José Rafael" escribió en el mensaje
news:%237QI$
Gracias Héctor Miguel por todas la molestias.
mi correo electronico es



Gracias de nuevo y saludos
José Rafael


"Héctor Miguel" escribió en el mensaje
news:
hola, José Rafael !

... la formula que me funciona a "medias"es:
SI(FILAS(E$4:E4)>F$3;"";DESREF(Base!$A$1;;K.ESIMO.MAYOR(Orden;FILAS(E$4:E4))))
y la pongo en F5 y sucesivas filas de la columna.
Los cambios estan en mayor x menor y orden x refs (aparte de no restar
1) ...



suele suceder que entre la exposicion de datos (en la consulta) y los
datos "reales", hay "algo" que resulta diferente (?)
a que direccion quieres que te envie el ejemplo con el que funciona la
propuesta ?

saludos,
hector.





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