EXCEL extraer mayor cadena en un rango

Hola a todos.

Resulta que en una columna tengo números y cadenas. Por ejemplo:

23

N780

25

N4

300

N69, etc.

Necesito una fórmula para extraer la mayor cadena, que en el ejemplo sería N780. Gracias anticipadas. 

2 respuestas

Respuesta
1

Opción 1:

Con fórmula matricial, es decir que luego que la escribas debes presionar juntas las teclas Ctrl, Mayusc y Enter . Veras que se colocan unas llaves y así el resultado es el correcto: Estoy considerando para un rango de datos en C1:C6

=INDICE(C1:C6;MAX(LARGO(C1:C6)))

Opcion2:

En alguna columna auxiliar, por ej a partir de K1 coloca esta fórmula y arrastra o rellena hasta el final de tu rango. Estoy considerando que tu col de datos es la C

=LARGO(C1) 

Luego, en la celda donde quieras obtener la cadena màs larga coloca esta formula:

=INDICE(C1:C6;COINCIDIR(MAX(K1:K6);K1:K6;0))

Me gustaría conocer tus razones por haber considerado mejor una fórmula matricial ( y algo complicada)

=INDICE(A1:A100;MAX((LARGO(A1:A100)=MAX(LARGO(A1:A100)))*FILA(A1:A100)))

a la forma más simple enviada por mí (debes ajustar el rango segun tus datos).

=INDICE(A1:A6;MAX(LARGO(A1:A6)))

Las 2 devuelven el mismo resultado... pero a simple vista se nota cual es la óptima.

Pero como has valorado mejor la matricial enviada por el otro experto, a continuación de la mía, me gustaría saber si hubo algún detalle que no estoy contemplando.

Respuesta
1

Si tus datos están en al columna A y empiezan en la celda A1. Utiliza la siguiente fórmula, pon la fórmula por ejemplo en la celda B1.

=INDICE(A1:A100;MAX((LARGO(A1:A100)=MAX(LARGO(A1:A100)))*FILA(A1:A100)))

La fórmula es matricial para aceptarla deberás presionar la teclas SHIFT+CONTROL+ENTER, notarás que la fórmula queda entre llaves

{=INDICE(A1:A100;MAX((LARGO(A1:A100)=MAX(LARGO(A1:A100)))*FILA(A1:A100)))}

Cambia el número 100 por el último número de fila que tenga datos.

La pregunta no admite más respuestas

Más respuestas relacionadas