Tenho uma linha de 6 valores alfanuméricos como na imagem. Preciso de uma fórmula que determine os três valores numéricos mais altos em cada linha e, em seguida, exiba as letras associadas a esses valores na ordem correta (decrescente). Por exemplo, a linha 1 resulta em uma resposta RES, pois R é o mais alto na linha, seguido por E, seguido por S. Onde houver correspondência (como acima), o primeiro a aparecer terá preferência. Sou um usuário básico do Excel e isso me deixou perplexo. Posso fazer elementos da solução, mas não gosto quando tento combinar. Grato pela sua ajuda.
Responder1
Como funciona:
Meus dados de origem estão em Range A2:F3
.
Escreva esta fórmula na célula
B6
para dividir os alfabetos dos dados de origem e preencherCerto.=LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
Para dividir números dos dados de origem, insira esta fórmula na célula
B7
, preenchaCerto, então para baixo.=VALUE(RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1))
Na célula
B10
escreva esta fórmula de matriz, preenchaCertoem seguida, pressioneF2
e finalizeCtrl+Shift+Enter
e preenchaAbaixo.{=LARGE(B7:G7,{1,2,3})}
Escreva esta fórmula no
B13
preenchimento de célulaCertoentãoAbaixo.=IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
Finalmente, na célula
B16
escreva esta fórmula e preenchaabaixo.
=CONCATENATE(B13,C13,D13)
Ajuste as deferências de células na Fórmula conforme necessário.
Responder2
Supondo que seus dados 'R35' estejam localizados em A1
.
fazer
H1 ---> =VALUE(RIGHT(A1,LEN(A1)-1))
e arraste até L1
, então
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)
então
T1 ---> =RANK(N1,$N1:$R1,0)
e arraste até X1
, então
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))
então
AD1 ---> =LEFT(Z1)&LEFT(AA1)&LEFT(AB1)
por último.. selecione H1:AD1
e arraste até AD6
.
A coluna AD deve ser o que você está procurando. Você pode ocultar as colunas ou fazer isso em outra planilha para parecer mais simples.
Por favor, compartilhe se você tiver dúvidas (em entender a fórmula ou em fazê-la). ( :
espero que ajude.
p/s : +0,5 , +0,4 .. +0,1 é usado para atender a este requisito
o primeiro a aparecer tem preferência
Responder3
Eu precisava de 6 células auxiliares sem usar VBS. Portanto, se seus dados estiverem de A1 a F1:
defina G1 para
=INT(RIGHT(A1,2)&"006")
defina H1 como
=INT(RIGHT(B1,2)&"005")
defina I1 como
=INT(RIGHT(C1,2)&"004")
defina J1 como
=INT(RIGHT(D1,2)&"003")
defina K1 para
=INT(RIGHT(E1,2)&"002")
defina L1 para
=INT(RIGHT(F1,2)&"001")
e M1 para
=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)
Você deve conseguir copiar e colar essas 7 fórmulas em suas linhas. Observe que os valores duplicados são tratados da esquerda para a direita.