Ordenar Excel Pivot Table por porcentaje de conteo

1

Tengo datos de origen que muestran las aprobaciones de la hoja de tiempo en el siguiente formato (para unos 850 empleados y 200 gerentes):

  Employee Name  Manager Name  TS Approved? 
  Employee 1     Manager 1     No
  Employee 2     Manager 2     Yes
  Employee 3     Manager 3     Yes
  Employee 4     Manager 1     No
  Employee 5     Manager 3     No

He creado una tabla dinámica de la siguiente manera (el% no aprobado es solo una fórmula que tengo al lado de la tabla dinámica):

                 Count TS Approved? 
  Manager Name   No    Yes   Total  % Unapproved
  Manager 1      11          11     100%
  Manager 2      6     10    16     38%
  Manager 3      7     18    25     28%
  Manager 4      5     8     13     38%
  Manager 5      5     4     9      56%
  Manager 6            3     3      0%
  Manager 7      5           5      100%

Necesito clasificar para obtener los mejores 5 peores aprobadores por conteo, pero solo 5. Mis problemas son:

  • Si uso la tabla dinámica 'Top 10' en la columna 'No', mostrará 6 valores, ya que no distingue entre los tres 5s.
  • Intenté agregar el porcentaje para poder clasificar el Más grande-Más pequeño en%, luego el Más grande-Más pequeño en la cuenta, y luego tomar los 5 mejores de forma maníaca, ya que 5/5 (100%) no aprobado es peor que 5/8 (38%) pero no sé cómo ordenar en%.
  • Si lo agrego como una fórmula fuera de la tabla dinámica (como arriba), Excel no me deja ordenar la tabla dinámica según esos datos. 'No puedes mover parte de un informe de tabla dinámica ...'
  • Si agrego los datos para mostrarlos como "% del total de la fila principal" en la tabla, todavía se ordenan en el recuento

¿Alguien puede pensar cómo puedo lograr que haga lo que quiero, es decir?

                 Count TS Approved? 
  Manager Name   No    Yes   Total  % Unapproved
  Manager 1      11          11     100%
  Manager 3      7     18    25     28%
  Manager 2      6     10    16     38%
  Manager 7      5           5      100%
  Manager 5      5     4     9      56%
  Manager 4      5     8     13     38%
  Manager 6            3     3      0%

Nota: Puedo hacerlo fácilmente utilizando countifs en lugar de una tabla dinámica, pero idealmente quiero el formato de tabla dinámica si es posible.

¡Gracias!

Louise

Louise
fuente
No te estoy siguiendo exactamente sobre lo que estás haciendo, por lo que quizás este artículo pueda ayudarte a lograr lo que quieres. Filtros de tabla de pivote de Excel - Top 10 .
CharlieRB
Gracias Charlie, pero no creo que el Top 10 funcione. Quiero los 5 peores gestores: solo 5. Los 10 primeros devolverán más de 5 valores ya que no diferencian los números duplicados (por ejemplo, en el anterior obtendría 11, 7, 6, 5, 5, 5 en lugar de sólo 11, 7, 6, 5, 5). Básicamente, quiero clasificar de mayor a menor en% no aprobado, luego de mayor a menor en "No" y perseguir a las 5 personas peores.
Louise

Respuestas:

0

Reto interesante Algunos de los temas incluyen:

  • Los cálculos de campo no tienen la flexibilidad suficiente para obtener lo que necesita
  • Aunque puede mostrar números como% del total, y parece que puede ordenarlos, realmente se ordenan según los números subyacentes.

Tengo una solución que hace uso de tablas y tabla dinámica. Puede haber una solución más simple disponible. Los pasos son (realizados en Excel 2016):

  1. Seleccione dentro de sus datos en bruto. Seleccione la cinta "Insertar" y haga clic en "Tabla"
  2. En su nueva tabla, inserte un cálculo para% No aprobado
  3. Seleccione la cinta "Diseño" de "Herramientas de tabla" y haga clic en "Resumir con tabla dinámica"
  4. Construya una tabla Pivot simple con el Nombre del administrador como las filas y% No aprobado como los Valores.
  5. Ordene los nombres de los administradores en orden descendente por% no aprobado

Aquí hay un ejemplo. El siguiente es un fragmento de 30 filas de "datos en bruto" similares a los descritos en su pregunta ...

enter image description here

Seleccione la cinta "Insertar" y haga clic en "Tabla" ...

enter image description here

Obtienes mejores datos formateados. Seleccione D1, al lado del último encabezado de columna y escriba "% No"; esto creará una nueva columna en la tabla con un nuevo encabezado. En la celda D2, escriba la siguiente fórmula ...

=IF([@[TS Approved?]]="No",1,0)/COUNTIF([Manager Name],"="&[@[Manager Name]])*100

Cuando presionas enter, se rellena automáticamente en la tabla. Esta fórmula hace:

  1. IF([@[TS Approved?]]="No",1,0) Si la hoja de tiempo aprobada es "No", obtenga un valor de 1.
  2. COUNTIF([Manager Name],"="&[@[Manager Name]]) Determina cuántas veces aparece el administrador en esta fila en la tabla.
  3. Resultado de 1 dividido por el resultado de 2 por 100

La mesa ahora se ve así ...

enter image description here

Seleccione la cinta "Diseño" de "Herramientas de tabla" y haga clic en Resumir con tabla dinámica. Construye la tabla Pivot para que se vea así ...

enter image description here

... y ordenarlo ...

enter image description here

... para obtener esto ...

enter image description here

Aunque parece que hay muchos pasos para configurar, es bastante fácil mantener la tabla y esto mantiene automáticamente la tabla dinámica.

OldUgly
fuente
0

No estoy seguro de por qué, pero me di cuenta de dos cosas durante el desayuno esta mañana ...

  1. Usar una tabla es bueno, pero tal vez solo complique el problema.
  2. Aunque calcule su% no aprobado como el% de las hojas de tiempo de las que es responsable el administrador, es posible que desee calcularlo como el% de todas las hojas de tiempo no aprobadas.

Así que pensé en publicar una respuesta alternativa.

Junto a tus datos en bruto, pon un encabezado %No y este cálculo a continuación (y completar).

=IF(C2="No",1,0)/COUNTIF($C$2:$C$31,"="&C2)*100

La fórmula calcula, si esta hoja de horas no está aprobada, el porcentaje de todas las hojas de horas no aprobadas es.

Sus datos en bruto ahora se ve así ...

enter image description here

Construye tu tabla dinámica y ordena en% No.

enter image description here

Si aún desea que% No aprobado sea% de hojas de tiempo de las que el administrador es responsable, use esta ecuación en la Columna D.

=IF(C2="No",1,0)/COUNTIF($B$2:$B$31,"="&B2)*100
OldUgly
fuente
Gracias por sus comentarios. Cambié de trabajo no mucho después de hacer la pregunta, ¡y tuve que dejar la hoja de cálculo atrás! :( No estoy seguro de que lo anterior lo hubiera hecho sin embargo ... Necesitaba obtener lo más alto número de hojas de horas no aprobadas - entonces en el caso de un empate, clasifique por porcentaje. Si entiendo su solución correctamente, pondrá a alguien con 1 parte de horas no aprobadas de 1 (es decir, 100%) más alta que a alguien con, 2 de 5 (es decir, 20%). Quisiera que el 2/5 ocupe el primer lugar, más no aprobaciones físicas, y luego que los empates se clasifiquen en% (es decir, 2/5 vs 2/2 - 2/2 es mayor debido al mayor%). ¡Gracias!
Louise