Saltar al contenido

Contar datos por dia


clipp

Recommended Posts

publicado

Amigos míos

Necesito de su enorme ayuda. Tengo una planilla de asistencia, en esta planilla se indica la persona, el dia trabajado, el turno y el area en la que se desempeña. Con los datos necesito contar (o sumar) la cantidad de gente que se encuentra en cada dia, esto realizarlo por area y por turno.

Lo he intentado (y dejo ejemplos de como lo hice) pero no me suma siempre tengo problemas que me cuente por feccha.

Espero me puedan ayudar

Saludos

Claudio

Reporte.xls

publicado

Hola @[uSER=108086]clipp[/uSER]. Puedes usar la siguiente fórmula:

=SUMAPRODUCTO(('Hoja 2'!$B$3:$B$20=$B$3)*('Hoja 2'!$C$3:$C$20=B$4)*(DESREF('Hoja 2'!$C$3:$C$20;;SI.ERROR(COINCIDIR($A5;'Hoja 2'!$D$2:$IV$2;0);0))="x"))[/CODE]

Revisa el archivo adjunto y comentas!

No olvides pulsar en "Me gusta" en la respuesta (las respuestas) que te ayudó (ayudaron) a resolver tu duda. Dios te bendiga!

Reporte.xls

publicado

Hola Johnmpl,

Funciona EXCELENTE la formula que propusiste, pero al hacerlo yo en la planilla original no me realiza ninguna suma, solo queda en 0.

Que condición podrá ser diferente?

Saludos y gracias por el tiempo

publicado

hola de nuevo @[uSER=108086]clipp[/uSER]. Revisa los espacios en blanco (al final o al inicio) de los títulos (como 7x7 o 4x3), puesto que en el ejemplo que me mandaste, tenías espacios de más, y yo los borré manualmente. Los valores a comparar deben ser iguales.

P.D. Los espacios de más en Excel son fatales, ten cuidado con ellos.

P.D.2. Son tan "fatales" los espacios, que Excel creó una función para eliminar los espacios de más en las celdas, llamada ESPACIOS (o RECORTAR en Excel 2010 sin SP1).

publicado

Gracias Silvana

Si esta opción me funciona sin problemas. Doy el tema por cerrado.

Gracias John y Silvana por su tiempo y ayuda.

Saludos cordiales ;)

Claudio

publicado

Muy probablemente no le funcionó porque tiene Excel 2003. Si es así @[uSER=108086]clipp[/uSER], prueba con la siguiente fórmula:

En la celda B5:

=SUMAPRODUCTO(('Hoja 2'!$B$3:$B$20=$B$3)*('Hoja 2'!$C$3:$C$20=B$4)*(DESREF('Hoja 2'!$C$3:$C$20;;SI(ESERROR(COINCIDIR($A5;'Hoja 2'!$D$2:$IV$2;0));0;COINCIDIR($A5;'Hoja 2'!$D$2:$IV$2;0)))="x"))[/CODE]

[b]En la celda G5:[/b]

[CODE]=SUMAPRODUCTO(('Hoja 2'!$B$3:$B$20=$G$3)*('Hoja 2'!$C$3:$C$20=G$4)*(DESREF('Hoja 2'!$C$3:$C$20;;SI(ESERROR(COINCIDIR($A5;'Hoja 2'!$D$2:$IV$2;0));0;COINCIDIR($A5;'Hoja 2'!$D$2:$IV$2;0)))="x"))[/CODE]

Subo archivo de nuevo. Dios te bendiga!

Reporte(1) AE (1).zip

publicado

Ok... ya por interno, me dijo que quería ver como funcionaba mi fórmula. El nuevo archivo lo posteo por acá. La fórmula de @[uSER=52414]silvana[/uSER] es más corta, pero consume más recursos del sistema a la hora de trabajar con más datos. Igual, es un buen aporte. Dios te bendiga! Subo el último archivo con las correcciones. Tema Solucionado.

Hoja de reporte.rar

publicado

bueno

aprovechando que aun no cierran el tema, @[uSER=13171]Jhon[/uSER], te adjunto una nota del maestro JLD , respecto de las funciones volátiles, las que tampoco se consideran tan buenas, cuando hay muchos datos por calcular:

Finalicemos la nota diciendo que la influencia de las funciones volátiles en una hoja de Excel será significativa sólo cuando se haga uso intensivo de ellas, algo similar a lo que ocurre con las fórmulas matriciales. Por eso, y como en muchos otros aspectos de la vida, las cuestiones no son absolutas. Usar funciones volátiles no es ni buena ni mala práctica; todo es una cuestión de cantidad.

Pues eso, lo mismo para Sumaproducto, en todo caso, en bases extensas, ya sería mejor una macro que las calcule..

que estén bien. :)

Silvia

publicado

Es claro lo que dices @[uSER=52414]silvana[/uSER], y estoy totalmente de acuerdo. Quiero que sepas que mi intención no es "malograr" tus aportes ni mucho menos. Siento si ha sido así, porque no ha sido mi intención, ya que aún me siento un novato en este maravilloso mundo de Excel. En la fórmula que aplicas, se hace un poco lenta por usar al final de Sumaproducto una matriz bidimensional, mientras que si se usa un vector a Excel le queda un poco más rápido calcular. Estoy seguro que debe haber muchas maneras de hacerlo mucho más rápido, y siempre de la diversidad de ideas que propone este foro aprendo... y esa es la idea.

De nuevo reitero mis disculpas. Dios te bendiga! y a seguir compartiendo!

P.D. Te puedo preguntar... cómo haces para escribir un nombre diferente, e ir linkeado a mi sin escribirse directamente? (escribes con la arroba "Jhon" para dirigirte a mi "johnmpl". Gracias!

Edito: Tal parece que el link no se refiere a mi. Acabo de notarlo. Bendiciones!

publicado

Jhon, lo que yo hice, fue con la muestra que dió Clipp, no parece tan grande, y en mi máquina el cálculo sale en menos de un pestañeo... en fin, varias veces he leído que hay que tratar de no usar funciones volátiles, aunque a veces es necesario hacerlo.

En todo caso, ya el usuario decidirá cual usar, yo como tu, estoy aprendiendo, y con cada caso que resuelvo o intento resolver, aprendo un poco.

Con referencia a lo del link, @[uSER=77220]railar[/uSER], tiene la culpa, el me dijo que era para "invocar", no para linkear :mad: , jaja , la verdad, pensé que ser refería a "mencionar", pero no que eso llevaba a una alerta... OO

Saludos para todos y que estén bien.

Silvia

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

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Hola nuevamente. Por eso la importancia de lo que mencionas tú como "ruta relativa". Tal cual comentas, y aún sin llegar a algunos detalles importantes para ayudarte, en realidad tal cual te comenté le día miércoles, pues sí podías hacer como comentabas, era cosa de obtener los Id de Windows (como tú los llamas) y la ruta de OneDrive en casa usuario y eso sí se puede obtener con VBA y luego pasarlo a PQ, pero medio que te cerraste en que "PQ no puede trabajar con rutas relativas", cosa cierta pero siempre hay formas. Si SAP puede o no guardar en OneDrive o SharePoint, pues si está mapeado en la PC ¡claro que se puede! Pero bueno, creo que si te es útil tu propia propuesta ¡avanza con eso!
    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
  • 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.