Encontrar o valor numérico mais alto em uma variedade de dados híbridos no Excel

Encontrar o valor numérico mais alto em uma variedade de dados híbridos no Excel

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.

insira a descrição da imagem aqui

Responder1

insira a descrição da imagem aqui

Como funciona:

Meus dados de origem estão em Range A2:F3.

  • Escreva esta fórmula na célula B6para 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 B10escreva esta fórmula de matriz, preenchaCertoem seguida, pressione F2e finalize Ctrl+Shift+Entere preenchaAbaixo.

    {=LARGE(B7:G7,{1,2,3})}
    
  • Escreva esta fórmula no B13preenchimento de célulaCertoentãoAbaixo.

       =IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
    
  • Finalmente, na célula B16escreva 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:AD1e 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.

informação relacionada