Saltar al contenido

Contador de fechas


macasillasg

Recommended Posts

publicado

Buenas tardes

Alguien me puede ayudar tengo una columna con bastantes fechas y necesito que me cuente las fechas de un mes seleccionado por el usuario sin contar las que estén repetidas adjunto hoja de ejemplo con la solución que tendría que dar yo consigo contar las fechas pero no quiero que me cuente las duplicadas. Muchas gracias de antemano

Contarfechas.xlsx

publicado

hola, a todos (y solo por si fuera de interés...) !

Hace 3 horas, GabrielRaigosa dijo:

si los datos de origen son una base de datos que puede cambiar las tablas dinámicas son una buena solución

según el tercer párrafo de esta sección del artículo correspondiente:

"Aunque el modelo de datos es muy eficiente, puede almacenar mucha información, por lo que es posible que ocupe bastante espacio, generando archivos de tamaño muy grande."

Para poder usar el "recuento distinto" en una TD, es requisito "agregar al modelo de datos", lo cual, comparando el tamaño de los archivos, el de la TD de @GabrielRaigosa "sufrió" de una (nada ligera) "crecidita" de 9 veces sobre el modelo "base" de @Snake por lo que conviene analizar su conveniencia en casos de volúmenes mayores de información (?), o quizá cambiar a PQ ?

saludos,
hector.

  • 2 weeks later...
publicado
En 27/5/2019 at 12:26 , macasillasg dijo:

Alguien me puede ayudar tengo una columna con bastantes fechas y necesito que me cuente las fechas de un mes seleccionado por el usuario sin contar las que estén repetidas adjunto hoja de ejemplo con la solución que tendría que dar yo consigo contar las fechas pero no quiero que me cuente las duplicadas. Muchas gracias de antemano

Contarfechas.xlsx 8 kB · 7 downloads

Hola a todos!

@macasillasg me parece que seria bueno que dieras mayor detalle...

1. Columna con bastantes fechas... Alrededor de cuantas fechas estamos hablando?

2. Me imagino que al estar en la sección de Excel General queda descartado el hacer uso de macros... Por lo cual solo resta hacer uso de formulas, tablas dinámicas u otras alternativas...

3.Ahora viendo el orden de las fechas... debo suponer que las mismas siempre estarán ordenadas de menor a mayor?

Basandome en el punto anterior te dejo una solución empleando una columna Auxiliar (Columna B), en la columna D están los meses (números) y en la columna E esta el conteo.

Si estuviéramos en Google Sheets... Podrias usar la función UNIQUE que te da los valores únicos y después proceder a hacer el conteo por mes.

También podrías utilizar una herramienta como GAWK (AWK) que es buenísima para procesar archivos de texto, bastaría con copiar las fechas a un archivo de texto y guardarlo en la unidad C, para posteriormente llamar a GAWK dela siguiente forma en la consola:

gawk "{fechas[$1]} END { for(i in fechas) { meses[substr(i,4,7)]++ } for(i in meses) print i, meses[i] }" c:\fechas.txt

Y listo, ahí tendrías tu conteo sin duplicados.

Saludos!

 

Contarfechas.xlsx

publicado
Hace 10 horas, digitalboy dijo:

Si estuviéramos en Google Sheets... Podrias usar la función UNIQUE que te da los valores únicos y después proceder a hacer el conteo por mes.

Excel, ya cuenta con la función UNICOS, solo seria cosa de combinarla para obtener el resultado, de las fechas 

 

Saludos 

publicado
Hace 7 horas, Gerson Pineda dijo:

Excel, ya cuenta con la función UNICOS, solo seria cosa de combinarla para obtener el resultado, de las fechas 

Saludos 

En que versión? Tengo Excel 2013 y no cuento con dicha función.

Saludos!

publicado
Hace 31 minutos , digitalboy dijo:

En que versión? Tengo Excel 2013 y no cuento con dicha función.

image.thumb.png.0d2df39eef67b6b62a572bf05663f49b.png

yo tampoco la tengo  (2016) 

??????

?

publicado
Hace 33 minutos , digitalboy dijo:

En que versión? Tengo Excel 2013 y no cuento con dicha función.

Saludos!

En 365

Tambien otra que se llama ORDENAR, bueno hay mas nuevas

 

Saludos

publicado
Hace 1 hora, Gerson Pineda dijo:

En 365

Tambien otra que se llama ORDENAR, bueno hay mas nuevas

Saludos

Todo aquel que no cuente con una suscripción a 365 puede irse olvidando de dicha nueva funcionalidad.

Primero MS se tardo en incorporarlas y ahora no tan fácilmente se puede acceder a las mismas... que mal!

Saludos!

publicado
Hace 15 horas, digitalboy dijo:

Todo aquel que no cuente con una suscripción a 365 puede irse olvidando de dicha nueva funcionalidad.

Primero MS se tardo en incorporarlas y ahora no tan fácilmente se puede acceder a las mismas... que mal!

Saludos!

A los que pagan suscripciones, se les debe privilegiar [ademas son pocas las funciones, con las que NO se cuenta en 2016/19]

Que dicho sea de paso, Excel tiene mas de una herramienta para resolver un problema

 

Saludos 

publicado
En 7/6/2019 at 10:18 , Gerson Pineda dijo:

Excel, ya cuenta con la función UNICOS, solo seria cosa de combinarla para obtener el resultado, de las fechas 

 

Saludos 

Solo para usuarios que se suscriban al programa "Insider".

image.thumb.png.b284c80d81bdedf0cc979bb2ec9fb5e5.png

 

Saludos

publicado

hola, a todos !

En 28/5/2019 at 18:42 , Leopoldo Blancas dijo:

Bueno ahí vaaaaaa... miiiiii aaaaappppoooorrrttteeee....

 

En 27/5/2019 at 13:21 , Snake dijo:

Ya te deje un ejemplo en el otro foro..

 

En 6/6/2019 at 23:35 , digitalboy dijo:

podrías utilizar una herramienta como GAWK

 

En 7/6/2019 at 17:53 , digitalboy dijo:

Todo aquel que no cuente con una suscripción a 365 puede irse olvidando de dicha nueva funcionalidad

 

En 8/6/2019 at 9:36 , Gerson Pineda dijo:

A los que pagan suscripciones, se les debe privilegiar ...

... dicho sea de paso, Excel tiene mas de una herramienta para resolver un problema

el detalle no está en si privilegiar al que paga o no hacerlo con el que no, ya sea por suscripciones o por la office-suite permanente
- para eso son las actualizaciones periódicas disponibles para el que tiene registro de software original

el detalle está en que a las versiones nuevas se les incorporan mejoras que obviamente pudieran NO estar soportadas en las versiones previas
- tratando de que sean en el más amplio de los sentidos y sin descuidar el soporte y la compatibilidad hacia las versiones anteriores
- aunque la facilidad agregada pueda ser mal-entendida como aliciente a la "holgazanería mental" del usuario, perdiendo de vista el "core" de la aplicación

hablando de las diferentes formas y herramientas en excel para resolver una misma situación, en el adjunto van:
- 3 alternativas más usando funciones integradas (hay más...)
- 1 alternativa (de entre muchas más) definiendo una UDF (sin bucles)
- 1 opción más tocando base en PQ

y si no se tiene acceso al PQ (?), sigue disponible MS-Query (el ancestro de PQ)

deje fuera de competencia la opción por TD si se pretende "agregar al modelo de datos" para usar "recuento distinto" (por lo ya expuesto previamente)

saludos,
hector.

contar fechas.xlsm

publicado
Hace 7 minutos , Héctor Miguel dijo:

hablando de las diferentes formas y herramientas en excel para resolver una misma situación, en el adjunto van:
- 3 alternativas más usando funciones integradas (hay más...)
- 1 alternativa (de entre muchas más) definiendo una UDF (sin bucles)
- 1 opción más tocando base en PQ

Te luciste Muchacho!!!

Saludos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.