2010-04-28 23:50:54 +0000 2010-04-28 23:50:54 +0000
4
4

Como atribuir um valor numérico a um valor não numérico em Excel

Tenho algumas respostas a inquéritos com valores como “VU” para “Muito improvável” e “S” para “Por vezes”. Cada resposta de inquérito ocupa uma célula. Para cada célula contendo uma resposta a um inquérito, quero preencher outra célula com um número correspondente. Por exemplo, para cada célula que contém “VU”, quero preencher uma célula correspondente com o número 1.

Como é que isto é feito?

Respostas (3)

3
3
3
2010-04-29 12:20:55 +0000

Eu teria uma tabela separada noutro separador que detalhava os valores:

Code Value
VU 1
U 2
S 3
L 4
VL 5

Depois, numa nova coluna, no inquérito, eu acrescentaria esta fórmula:

=VLOOKUP(A2,CodeSheet!$A$2:$B$6,2,0)

em que A2 se refere à resposta dos inquiridos para essa linha e Codesheet se refere à folha onde se coloca a tabela de valores acima.

Agora deve ser possível ordenar pela nova coluna.

2
2
2
2010-04-29 01:55:15 +0000

Pode fazer isto facilmente com uma fórmula. Algo do género:

=IF(A1="VU",1,IF(A1="S",2,IF(A1="L",3,IF(A1="VL",4,""))))

Onde A1 é a célula que contém a resposta.

Eu usei muito improvável, por vezes, provável, muito provável como respostas possíveis.

Seria também possível criar uma macro VBA para o fazer, mas penso que isso seria complicar…

-1
-1
-1
2010-04-29 18:02:52 +0000

Acabei por me assentar numa boa e antiquada colecção à moda antiga como esta:

=LOOKUP(J4, {"A","D","NS","O","R","S","SA","SD","VO","VR";4,2,3,4,2,3,5,1,5,1})

Contudo, em algumas células, a referência celular que é o primeiro argumento do LOOKUP apontava para uma célula vazia, resultando num erro “N/A”. A minha resposta a isto foi aplicar as funções NOT() e ISBLANK() desta forma:

=IF(NOT(ISBLANK(J4)),LOOKUP(Sheet1!J4, {"A","D","NS","O","R","S","SA","SD","VO","VR";4,2,3,4,2,3,5,1,5,1}),"")