acaso alguien puede contestarme?

07/03/2007 - 04:25 por Orfao | Informe spam
tengo una duda pero al parecer nadie sabe al respecto
es sobre la funcion sglobal que pregunte antes
chaoooo
Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/03/2007 - 06:18 | Informe spam
hola, ???

tengo una duda pero al parecer nadie sabe al respecto es sobre la funcion sglobal que pregunte antes
chaoooo



[primero]: no se si habras 'notado' que la exposicion que haces de tu 'problema' NO es 'clara' [que digamos] :-((

[segundo]: en tanto comentas algunos detalles mas... 'concretos' [como rangos REALES y por ese 'estilo']...
y como parece que tu 'prisa' es mas grande que tu 'paciencia' :)) -> te comento cuales son MIS 'supuestos':

1) el rango de tu primer tabla es A2:B5 [y solo por incluir una fila 'en blanco' como comentas en tu consulta original]
2) el rango de tu segunda tabla es F2:H6 [en ambos casos estoy considerando los titulos en la fila 1]

-> prueba con la siguientes formula [es de entrada matricial, ya sabes, se introduce/edita y se termina con ctrl+mayus+enter]
=suma(b2:b5*subtotales(9,desref($h$1,si(esnumero(coincidir(a2:a5,$f$2:$f$6)),coincidir(a2:a5,$f$2:$f$6)),)))

[seguramente habra mas variantes y/o alternativas... pero no he tenido tiempo de hacer mas pruebas] ;)

3) si los datos 'reales' son diferentes de mis supuestos [p.e.]
a) si los codigos en la segunda tabla NO son consecutivos o tienen 'saltos'...
habria que agregar el tercer parametro a las funciones coincidir: -> coincidir(a2:a5,$f$2:$f$6,0)
b) si la segunda tabla esta en otra hoja, o si los rangos de ambas son diferentes...
te toca adaptar la formula propuesta 'segun corresponda' :))

[por si las dudas] considera que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Orfao
08/03/2007 - 00:01 | Informe spam
Muy agradecido Miguel, y disculpa el apuro

probe tu fomula y funciona perfecto, pero...
pero en realidad mis dos tablas estan desordenadas
debo repetir este procedimiento cerca de cien veces para calcular un total
general y en todas el orden varia
habra otra forma de hacerlo (mi macro funciona pero lo que nececito es
velocidad)
gracias y disculpa de nuevo por el auro

Me alimento del conocimiento de todos


"Orfao" wrote:

tengo una duda pero al parecer nadie sabe al respecto
es sobre la funcion sglobal que pregunte antes
chaoooo
Me alimento del conocimiento de todos
Respuesta Responder a este mensaje
#3 Orfao
08/03/2007 - 00:12 | Informe spam
hola Miguel !
en una hoja tengo agrupadas en cada 15 filas la primera tabla desordenada
para un total de mas de 100 tablas y en otra hoja la base de datos
desordenada en la que busco los valores
este calculo debe hacerce a cada instante que modifique cualquier valor o
bien de las tablas de la primera hoja como de los dados de la segunda

si me das tu email podria mandarte copia para que vieras con mas claridad lo
que necesito
gracias por tu ayuda.
soy nuevo en este foro y he visto que respondes a muchas preguntas
pero,,, humildemente si tienes alguna duda hazmelo saber...
Me alimento del conocimiento de todos


"Orfao" wrote:

tengo una duda pero al parecer nadie sabe al respecto
es sobre la funcion sglobal que pregunte antes
chaoooo
Me alimento del conocimiento de todos
Respuesta Responder a este mensaje
#4 Héctor Miguel
08/03/2007 - 02:23 | Informe spam
hola, !

en una hoja tengo agrupadas en cada 15 filas la primera tabla desordenada para un total de mas de 100 tablas
y en otra hoja la base de datos desordenada en la que busco los valores
este calculo debe hacerce a cada instante que modifique cualquier valor
o bien de las tablas de la primera hoja como de los dados de la segunda [...]



[creo que perdiste de vista...] el punto 3 de la propuesta anterior... "dice:"
=3) si los datos 'reales' son diferentes de mis supuestos [p.e.]
a) si los codigos en la segunda tabla NO son consecutivos o tienen 'saltos'...
habria que agregar el tercer parametro a las funciones coincidir: -> coincidir(a2:a5,$f$2:$f$6,0)
b) si la segunda tabla esta en otra hoja, o si los rangos de ambas son diferentes...
te toca adaptar la formula propuesta 'segun corresponda' :))
== entonces...

a) no importa que no esten ordenados los datos de la primera tabla
b) si los datos de la segunda tabla NO estan ordenados, las funciones 'coincidir' en la formula cambian...
de: -> coincidir(a2:a5,$f$2:$f$6)
a: -> coincidir(a2:a5,$f$2:$f$6,0)
c) si la segunda tabla esta en otra hoja... entonces las funciones coincidir en la formula cambnan...
a: -> coincidir(a2:a5,hoja2!$f$2:$f$6,0)
d) si los rangos 'reales' [en ambas tablas] son diferentes del ejemplo y supuestos anteriores...
-> se aplica el inciso 'b)' del punto 3 de la propuesta anterior :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#5 Orfao
08/03/2007 - 03:54 | Informe spam
gracias amigo, Maravilloso!!! funciona. Pero...

tengo que hacer algunos ajustes. la formula que utilizo es:

=+sglobal1(INDIRECTO("g"&(A2-1)*15+2&":g"&A2*15+1);material;3;INDIRECTO("h"&(A2-1)*15+2&":h"&A2*15+1))*E2/F2
donde
g=columna codigo de la primera tabla
A2= indiador del numero de subtabla Ej: 1, 2, 3, n
Material= es el nombre del segundo rango de datos
3 = el numero de la columna de la tabla material (precio)
h= Nombre de la columna a multiplicar de la primerta tabla (cantidad)
E2 y F2 =son constantes para la subtabla

ademas tengo una funcion sglobal3 mas complicada aun
multiplica dos columnas de la primera tabla por una de la segunda menos un
porcentaje

te envio el codigo de esta funcion

Function SGLOBAL3(A As Range, B As Range, C As Integer, D As Range, E As
Range, F As Integer)
Dim X As Integer
Dim Y As Integer
SGLOBAL3 = 0
X = A.Count
For Y = 0 To X - 1
If Cells(A.Row + Y, A.Column) <> "" Then
SGLOBAL3 = SGLOBAL3 + Application.WorksheetFunction.VLookup(Cells(A.Row + Y,
A.Column), B, C, 0) * Cells(D.Row + Y, D.Column) * Cells(E.Row + Y, E.Column)
* Application.WorksheetFunction.VLookup(Cells(A.Row + Y, A.Column), B, F, 0)
/ 100
End If
Next

End Function

y la formula que empleo es:

=+sglobal3(INDIRECTO("i"&(A2-1)*15+2&":i"&A2*15+1);equipos;3;INDIRECTO("j"&(A2-1)*15+2&":j"&A2*15+1);INDIRECTO("k"&(A2-1)*15+2&":k"&A2*15+1);4)*E2/F2

la primera tabla tiene tres columnas (codigo, cantidad,horas)
la segunda es decir equipos tiene cuatro (codigo,desc,precio,descuento)
me ayudas con esto ???
te lo agradezco...
Me alimento del conocimiento de todos


"Orfao" wrote:

tengo una duda pero al parecer nadie sabe al respecto
es sobre la funcion sglobal que pregunte antes
chaoooo
Me alimento del conocimiento de todos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida