Mis primeros pasos con EXCEL

17/09/2005 - 11:13 por Principiante | Informe spam
Hola Grupo, aunque no es la primera vez que posteo por aqui es como si
lo fuera pues generalmente utilizo ACCESS para cuestiones como la que
planteo.

El caso es que tengo una hoja de EXCEL con 7000 y pico filas de datos y
con unas cuantas columnas. Como ejemplo expondré que el creador de la
hoja definió columnas tipo fecha y, por ejemplo, se han guardado en esa
columna fechas, textos y números :( .

El caso es que yo he intentado importar la hoja desde ACCESS y allí
hacer los cálculos que necesito pero, campos como ese, no se importan
correctamente ni cambiando el formato a toda la columna a General por
ejemplo.

Bueno, me centraré, voy a intentar hacer los cálculos en EXCEL donde no
controlo mucho el tema. En otra hoja (Hoja2) tengo que poner un DESDE,
HASTA para que, según 2 fechas que se introduzcan en esas celdas,
extraer a otra hoja (Hoja3) las filas que cumplan que sus columnas DIA,
MES y ANO estén entre esas 2 fechas y que en la columna XXXXX tenga el
texto ZZZZZ. Además contar el número de filas resultantes para obtener
el % del total de filas.

Esto en ACCESS, si los datos se importaran tal y como estan en la hoja,
lo haría facilmente pero aqui en EXCEL, como he dicho, no lo he tocado
nunca y por eso pido un pequeño empujón.

A espera de ayuda voy a investigar por este foro a ver si veo algo.

Gracias por todo.

Principiante.

Preguntas similare

Leer las respuestas

#6 KL
17/09/2005 - 22:08 | Informe spam
Hola Principiante,

Mostrar la cita
Si expones el macro te lo limpiamos (el filtro avanzado tiene sus cositas
raras)

Mostrar la cita
Suponiendo que las fechas (la nueva columna que creas mediante tu macro)
estan en la columna [D] y los nombres de las zonas en la [E] de la base de
datos principal, no filtrada), prueba la siguiente formula (modificando los
rangos segun necesidad):

=SUMAPRODUCTO(--(D2:D8000>þCHA(2005;8;1));--(D2:D8000<þCHA(2005;12;31)))/SUMAPRODUCTO(--(D2:D8000>þCHA(2005;8;1));--(D2:D8000<þCHA(2005;12;31));--(E2:E8000<="Alicante"))

o sustituye las constantes por las referncias a las celdas que las
contienen:

=SUMAPRODUCTO(--(D2:D8000>=$A$1);--(D2:D8000<=$B$1))/SUMAPRODUCTO(--(D2:D8000>=$A$1);--(D2:D8000<=$B$1);--(E2:E8000=$C$1))

Saludos,
KL
#7 Principiante
18/09/2005 - 10:17 | Informe spam
Recordando donde tengo las cosas:

Hoja 1 -> Datos
Hoja 2 -> Campos filtro
Hoja 3 -> Filas resultantes del fitro

Esta es la macro que se ha creado:

Sheets("Hoja1").Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("Hoja2").Range("A2:G3"), CopyToRange:=Range("A1"), Unique:=False

Además yo le he añadido al principio un Sheets("Hoja3").Activate para
que se vaya a la hoja 3 y haga el tema. Tambien un Cells.Select y
Selection.Clear para limpiar anteriores resultados.

Lo siguiente es probar lo de SUMAPRODUCTO que me has comentado. Voy a
ver que tal me sale.

Gracias de nuevo.

Principiante.

KL escribió:
Mostrar la cita
#8 Principiante
18/09/2005 - 11:18 | Informe spam
Bueno, creo que ya lo tengo todo. Gracias por toda tu ayuda KL.

Al final no he utilizado tu fórmula del SUMAPRODUCTO sino que hecho unos
cálculos mas sencillos (para mi claro).

Gracias de nuevo.

Principiante.

Principiante escribió:
Mostrar la cita
Ads by Google
Search Busqueda sugerida