Tablero KANBAN

Un tablero Kanban es una herramienta para mapear y visualizar un flujo de trabajo.

Las versiones más simples constan de tres columnas: para distinguir las tareas que están pendientes de hacer, las que están en marcha y las que ya están hechas. Mientras que las filas representan los diferentes tipos de actividad.

Su lógica es simple, si en una columna entran las tareas más rápido de lo que salen el trabajo comenzará a acumularse y el problema se hará visible para todo el equipo,

Habiendo libertad para crear tantas columnas o subsecciones que se necesiten para visualizar un flujo de trabajo, según el proyecto, empresa o actividad; en este post tan solo vamos a mostrar una forma de como construir un modelo, con el fin de que puedas aplicar el modo a tus necesidades.

Vamos a desarrollar el trabajo de dos modos en función de si somos usuarios de 365 o no.

En ambos casos partimos de la misma tabla Actividades. Aquí te puedes descargar el archivo.

También puedes este post en YouTube


El primer paso es crear una tabla dinámica a partir de la tabla de actividades que ubicaremos en la Hoja2, Para ello, estando en una celda de la tabla, desde pestaña Insertar hacemos clic en el comando Insertar tabla dinámica, e indicamos el lugar donde queremos ubicarla.
Tras aceptar, diseñamos la tabla llevando todos los campos al áreas filas, obteniendo nuestra tabla dinámica el siguiente aspecto
Vamos a modificar el aspecto de nuestra tabla. Abrimos la pestaña Diseño, que estará activa si estamos en una celda de la tabla dinámica, y desde el bloque Diseño eliminamos los subtotales.
Del mismo modo procedemos con los totales
Seguidamente, y desde el mismo bloque indicamos que se muestre en forma tabular.
También indicamos que se repitan todos los elementos de las etiquetas.
Ahora nuestra tabla presenta el siguiente aspecto:

Para eliminar los botones de expansión hacemos clic con el botón derecho en una celda de la tabla y en el menú contextual, marcamos Opciones de tabla dinámica; en la nueva ventana clic en la pestaña mostrar y desmarcamos la opción Mostrar botones para expandir y contraer.
Ahora, nos situamos en cualquiera de la celdas de la columna fecha de inicio, y clic con el botón derecho. Marcamos la opción desagrupar. Repetimos la operación en la columna fecha de vencimiento. Y para terminar damos formato de porcentaje a la columna Progreso.
Para facilitar el siguiente paso, cambiamos el orden de las columnas, situando la columna fecha de inicio entre la columna responsable y prioridad.
Asignamos a cada columna el nombre de su encabezado. Para ello seleccionamos toda la tabla dinámica incluidos encabezados, y desde la pestaña Fórmulas, crear nombres desde la selección y marcamos solo la opción Fila superior.

Con office 365

Nos situamos ya en la hoja KANBAS, en la celda D12, donde queremos que ver de las tareas Previstas:
  • Nombre de la tarea,
  • Responsable
  • Fecha de inicio, y 
  • Prioridad.
 Para ello utilizamos la función FILTRAR():
  • Como matriz (array), seleccionamos las columnas, sin encabezado:
    • Tarea
    • Responsable,
    • Fecha de inicio, y
    • Prioridad.
  • como criterio (include), seleccionamos la columna Estado y el criterio el nombre que figura en la celda D10.
=FILTRAR(Hoja2!C11:F23;Estado=KANBAS!D10)
El resultado:
Ahora toca aplicar formato condicional. Seleccionamos el rango de celdas D10:F30, por si en el futuro crece el número de tareas, y desde la pestaña Inicio creamos una nueva regla de formato condicional.
Queremos que cuando en la celda de la columna G aparezca la palabra Alta, (es importante no fijar la fila).
se coloree toda la línea de color rojo.
Repetimos la operación para cuando la prioridad sea media

Y para cuando sea Baja:

Repetimos todo el proceso para el resto de columnas: 
  • En ejecución: =FILTRAR(Hoja2!C11:F23;Estado=KANBAS!H10)
  • Finalizadas en plazo: =FILTRAR(Hoja2!C11:F23;Estado=KANBAS!L10)
  • Finalizadas fuera de plazo: =FILTRAR(Hoja2!C11:F23;Estado=KANBAS!P10)
Y ocultamos las celdas donde se muestra la prioridad utilizando un color de fuente blanco. El resultado

Sin Office 365

En este caso no dispondremos de la función FILTRAR(), por lo que el proceso para traer las tareas a cada una de la columnas debe hacerse de forma diferente.
Para "filtrar", las tareas previstas:
  • Creamos una tabla previa en la que se indique los cuatro estados de nuestro proyecto así como el número de veces que se da cada uno de ellos:
  • Para obtener la descripción de la tarea en la primera columna "Prevista", de nuestro tablero KANBAN, tendremos que utilizar una combinación de las siguientes funciones, construyendo una función matricial
    • SI()
    • FILAS(): Devuelve el número de filas que hay en una matriz o rango. 
    • INDICE(): Devuelve el valor de una celda en la intersección de una fila o columna, en una matriz determinada. Tiene tres argumentos:
      • Matriz
      • Fila
      • Columna
    • INDIRECTO(). Devuelve una referencia especificada por un texto. En este caso la utilizaremos para indicar la matriz en de la función INDICE. Como en su momento ya dimos nombre a los distintas columnas de nuestra tabla dinámica, indicando la referencia el nombre tarea, tomará como matriz todos los datos de dicha columna de la tabla dinámica.
    • K.ESIMO.MENOR(). Lo utilizaremos para determinar la fila dentro de la función INDICE. Devuelve el valor k menor de un conjunto de datos. consta de dos argumentos:
      • Matriz.. En nuestro caso vendrá determinado, por los números de fila que en la columna estado, contengan la palabra prevista
      • k, este parámetro indica cual de los datos ordenados de menor a mayor deseamos ver, el primero el segundo, el tercero ....
    • FILA(). Devuelve el numero de fila en la que se encuentra la referencia.
Así pues, la formula que creamos en la celda D12, es la siguiente:
=SI(FILAS(D$12:D12)<=Hoja2!$D$3;INDICE(INDIRECTO(D$11);K.ESIMO.MENOR(SI(Estado=KANBAN!$D$10;FILA(Estado)-FILA(Hoja2!I11)+1);FILAS(D$12:D12)));"")
Cómo se trata de una función matricial, recordar cerrarla con Ctrl+Enter

Vamos a explicarla paso por paso:
  • =SI(FILAS(D$12:D12)<=Hoja2!$D$3; Esta primera parte de la fórmula la utilizamos, para que cuando copiemos la formula hacia abajo, solo ponga datos cunado el número de veces que copiamos la fórmula se inferior o igual al del número de veces que en la tabla dinámica se muestra el estado "Prevista".
  • INDICE(INDIRECTO(D$11); Matriz de la función, que vendrá dada por la columna Tarea de la tabla dinámica, que es el nombre que figura en la celda D11, 
  • K.ESIMO.MENOR(SI(Estado=KANBAN!$D$10;.Solo toma en cuenta las celdas en las que figura la palabra Prevista, para determinar el rango de datos de los que extraer los menores
  • FILA(Estado)-FILA(Hoja2!I11)+1);. Indica los números de fila (dentro de la columna Estado), en el que se menciona la palabra "Prevista"
  • FILAS(D$12:D12))); Indica que menor quiere, cuando estamos en esta celda en el numero de filas es 1, por lo tanto traerá el menor mas pequeño. Cunado arrastremos la formula a la celda de abajo siguiente, la formula indicara FILAS(D$12:D13), es decir 2 filas, con lo que se obtendrá el segundo valor más pequeño.
  • ""). En caso de que no se cumpla la primera condición no reflejará ningún dato.
Una vez hecha la copiamos hasta la celda D30 y este es el resultado:
Repetimos la operación para completar las columnas:
  • Responsable.- 
    • =SI(FILAS(E$12:E12)<=Hoja2!$D$3;INDICE(INDIRECTO(E$11);K.ESIMO.MENOR(SI(Estado=$D$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(E$12:E12)));"")
  • Inicio.-
    • =SI(FILAS(F$12:F12)<=Hoja2!$D$3;INDICE(INDIRECTO(F$11);K.ESIMO.MENOR(SI(Estado=$D$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(F$12:F12)));"")
  • Prioridad.-
    • =SI(FILAS(G$12:G12)<=Hoja2!$D$3;INDICE(INDIRECTO(G$11);K.ESIMO.MENOR(SI(Estado=$D$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(G$12:G12)));"")
A los datos en la columna G utilizamos un color de fuente blanco, y le damos un ancho de columna de 1,57. 
Aplicamos el formato condicional tal y como vimos anteriormente, y el resultado: 
Repetimos la operación para
  • En Ejecución:
    • Tarea: 
      • =SI(FILAS(H$12:H12)<=Hoja2!$D$6;INDICE(INDIRECTO(H$11);K.ESIMO.MENOR(SI(Estado=$H$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(H$12:H12)));"")
    • Responsable:
      • =SI(FILAS(I$12:I12)<=Hoja2!$D$6;INDICE(INDIRECTO(I$11);K.ESIMO.MENOR(SI(Estado=$H$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(I$12:I12)));"")
    • Inicio:
      • =SI(FILAS(J$12:J12)<=Hoja2!$D$6;INDICE(INDIRECTO(J$11);K.ESIMO.MENOR(SI(Estado=$H$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(J$12:J12)));"")
    • Prioridad:
      • =SI(FILAS(K$12:K12)<=Hoja2!$D$6;INDICE(INDIRECTO(K$11);K.ESIMO.MENOR(SI(Estado=$H$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(K$12:K12)));"")
  • Finalizada en plazo
    • Tarea
      • =SI(FILAS(L$12:L12)<=Hoja2!$D$4;INDICE(INDIRECTO(L$11);K.ESIMO.MENOR(SI(Estado=$L$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(L$12:L12)));"")
    • Responsable
      • =SI(FILAS(M$12:M12)<=Hoja2!$D$4;INDICE(INDIRECTO(M$11);K.ESIMO.MENOR(SI(Estado=$L$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(M$12:M12)));"")
    • Inicio:
      • =SI(FILAS(N$12:N12)<=Hoja2!$D$4;INDICE(INDIRECTO(N$11);K.ESIMO.MENOR(SI(Estado=$L$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(N$12:N12)));"")
    • Prioridad:
      • =SI(FILAS(N$12:N12)<=Hoja2!$D$4;INDICE(INDIRECTO(N$11);K.ESIMO.MENOR(SI(Estado=$L$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(N$12:N12)));"")
  • Finalizada fuera de plazo
    • Tarea
      • =SI(FILAS(P$12:P12)<=Hoja2!$D$5;INDICE(INDIRECTO(P$11);K.ESIMO.MENOR(SI(Estado=$P$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(P$12:P12)));"")
    • Responsable
      • =SI(FILAS(Q$12:Q12)<=Hoja2!$D$5;INDICE(INDIRECTO(Q$11);K.ESIMO.MENOR(SI(Estado=$P$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(Q$12:Q12)));"")
    • Inicio
      • =SI(FILAS(R$12:R12)<=Hoja2!$D$5;INDICE(INDIRECTO(R$11);K.ESIMO.MENOR(SI(Estado=$P$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(R$12:R12)));"")
    • Prioridad
      • =SI(FILAS(S$12:S12)<=Hoja2!$D$5;INDICE(INDIRECTO(S$11);K.ESIMO.MENOR(SI(Estado=$P$10;FILA(Estado)-FILA(Hoja2!$I$11)+1);FILAS(S$12:S12)));"")
El resultado:

Dashboard

Vamos a completar nuestro tablero KANBAN con tres indicadores y unos segmentadores de datos que lo hagan dinámico. 

Segmentadores de datos.

Vamos a filtrar la información de nuestro tablero en base a: Equipo, Prioridad, Responsable y fecha de inicio. Para ello nos situamos en nuestra tabla dinámica y desde la pestaña Análisis de tabla dinámica, hacemos clic en Insertar segmentación de datos.
Donde marcamos los campos: Equipo, Prioridad y Responsable y aceptamos
Para el filtro de fechas, de nuevo desde la pestaña Análisis de tabla dinámica, hacemos clic en Insertar escala de tiempo.
Donde elegimos Inicio. Seleccionamos los cuatro marcadores, los cortamos y pegamos en nuestro tablero, donde los acondicionamos.
Nos situamos en la tabla dinámica que tenemos en Hoja2, abrimos la pestaña Análisis de tabla dinámica y hacemos clic en el comando Conexiones de filtro. donde marcamos todos los filtros:
Y aceptamos, de este modo, cuando elijamos alguno de los filtros los datos de esta tabla se verán filtrados, y por lo tanto la información de tareas que se muestra en el tablero.

Gráfico distribución de tareas.

Vamos a crear una nueva tabla dinámica, así pues nos situamos en la tabla Actividades y procedemos a crear una nueva tabla dinámica que insertaremos en la Hoja2. y que tendrá el siguiente diseño:
En lugar de contar el número de tareas que hay en cada fase, necesitamos el porcentaje que suponen sobre el total. Para ello, configuramos el campo de valor Cuenta de Tarea:
Donde marcamos la pestaña Mostrar valores como; elegimos % del total general y aceptamos. Conectamos esta tabla a los filtros que creamos anteriormente.
Para crear el gráfico, estando en una celda de la tabla, desde la pestaña Insertar, elegimos grafico de columnas 2D.
Ocultamos los botones, para lo cual con el botón derecho del ratón hacemos clic en uno de los botones del gráfico y elegimos la opción ocultar.
Eliminamos la Leyenda, Líneas de cuadricula, Ejes y marcamos Etiqueta de datos
Abrimos el desplegable de etiquetas de datos, donde elegimos más opciones, y en opciones de etiqueta indicamos Centro. Clic sobre una de las barras para asignar el color de relleno que queremos darle y le damos un titulo: Distribución del estado de tareas.
Cortamos el gráfico y lo llevamos a nuestro tablero dónde lo acomodamos.

Gráfico responsables y prioridades

Con este grafico vamos a representar el número de tareas asignadas a cada responsable y en función de su prioridad. Para ello de nuevo nos situamos en la tabla Actividades, y creamos una nueva tabla dinámica que insertamos en la Hoja2, con el siguiente diseño.
Conectamos esta tabla al filtro fecha de inicio.
Desde la pestaña Insertar, seleccionamos gráfico de barras apilada.
Ocultamos los botones.
Eliminamos la Leyenda, Líneas de cuadricula, Ejes y marcamos Etiqueta de datos.
Clic sobre cada una de las series y le asignamos el color correspondiente a cada prioridad.
Por último asignamos un titulo: Responsables y prioridades.
Cortamos y llevamos el gráfico al tablero donde ajustamos el tamaño.

Tarjeta con el total de horas empleadas.

Para completar los indicadores vamos a crear una tarjeta que no indique el numero de horas trabajadas. Para ello en la hoja del tablero desde la pestaña Insertar creamos una forma: un rectángulo
Desde la misma pestaña, creamos ahora un cuadro de texto, en el que escribimos total de horas. Lo colocamos en una esquina sobre el rectángulo que creamos anteriormente y utilizamos como color de fuente el blanco.
Buscamos un icono relacionada con las horas, lo colocamos en la esquina superior derecha.
Para calcular la horas, creamos una nueva tabla dinámica a partir de la tabla Actividades, que insertamos en la Hoja2, con el siguiente diseño:
Vinculamos esta tabla, con los segmentadores: Equipo, Responsable y Prioridad.
Para que el dato se pueda visualizar en el rectángulo anterior, es necesario que en una celda situada al lado de la tabla dinámica hagamos referencia al dato obtenido. Así, en la celda W3, escribimos = y marcamos la celda V3
Volvemos al tablero, una vez seleccionado en el rectángulo, en la barra de fórmulas escribimos 
=Hoja2!W3
Lo alineamos a la derecha, en la parte inferior, color de fuente blanco y aumentamos su tamaño.
Con esto ya tenemos listo nuestro Tablero de Kanban.
Recuerda que como se trata de tablas dinámicas, cada que se produzca una modificación en la tabla Actividades, es necesario actualizarlas. Puede hacerlo desde la pestaña Datos, presiona el comando Actualizar todo.

Comentarios

Entradas populares de este blog

Buscar y traer múltiples imágenes en Excel

Si(), SI.CONJUNTO() y BUSCARV()