Excel - Existe uma função para retornar um número baseado em qual string está em uma célula, como CHOOSE, mas não?

0

Eu preciso de uma função =Func(A1, "Alex, "Betty", "Charlie") que retorne o índice da entrada correspondente. Se esta função é colocada em B1: B13, mostraria

"Charlie"   3
"Alex"      1
"Alex"      1
"Alex"      1
"Charlie"   3
"Charlie"   3
"Betty"     2
"Charlie"   3
"Charlie"   3
"Betty"     2
"Betty"     2
"Betty"     2
"Alex"      1

Eu pensei que o CHOOSE faria isso à primeira vista, mas retorna uma referência baseada em um inteiro, o inverso do que eu preciso.

Existe uma função existente que faz isso que eu perdi, eu teria que fazer uma função mais complicada de algo como ifs ou vlookup aninhados, ou eu teria que escrever uma função no VBA?

Obrigado pelo seu tempo e ajuda.

    
por Nihil K'ri 26.07.2014 / 07:46

2 respostas

2

Se você puder colocar os valores para comparar em um intervalo em outro lugar na planilha, poderá usar a função LOOKUP. LOOKUP procura seu primeiro argumento no intervalo especificado no segundo argumento e retorna o valor correspondente do intervalo no terceiro argumento. Você terá que adicionar um intervalo especificando o valor desejado.

Por exemplo, eu crio a tabela de pesquisa em F1: F3 e G1: G3:

    F         G
1   Alex      1
2   Betty     2
3   Charlie   3

Então a função a usar é

    B
1   =LOOKUP(A1,$F$1:$F$3,$G$1:$G$3)
2   =LOOKUP(A2,$F$1:$F$3,$G$1:$G$3)

Na célula B1, LOOKUP procura A1 ("Charlie"), encontra-o em F3 e retorna o valor de G3, que é 3. Na célula B2, LOOKUP procura A2 ("Alex"), encontra-o em F1, e retorna o valor de G1, que é 1.

Você também pode colocar a tabela de consulta em outra planilha na pasta de trabalho, caso não a queira na planilha principal.

    
por 26.07.2014 / 08:45
0

Eu não tenho 100% de certeza de como são seus dados de origem, mas a função CORRESP analisará um único valor e retornará sua posição em uma matriz.

Se A1: A4 for

Alex
Betty
Charlie
Betty

e em B1 você coloca

=MATCH(A1,$A$1:$A$4)

B1 retornará

1

Em seguida, basta preencher B1 até B4 e você terá seu resultado.

    
por 26.07.2014 / 08:01