Dudas sobre funciones sobre celdas con microsoft excel

Verán tengo una BD muy extensa.
En la Bd, viene las siguientes celdas
Orden, correlativo, Nombres y Apellido, DNI, Estado, Det_estado, Teléfonos, y TIpo
al menos son los más importante y los trabjaar en mención, todos los días tengo que hacer un reporte en Excel según los movimientos del día, todos los días ingresan Ordenes, con más o menos 50 a 100 correltativos, me explico una orden, puede tener muchos correlativos.
Todos los días genero el reporte en base a esta BD, aunque ahora la estoy simplificando, solo con generar la lista, el reporte por unas fórmulas se genera prácticamente solo (no exactamente, es la idea a a la que quiero llego)
menciono que el Reporte lo hago en una hoja y la BD que la tengo en otra hoja, todo en un solo Libro
Los estados Estados Son Cambiantes y cambian según el detalle del Estado
con una fórmula, llegue condicionar los estados, según sean sus detalles, Los Estados pueden ser Observado, entregado, ausente, rechazado, dirección errada, En Gestión y devuelto
es lo que nos interesa.
AL Repote,
primero en mi Reporte tengo un listado con todas las ordenes (eso lo tengo que agregar manualmente, luego una fórmula de contar. Si(columna, Celdaordendel reporte)
Me muestra con exactitiud, cuantas correlativos tiene cada orden,
MI PROBLEMA
AHORA TENGO QUE VER, CUANTAS OBSERVADA TIENE CADA ORDEN, EN LA SIGUIENTE CELDA, CUANTOS ENTREGADO, EN LA SIGUIENTE CUANTOS AUSENTES...
Que fórmula me conviene usar y de que manera,
si les interesa dejo mi correo
[email protected] para que me ayuden con el problema... Muchas gracias

1 Respuesta

Respuesta
1
Entiendo a medias tu pregunta, me parece que si puedo ayudarte, sin embargo no aseguro nada, espero me puedas enviar todo el archivo donde tienes la BD y también el Reporte, y allí en la hoja especificado lo que quieres que salga. Yo se que darme el archivo completo puede que no sea viable, sin embargo te pido que me envíes el archivo con datos cambiados, recortando algunos registros, enviame lo básico para entender tu pregunta y poder ayudarte.
http://alexcastaneda.blogspot.com
Puedes descargar de allí el archivo
Favor si me ayudas te lo agradeceré
http://neonhousefabrica.webcindario.com/BD.xls
Saldos cordiales
Unas preguntas más antes de comenzar:
¿GUÍA Y TIPO Siempre lo colocarás manualmente? ¿O ya tienes una fórmula para sacar esos datos?
De donde se tiene que contar cuantas observadas, rechazadas, etc. ¿De estado o Det_estado? (Supongo que de estado, pero quiero asegurarme)
Para contabilizar rechazadas, observadas, etc, ¿se toma en cuenta los nombres y apellidos? O solo interesa contar cuantas rechazadas, ¿observadas de tal GUÍA Y TIPO?
Por favor responde en lo que puedas, el día de mañana solucionaremos tu pregunta. No desesperes.
http://alexcastaneda.blogspot.com/
Tipo viene de lo exportado de la bd
Y Según la la orden es el Tipo, pero en este caso, es el formulario más simple, todos son del mismo tipo
y así es. Tengo una fórmula para según sea la el Det_estato se coloca el estado.. es una regla de condcion si(criterio=criterio, celda, si(...
Eso no es problema
los nombres y apellidos no se toman en cuenta simpleente las ordenes y sus correlativos
Ok Tendré paciencia
Te Comento algo, la suma de lo observado, entregado, ausente, rechazado...
Siempre tiene que ser igual al tipo
Guia = Orden es lo mismo
Al parecer ya solucione tu problema, bueno lo que tienes que hacer es implementar una macro con el código adjunto.
Los datos que necesitas se crearan en la hoja3 (debe estar creada y totalmente vacía).
....................................................................http://alexcastaneda.blogspot.com................................
Sub Macro1()
'
' Macro1 Macro
'
' Acceso directo: CTRL+w
'
Dim totalfilas1 As Integer
Dim totalfilas2 As Integer
Dim e As Integer 'entregadop
Dim o As Integer 'observado
Dim g As Integer 'en gestion
Dim a As Integer 'ausente
Dim d As Integer 'devuelto
Dim r As Integer 'rechazado
Dim de As Integer 'dirección erronea
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim sw As Boolean
totalfilas1 = Hoja1.UsedRange.Row - 1 + Hoja1.UsedRange.Rows.Count
ultimafila = Hoja3.UsedRange.Row - 1 + Hoja3.UsedRange.Rows.Count
If ultimafila = 1 Then
Hoja3.Cells(1, 1) = "Guia"
Hoja3.Cells(1, 2) = "Tipo"
Hoja3.Cells(1, 3) = "Total"
Hoja3.Cells(1, 4) = "Observada"
Hoja3.Cells(1, 5) = "Entregada"
Hoja3.Cells(1, 6) = "Ausente"
Hoja3.Cells(1, 7) = "Rechazada"
Hoja3.Cells(1, 8) = "Dirección Erronea"
Hoja3.Cells(1, 9) = "Devuelta"
End If
'MsgBox (Hoja1.Cells(3, 7))
sw = False
For n = 2 To totalfilas1 - 1
ultimafila = Hoja3.UsedRange.Row - 1 + Hoja3.UsedRange.Rows.Count
For i = n To totalfilas1
If Hoja1.Cells(n, 1) = Hoja1.Cells(i, 1) And Hoja1.Cells(n, 7) = Hoja1.Cells(i, 7) Then
For j = 2 To ultimafila
If Hoja1.Cells(n, 1) = Hoja3.Cells(j, 1) And Hoja1.Cells(n, 7) = Hoja3.Cells(j, 2) Then
sw = True
Exit For
Else
sw = False
End If
Next
If sw = False Then
Hoja3.Cells(ultimafila + 1, 1) = Hoja1.Cells(n, 1)
Hoja3.Cells(ultimafila + 1, 2) = Hoja1.Cells(n, 7)
Hoja3.Cells(ultimafila + 1, 3) = Val(Hoja3.Cells(ultimafila + 1, 3)) + 1
If Hoja1.Cells(i, 5).Text = "OBSERVADO" Then
Hoja3.Cells(ultimafila + 1, 4) = Val(Hoja3.Cells(ultimafila + 1, 4)) + 1
End If
If Hoja1.Cells(i, 5).Text = "ENTREGADO" Then
Hoja3.Cells(ultimafila + 1, 5) = Val(Hoja3.Cells(ultimafila + 1, 5)) + 1
End If
If Hoja1.Cells(i, 5).Text = "AUSENTE" Then
Hoja3.Cells(ultimafila + 1, 6) = Val(Hoja3.Cells(ultimafila + 1, 6)) + 1
End If
If Hoja1.Cells(i, 5).Text = "RECHAZADO" Then
Hoja3.Cells(ultimafila + 1, 7) = Val(Hoja3.Cells(ultimafila + 1, 7)) + 1
End If
If Hoja1.Cells(i, 5).Text = "DIRECCION ERRONEA" Then
Hoja3.Cells(ultimafila + 1, 8) = Val(Hoja3.Cells(ultimafila + 1, 8)) + 1
End If
If Hoja1.Cells(i, 5).Text = "DEVUELTO" Then
Hoja3.Cells(ultimafila + 1, 9) = Val(Hoja3.Cells(ultimafila + 1, 9)) + 1
End If
End If
End If
Next
Next
End Sub
....................................................................http://alexcastaneda.blogspot.com................................

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas