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

Come si assegna un valore numerico a un valore non numerico in Excel

Ho alcune risposte al sondaggio con valori come “VU” per “Molto improbabile” e “S” per Qualche volta. Ogni risposta del sondaggio occupa una cella. Per ogni cella che contiene una risposta del sondaggio, voglio riempire un'altra cella con un numero corrispondente. Per esempio, per ogni cella che contiene “VU” voglio riempire una cella corrispondente con il numero 1.

Come si fa?

Risposte (3)

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

Avrei una tabella separata in un'altra scheda che dettaglia i valori:

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

Poi, in una nuova colonna, sul sondaggio aggiungerei questa formula:

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

dove A2 si riferisce alla risposta degli intervistati per quella riga e Codesheet si riferisce al foglio dove hai messo la tabella dei valori di cui sopra.

Ora dovresti essere in grado di ordinare per la nuova colonna.

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

Si può fare facilmente con una formula. Qualcosa come:

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

dove A1 è la cella contenente la risposta.

Ho usato Molto improbabile, A volte, Probabile, Molto probabile come possibili risposte.

Sarebbe anche possibile creare una macro VBA per fare questo, ma penso che sarebbe complicato…

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

Alla fine ho optato per un buon vecchio look-up di array come questo:

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

Tuttavia, in alcune celle, il riferimento alla cella che è il primo argomento del LOOKUP puntava ad una cella vuota con conseguente errore “N/A”. La mia risposta è stata di applicare le funzioni NOT() e ISBLANK() in questo modo:

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