Fórmula de Excel para mostrar el porcentaje de X superior de una matriz

2

Usando el conjunto de datos simple a continuación, comenzando en A1, con encabezados:

Order   Time
a       1
b       1
c       2
d       4
e       4
f       5
g       6
h       7
i       500
j       600

Quiero saber a qué hora se completan el 80% de los pedidos.

En este ejemplo, devolvería 7, ya que es el número ocho más grande, por lo que el 80% de los pedidos se completan en 7 días o menos.

¿Qué fórmula podría usar para obtener esto, considerando:

  1. La matriz de tiempo contendrá cientos de tiempos de pedido.
  2. La matriz de tiempo no siempre se ordenará en orden.
  3. Preferiría no usar una columna auxiliar o VBA, tiene que estar dentro de una sola celda.
  4. Puedo usar una fórmula de matriz, solo recuerde que la matriz puede variar en tamaño, por lo que la matriz debería tener en cuenta esto.

He intentado usar =PERCENTILE.EXC(B2:B11,0.8)pero eso arrojó un valor de 401.4

También lo intenté =PERCENTILE.INC(B2:B11,0.8)pero eso arrojó 105.6

PeterH
fuente

Respuestas:

3

La solución es bastante sencilla. Requiere la SMALL()función:

Captura de pantalla de la hoja de trabajo

Ingrese la siguiente fórmula en D2:

=SMALL(B2:B11,ROWS(B2:B11)*0.8)

Tenga en cuenta que la LARGE()función también podría usarse, pero no es tan elegante:

=LARGE(B2:B11,ROWS(B2:B11)*(1-0.8)+1)
robinCTS
fuente
Acababa de llegar a algo así, mi fórmula completa ahora se =SMALL(IF(Raw_Data!$G$2:$G$3942=Pivot!$B4,Raw_Data!$I$2:$I$3942,""),COUNTIF(Raw_Data!G:G,Pivot!B4)*$U$2)ingresa como una matriz. donde el COUNTIF reemplaza FILAS, etc. y U2 está en lugar de 0.8
PeterH
También uso IF en la columna Orden, ya que quiero obtener el x porcentaje superior para todos los tipos de orden, etc. Gracias por su aporte, aceptará como correcto
PeterH
@PeterH No hay problemas. También puede usar la LARGE()función como puede ver desde la edición hasta mi respuesta.
robinCTS el
@ PeterH, puede usar esto también, =SMALL(H115:H124,ROWS(INDIRECT("1:10"))*0.8)donde "1:10" a "1: N" donde N es el número de valores en el rango.
Rajesh S
@ Fixer1234 Normalmente lo hago (al menos para las soluciones más complicadas), pero entiendo su punto. Si no lo hubiera mencionado, es posible que todavía haya considerado el uso directo de la SMALL()función demasiado básico para explicarlo, incluso si PeterH era un novato, como se puede entender solo con la ayuda de la fórmula de Excel. Sin embargo, lo que es básico y obvio para nosotros no es necesariamente así para otros ;-)
robinCTS