Forums Últimos mensajes - Powered by IBM
 

Ejemplo de aplicacion de un flitro avanzado

22/08/2006 - 21:18 por Javier Prieto | Informe spam
Estimado Grupo,


Realmente no soy tan nuevo trabajando con excel, pero tengo que reconocer
que no se como aplicar un filtro avanzado a una base de datos. Les pondré un
ejemplo de lo que necesito con el filtro para que me entiendan mejor.


Esta es la base de datos que necesito filtrar


A B C D E F
1 TURNO A
2
3 TURNO MES HORARIO NORMAL
4 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
5 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
6 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
7 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
8 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
9 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
10 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
11 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
12 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
13 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
14 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
15 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
16 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
17 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
18 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
19 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
20 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.


Necesito que al colocar la letra del turno en la Casilla B1 (en este caso
A), se filtren solo los registros que contengan el turno A en la columna A,
y así con los demás turnos (B y C)


Espero que esta breve explicación les de una idea de lo que necesito.


Muchísimas Gracias por su siempre valiosa ayuda.


Javier Prieto
 

Leer las respuestas

#1 David
22/08/2006 - 21:41 | Informe spam
Con la distribución actual, no creo que funcione. Prueba cambiar tus datos a
lo siguiente, haz pruebas y cuando domines el tema lo aplicas a tu caso:

A B C D E F
1 TURNO
2 A
3
4 TURNO MES ENTRA SALE ENTRA SALE
5 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
6 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
7 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
8 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
9 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
10 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
11 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
12 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
13 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
14 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
15 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
16 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
17 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
18 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
19 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
20 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
21 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.

Luego, podrás aplicar el filtro avanzada manual o automáticamente.

Si lo quieres hacer manual:

1. Haz clic en cualquier parte de tu listado de horarios.
2. Ejecuta Datos - Filtro - Filtro Avanzado.
3. En el cuadro de diálogo, haz clic en Criterios
4. Selecciona A1:A2
5. Acepta

Si lo quieres hacer automático:

1. Haz clic en Herramientas - Macro - Editor de Visual Basic.
2. Haz doble clic en la hoja que quieres filtrar.
3. Pega el siguiente código:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Application.Goto Reference:="R4C1"
ActiveCell.Range("A1:F18").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=ActiveCell.Offset(-3, 0).Range("A1:A2"),
Unique:=False
End If
End Sub

4. Cierra el editor.
5. Haz cambios en la celda A2

Espero que te sea útil. Siempre comentas si encuentras problemas...



"Javier Prieto" escribió:

Estimado Grupo,


Realmente no soy tan nuevo trabajando con excel, pero tengo que reconocer
que no se como aplicar un filtro avanzado a una base de datos. Les pondré un
ejemplo de lo que necesito con el filtro para que me entiendan mejor.


Esta es la base de datos que necesito filtrar


A B C D E F
1 TURNO A
2
3 TURNO MES HORARIO NORMAL
4 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
5 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
6 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
7 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
8 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
9 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
10 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
11 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
12 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
13 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
14 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
15 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
16 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
17 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.
18 A 1 08:00 a.m. 05:00 p.m. 12:00 a.m. 12:00 a.m.
19 B 1 12:00 p.m. 08:00 p.m. 12:00 a.m. 12:00 a.m.
20 C 1 08:30 a.m. 12:30 p.m. 02:00 p.m. 06:00 p.m.


Necesito que al colocar la letra del turno en la Casilla B1 (en este caso
A), se filtren solo los registros que contengan el turno A en la columna A,
y así con los demás turnos (B y C)


Espero que esta breve explicación les de una idea de lo que necesito.


Muchísimas Gracias por su siempre valiosa ayuda.


Javier Prieto



Preguntas similares