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

Cómo asignar un valor numérico a un valor no numérico en Excel

Tengo algunas respuestas de la encuesta con valores como “VU” para “Muy improbable” y “S” para “A veces”. Cada respuesta de la encuesta ocupa una celda. Para cada celda que contenga una respuesta de la encuesta, quiero rellenar otra celda con un número correspondiente. Por ejemplo, para cada celda que contenga “VU” quiero llenar una celda correspondiente con el número 1.

¿Cómo se hace esto?

Respuestas (3)

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

Tendría una tabla separada en otra pestaña que detalla los valores:

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

Luego, en una nueva columna, en la encuesta añadiría esta fórmula

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

donde A2 se refiere a la respuesta de los encuestados para esa fila y Codesheet se refiere a la hoja donde pusiste la tabla de valores anterior.

Ahora deberías poder ordenar por la nueva columna.

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

Puedes hacerlo fácilmente con una fórmula. Algo así como

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

Donde A1 es la celda que contiene la respuesta.

Utilicé Muy improbable, A veces, Probable, Muy probable como posibles respuestas.

También sería posible crear una macro VBA para hacer esto, pero creo que sería complicarlo…

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

Al final me decidí por una búsqueda de matrices a la vieja usanza como ésta:

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

Sin embargo, en algunas celdas, la referencia de la celda que es el primer argumento de LOOKUP apuntaba a una celda vacía, lo que provocaba un error “N/A”. Mi respuesta a esto fue aplicar las funciones NOT() e ISBLANK() así

=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}),"")