Tengo una fila de 6 valores alfanuméricos como en la imagen. Necesito una fórmula que determine los tres valores numéricos más altos en cada fila y luego muestre las letras asociadas con esos valores en el orden correcto (descendente). Por ejemplo, la fila 1 da como resultado una respuesta RES, ya que R es el más alto en la fila, seguido de E, seguido de S. Cuando hay una coincidencia (como en arriba), el primero en aparecer tiene preferencia. Soy un usuario básico de Excel y esto me tiene desconcertado. Puedo hacer elementos de la solución pero no me gusta cuando intento combinarlos. Agradecido por tu ayuda.
Respuesta1
Cómo funciona:
Mis datos de origen están dentro del rango A2:F3
.
Escriba esta fórmula en la celda
B6
para dividir los alfabetos de los datos de origen y completarlosBien.=LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
Para dividir números de los datos de origen, ingrese esta fórmula en la celda
B7
, completeJusto entonces Abajo.=VALUE(RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1))
En la celda
B10
escriba esta fórmula de matriz, completeBienluego presioneF2
y termine conCtrl+Shift+Enter
y completeAbajo.{=LARGE(B7:G7,{1,2,3})}
Escriba esta fórmula en el
B13
relleno de celdaBienentoncesAbajo.=IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
Finalmente, en Celda
B16
escribe esta Fórmula y completaabajo.
=CONCATENATE(B13,C13,D13)
Ajuste las diferencias de celda en Fórmula según sea necesario.
Respuesta2
Suponiendo que sus datos 'R35' se encuentran en A1
.
hacer
H1 ---> =VALUE(RIGHT(A1,LEN(A1)-1))
y arrastre hasta L1
, luego
N1 ---> =IF(COUNTIF($H1:$L1,H1)=1,H1,H1+0.5)
O1 ---> =IF(COUNTIF($H1:$L1,I1)=1,I1,I1+0.4)
P1 ---> =IF(COUNTIF($H1:$L1,J1)=1,J1,J1+0.3)
Q1 ---> =IF(COUNTIF($H1:$L1,K1)=1,K1,K1+0.2)
R1 ---> =IF(COUNTIF($H1:$L1,L1)=1,L1,L1+0.1)
entonces
T1 ---> =RANK(N1,$N1:$R1,0)
y arrastre hasta X1
, luego
Z1 ---> =INDEX($A1:$F1,MATCH(1,$T1:$X1,0))
AA1 ---> =INDEX($A1:$F1,MATCH(2,$T1:$X1,0))
AB1 ---> =INDEX($A1:$F1,MATCH(3,$T1:$X1,0))
entonces
AD1 ---> =LEFT(Z1)&LEFT(AA1)&LEFT(AB1)
Por último... seleccione H1:AD1
y arrastre hasta AD6
.
La columna AD debería ser lo que estás buscando. Puedes ocultar las columnas o hacerlo en otra hoja para que parezca más sencillo.
Comparta si se queda atascado (en comprender la fórmula o hacerlo). (:
Espero eso ayude.
p/s: +0.5, +0.4 .. +0.1 se utiliza para satisfacer este requisito
el primero en aparecer tiene preferencia
Respuesta3
Necesitaba 6 células auxiliares sin usar VBS. Entonces, si sus datos están desde A1 hasta F1:
establezca G1 en
=INT(RIGHT(A1,2)&"006")
establezca H1 en
=INT(RIGHT(B1,2)&"005")
establezca I1 en
=INT(RIGHT(C1,2)&"004")
establezca J1 en
=INT(RIGHT(D1,2)&"003")
establezca K1 en
=INT(RIGHT(E1,2)&"002")
establezca L1 en
=INT(RIGHT(F1,2)&"001")
y M1 a
=LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,1),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,2),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,3),G1:L1,0))),1)
Deberías poder copiar y pegar esas 7 fórmulas en tus filas. Tenga en cuenta que los valores duplicados se manejan de izquierda a derecha.