2012-07-19 18 views
6

enter image description herecondicional mínimo y máximo en Excel 2010

Me gustaría encontrar mínimo y máximo de Cantidad (columna 2) basado en Tipo (de Coloumn 1), es posible que esto se haga?

He intentado esto pero el resultado fue inesperado Similar question

+1

¿Utilizó Ctrl + Shift + Enter, como fue sugerido? – GSerg

+0

Posible duplicado de [Excel: encuentre valores mínimos/máximos en una columna entre los que coinciden desde otra columna] (http://stackoverflow.com/questions/20904092/excel-find-min-max-values-in-a-column -among-those-matching-from-another-column) –

Respuesta

6

Suponiendo que los datos de arriba está en A2: B13, esto funciona:

=MAX(IF(A2:A13="A",1,0)*(B2:B13)) 
=MAX(IF(A2:A13="B",1,0)*(B2:B13)) 
=MAX(IF(A2:A13="C",1,0)*(B2:B13)) 

tiene que pulsar Ctrl + MAYÚS + Intro cuando ingrese la fórmula en una celda. Encuentra todas las filas con A, B o C, y multiplica 1 con el valor al lado si la letra coincide con su fórmula y 0 si no coincide. A continuación, tome el MAX() de los valores.

< < < Editar >>>

Como sugirió @GSerg, también puede hacerlo con estas fórmulas, si pulsa Ctrl + shft + Enter al entrar en ellos en cada celda:

=MAX(IF(A:A="A",B:B)) 
=MAX(IF(A:A="B",B:B)) 
=MAX(IF(A:A="C",B:B)) 

¡Una manera mucho más elegante de hacerlo!

+1

¿Por qué la multiplicación incorrecta/dañina? Consulte [la pregunta a la que se vinculó el OP] (http://stackoverflow.com/questions/10746792/excel-find-min-max-date-in-a-range-if-it-matches-criteria-of-other- columnas) para la forma correcta. – GSerg

+0

@GSerg - gracias por señalar eso. No lo había hecho de otra manera antes. ¡Mucho mejor! (+1) –

+4

Para el registro (y como señalé en la pregunta vinculada) este método es extremadamente lento cuando se trabaja con un gran número de registros. Una tabla dinámica es más eficiente en el caso general. –

1

Cualquier cosa que no sea una tabla dinámica (como lo sugiere Holaday @andy) parece pura masoquismo (a no ser por una razón muy buena, pero presumiblemente muy peculiar):

SO11570223 example

Tenga en cuenta que para la ilustración Doblé del PO cantidades de datos para B y estas nuevamente para C.

-2

Sugeriría usar =large(if(...=...;...);k) para resolver ese problema.

0

Esto funciona sin ctrl + shift + enter, pero su tabla debe ser ordenada por una columna TYPE.

Supongamos que la tabla se coloca en B3: C15, a continuación, en A4 puso

=IF(B4=B3;A3;A3+1) 

en E4 - "1", en E5 - "2", en E6 - "3", en F4 poner:

=MAX(INDIRECT("C" & MATCH(E4;$A$1:$A$17;0) & ":C" & MATCH(E4;$A$1:$A$17;1))) 

y copiarlo en F5 y F6

en poner G4:

=MIN(INDIRECT("C" & MATCH(E4;$A$1:$A$17;0) & ":C" & MATCH(E4;$A$1:$A$17;1))) 

y copiarlo en G5 y G6

enter image description here

función PARTIDO controla cadenas de forma incorrecta, así que tuve que tipos de números, puede utilizar BUSCARV para cambiar los números en la columna E para una cadenas

En mi solía mesa de esta solución para encontrar cadenas con valores máximos de esta manera:

enter image description here

0

una manera bastante astuto pero simple de hacerlo es
1. crea una nueva columna que concatena Tipo y Cantidad y llámala "TypeQty" o lo que quieras
2. Ordena (Ascensión) la nueva tabla, es decir, Tipo, Cantidad y TipoQue todos juntos, pero ordena en el TypeQty columna.
3. aplique una fórmula que verifique si el tipo en la fila anterior es el mismo que la fila actual. si no, marque esa fila porque es la última del tipo actual.

terminará con la "marca" solo las filas máximas para cada tipo. Ver imágenes

enter image description here

Cuestiones relacionadas