elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Excel 2013 indicar celda "contigua" al 2ndo máximo valor, repetible.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Excel 2013 indicar celda "contigua" al 2ndo máximo valor, repetible.  (Leído 84 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.596


Hackentifiko!


Ver Perfil
Excel 2013 indicar celda "contigua" al 2ndo máximo valor, repetible.
« en: Hoy a las 03:50 »

Tengo unas celdas así:

y otras así:


Quiero que en las que puse 1ero aparezca, en una lo de fondo rojo que tenga mejor promedio, y en la otra lo de fondo rojo que tenga el 2ndo mejor promedio, pudiendo ser igual, o sea, el 2ndo máximo que encuentre.

Le dije a GPT el problema:
esto
=INDICE(B131:B138; COINCIDIR(MAX(L131:L138); L131:L138; 0))
y esto
=INDICE(B131:B138; COINCIDIR(K.ESIMO.MAYOR(L131:L138;2); L131:L138; 0))
me están dando el mismo resultado, no debería ¿qué pasa?

Vean que en la 1er imagen los resultados son los mismos, pero el 2ndo debería ser Patada agachado.

Citar
Hay dos escenarios típicos en los que ambas fórmulas pueden devolver lo mismo:

1) El 2.º mayor “con repetidos” es igual al máximo 
   - Si en L131:L138 hay al menos dos celdas con el valor máximo, entonces:
     - MAX(L131:L138) = 19 (por ejemplo)
     - K.ESIMO.MAYOR(L131:L138;2) también = 19
   - En ese caso, ambas COINCIDIR buscan 19 y, por diseño, COINCIDIR(...;0) devuelve la primera aparición del valor en el rango. Resultado: mismas filas, mismo INDICE.

2) Datos no numéricos/formato o espacios influyen en el cálculo 
   - Si hay textos que parecen números, errores, celdas vacías con espacios, etc., pueden afectar a K.ESIMO.MAYOR/ MAX o a COINCIDIR. Pero lo habitual es el caso 1.

Cómo obtener el “segundo mayor distinto” (sin repetir el máximo):
- Fórmula matricial en Excel 2013 (confirmar con Ctrl+Shift+Enter):
  =INDICE(B131:B138; COINCIDIR(MAX(SI(L131:L138<MAX(L131:L138); L131:L138)); L131:L138; 0))

- Alternativa separando el valor y luego buscando:
  1) En una celda auxiliar: =MAX(SI(L131:L138<MAX(L131:L138); L131:L138))  Confirmar con Ctrl+Shift+Enter.
  2) Luego: =INDICE(B131:B138; COINCIDIR(celda_aux; L131:L138; 0))

Si lo que quieres es “segundo con repetidos” pero devolver la segunda ocurrencia del mismo máximo, COINCIDIR por sí sola no devuelve la segunda coincidencia. Puedes usar una clave auxiliar (por ejemplo, agregar un pequeño ajuste por fila) o una fórmula que ubique la n‑ésima aparición. Por ejemplo, para devolver la fila de la 2.ª aparición del máximo:

- Fórmula matricial para la posición de la 2.ª coincidencia:
  =PESTAÑA(FILA(L131:L138)-MIN(FILA(L131:L138))+1; 2; SI(L131:L138=MAX(L131:L138); FILA(L131:L138)-MIN(FILA(L131:L138))+1))
  Luego úsala dentro de INDICE. Si prefieres, te la adapto completa a tu rango y separadores.

Creo que entiendo el problema "por diseño, COINCIDIR(...;0) devuelve la primera aparición del valor en el rango"
pero las soluciones me parecen bastante raras, aunque le pedí una más simple ¿se les ocurre?

Básicamente es:
- Buscar 2ndo máximo valor en un rango.
- Anotar en qué celda está.
- Restar columnas a esa posición.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines