Saltar al contenido

Planilla con Indicadores KPI


dani

Recommended Posts

publicado

Hola estimados. Hace tiempo no participaba del foro, ahora me reintegro debido a que fui llamado para un nuevo trabajo (estuve cesante) y en éste me explicado que deberé aportar en el desarrollo y mejora de unas planillas de cálculo donde se llevan los indicadores KPI.

Quisiera saber si ustedes tienen conocimiento de eso y específicamente si pueden ayudarme con alguna macro que me permita crear estos indicadores y automatizar al máximo su gestión.

Desde ya, y como siempre, les agradezco mucho su buena disposición y ayuda.

Mis respetos :tears_of_joy:

publicado

Como bien dice el amigo Armando, un KPI (Key Performance Indicator) es una definición de una indicador de seguimiento de un objetivo de negocio,

Estas definiciones pueden ser infinitas, todo dependerá del tipo de negocio, del área de análisis y de las necesidades del responsable, normalmente el "controller" de la compañia o el director del departamento en cuestión.

Va a depender mucho de la información de la que dispongas y de como está organizada dicha información.

Por ejemplo:

KPI - Plazo medio de cobro de clientes en los últimos 90 días

Si dispones de una hoja con todos los cobros de clientes con la fecha de factura y la fecha de cobro, será relativamente fácil de calcular.

Pero si los cobros están referenciados a una factura, será mas complicado obtenerlo, si a eso añadimos que la información está en hojas distintas por mes, la cosa empieza a complicarse de verdad, todavía podemos añadirle a la complicación el volumen de la información y la propia definición del KPI.

Por ejemplo:

KPI - Media de ventas del último año por vendedor y zona

KPI - Índice de impagados por zona

KPI - Proyección de saldos bancarios a futuro

KPI - Necesidades de financiación a corto

KPI - Evolución de compras de materias primas

KPI - Coste medio de gastos financieros

etc, etc,.. y así hasta que la imaginación se te acabe.

En definitiva la obtención de un KPI vendrá determinado por:

1) La propia dificultad del KPI

2) La calidad de la información

3) El volumen de la información

4) La ubicación de la información

Por lo tanto empieza por:

1) Averiguar que KPI hay que obtener

2) Fijar la periodificación (Díaria, mensual,...)

3) Analizar la información necesaria para su obtención

4) Averiguar donde está la información

5) Recoger la información en una BD propia de los KPI

6) Fijar la actualización de la BD KPI en función del punto 2)

Y ya entonces podemos empezar a plantearnos la solución técnica del tema.

Creo que te ha caído un buen "marrón" encima.

Ves comentando que es lo que tienes que hacer e intentaremos echarte una mano, ...si podemos.

publicado

Gracias por las respuestas.

Haré las consultas respectivas y les informo. Me es muy útil su ayuda! :)

Como bien dice el amigo Armando, un KPI (Key Performance Indicator) es una definición de una indicador de seguimiento de un objetivo de negocio,

Estas definiciones pueden ser infinitas, todo dependerá del tipo de negocio, del área de análisis y de las necesidades del responsable, normalmente el "controller" de la compañia o el director del departamento en cuestión.

Va a depender mucho de la información de la que dispongas y de como está organizada dicha información.

Por ejemplo:

KPI - Plazo medio de cobro de clientes en los últimos 90 días

Si dispones de una hoja con todos los cobros de clientes con la fecha de factura y la fecha de cobro, será relativamente fácil de calcular.

Pero si los cobros están referenciados a una factura, será mas complicado obtenerlo, si a eso añadimos que la información está en hojas distintas por mes, la cosa empieza a complicarse de verdad, todavía podemos añadirle a la complicación el volumen de la información y la propia definición del KPI.

Por ejemplo:

KPI - Media de ventas del último año por vendedor y zona

KPI - Índice de impagados por zona

KPI - Proyección de saldos bancarios a futuro

KPI - Necesidades de financiación a corto

KPI - Evolución de compras de materias primas

KPI - Coste medio de gastos financieros

etc, etc,.. y así hasta que la imaginación se te acabe.

En definitiva la obtención de un KPI vendrá determinado por:

1) La propia dificultad del KPI

2) La calidad de la información

3) El volumen de la información

4) La ubicación de la información

Por lo tanto empieza por:

1) Averiguar que KPI hay que obtener

2) Fijar la periodificación (Díaria, mensual,...)

3) Analizar la información necesaria para su obtención

4) Averiguar donde está la información

5) Recoger la información en una BD propia de los KPI

6) Fijar la actualización de la BD KPI en función del punto 2)

Y ya entonces podemos empezar a plantearnos la solución técnica del tema.

Creo que te ha caído un buen "marrón" encima.

Ves comentando que es lo que tienes que hacer e intentaremos echarte una mano, ...si podemos.

publicado

Estimado Macro Antonio:

Hoy tuve una reunión en la mañana en mi empresa y me enteré de los requerimientos exactos.

En términos de KPI, están ya calculados, no es por ahí el tema.

Lo que se requiere es:

1) Que los indicadores existentes sean bien graficados y estandarizados. Los datos corresponden a una empresa productora de diversos productos alimenticios. Estos datos deben estar expresados en 8 distintos pilares de información. Estos pilares están definidos según área: Manufactura, Mantenimiento, Seguridad, etc. Se desea que toda la info esté en un sola base de datos y que a medida que los usuarios ingresen sus indicadores por cada área, la base se llene y se grafique adecuadamente.

Hoy por hoy, cada usuario que tiene acceso a dicha info, los gráficos son los que cada usuario cree...

2) Crear una Macro que permita el manejo de lo que en la Empresa se llama "Árbol de Pérdidas". Los productos están definidos en 4 categorías (Salsas, Té, Aderezos y Margarinas). A su vez cada una de éstas, tienen varias líneas de productos, en total 22. Por cada línea de productos, hay varias razones ya definidas de pérdidas. La idea es tener donde se recojan éstas, se guarden en una bases de datos y que se grafiquen en detalle. De qué categoría, de qué línea, qué razón, etc

Trato de explicarlo lo mejor que puedo....

La cantidad de datos es muy grande.

Espero puedas ayudarme...

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.