› Excel e gli applicativi Microsoft Office › Aiuto formula per profilare utenti in base a età e titolo studio
-
AutoreArticoli
-
Buongiorno a tutti,
seguo il forum da tempo ed ho trovato sempre molto utili i consigli,i tutorial e l'aiuto che viene fornito.
Adesso mi sono imbattutto in un problema che non riesco a risolvere e per questo chiedo aiuto a voi.
Ho una tabella contenente:
- nome persona
- Titolo di studio (1=lic elementare, 2=lic media, 3=lic superiore)
- EtàA questa tabella devo aggiungere una nuova colonna all'interno della quale deve comparire il numero del profilo secondo la seguente logica:
profilo 1 se età >50 e titolo studio 1
profilo 2 se età compresa tra 34 e 50 e titolo studio 1
profilo 3 se età compresa tra 20 e 34 anni e titolo studio 1
profilo 4 se età <20 e titolo studio 1profilo 5 se età >50 e titolo studio 2
profilo 6 se età compresa tra 34 e 50 e titolo studio 2
profilo 7 se età compresa tra 20 e 34 anni e titolo studio 2
profilo 8 se età <20 e titolo studio 2profilo 9 se età >50 e titolo studio 3
profilo 10 se età compresa tra 34 e 50 e titolo studio 3
profilo 11 se età compresa tra 20 e 34 anni e titolo studio 3
profilo 12 se età <20 e titolo studio 3Sono confuso, penso che dovrei applicare un cerca.vert innestato ad un se o qualcosa del genere.
Potreste aiutarmi?
GrazieR.
Le soluzioni sono moteplici, con il file in mano sarebbe più facile
Assumo che il titolo di studio sia un numero come hai scritto.
1) puoi usare un scegli sul titoòlo di studio e all'interno di questo crearti dei se annidati
2) crearti una serie di se annidati
3) crearti una matrice in cui entrate con un cerca vert e il titolo di studio come indice di colonna.
Provo a preparare un esempio e telo mando
Ciao,
in allegato il file che ho creato.
Grazie
Allegati:
You must be logged in to view attached files.Ciao Ho modificato il Tuo File Creando una matrice anzichè un elenco dei Profili (in riga il Titolo di studio in colonne le età e ho usato un Cerca vert + un confronta. Siccome il confronta (per i titoli di studio) funziona solo se la corrispondenza è esatta, ho inserito una convalida dati nella tabella. Ciao Fammi sapere. PS ho modificato una copia del foglio che ho rinominato Foglio1_LT
Allegati:
You must be logged in to view attached files.In vba a differenza di luca(saluto), inserisci il codice in nel modulo del foglio1,,è lanci la macro. Il codice si deve si implementare con gli altri valori. ciao
Sub m() Dim wbs As Worksheet Dim lastrow As Integer Dim rng As Range Dim cl As Object Set wbs = Sheets("foglio1") With wbs lastrow = .Cells(Rows.Count, 4).End(xlUp).Row Set rng = .Range("d2:d" & lastrow) For Each cl In rng Select Case cl Case Is > 50 If cl.Offset(0, -1) = "Licenza elementare" Then cl.Offset(0, 1) = 1 ElseIf cl.Offset(0, -1) = "Diploma di scuola media inferiore" Then cl.Offset(0, 1) = 5 ElseIf cl.Offset(0, -1) = "Diploma scuola media superiore" Then cl.Offset(0, 1) = 9 Else: cl.Offset(0, -1) = "Laurea" cl.Offset(0, 1) = 13 End If Case 35 To 50 If cl.Offset(0, -1) = "Licenza elementare" Then cl.Offset(0, 1) = 2 End If End Select Next End With End Sub
Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
Sempre il mare, uomo libero, amerai!
( Charles Baudelaire ) -
AutoreArticoli