| | Post: 1 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
08/04/2017 11:19 | |
Salve, vorrei sottoporvi un quesito che non riesco a risolvere.
Sul mio foglio 1 ho un elenco di nominativi ( nome cognome data ecc ecc) e nei fogli 2-3-4-5-6-7 ( ogni foglio appartiene ad una categoria di lavoro) ho altri elenchi di nominativi delle stesse persone.
Quindi nella colonna 8 del foglio 1 voglio sapere se il primo nominativo si ripete in questi fogli e sapere dove e siccome ho degli omonimi vorrei prendere nome cognome e data di nascita in modo da sapere chi è .
Spero di essere stata chiara e grazie a chi mi aiuterà io sto diventando pazza. |
|
| | Post: 3.051 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
08/04/2017 11:29 | |
Ciao Passione
Non è che abbia capito molto ma giusto per tentare di provarci allega un file di esempio con dati fittizi, spiegazione e risultato desiderato inserito a mano
Alfredo |
| | Post: 1 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
08/04/2017 11:57 | |
ok adesso lo preparo immaginavo che nn fossi stata chiara |
| | Post: 2 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
08/04/2017 12:10 | |
ecco l'esempio l'ho fatto molto strimizzito perchè l'elenco dei nominativi è sui 5000 nominativi.
quindi nella colonna esito dovrebbe uscire le mansioni che il soggetto fa da una a più dipende.
|
| | Post: 1.167 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
08/04/2017 13:15 | |
Ciao
facciamo un esempio concreto, altrimenti si perde tempo:
prendiamo "bianchi mario": vuoi che nel foglio1 cella G1 venga scritto: cuoco-giardiniere ?
Se è cos' ovviamente non con le formule ma con un codice.vba. Ne sai qualcosa?
saluti
[Modificato da dodo47 08/04/2017 13:20] Domenico
Win 10 - Excel 2016 |
| | Post: 3.054 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
08/04/2017 18:13 | |
Ciao Passione
Giusto per divertimento ti ho scritto questa funzione in VBA che fa quello che chiedi ma come diceva Dodo47 (che saluto) tu come sei messa a conoscenze di VBA? sei in grado di mettere in pratica la soluzione? Comunque ci provo
Questa è la Function da inserire in un modulo standard
vb Function mansioni(a)
Dim i As Integer
Dim rng As Range
Dim ruoli As String
For i = 2 To Sheets.Count
With Sheets(i).Range("B:B")
Set rng = .Find(What:=a, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rng Is Nothing Then
ruoli = ruoli & ", " & rng.Offset(0, -1).Value
End If
End With
Next i
mansioni = Mid(ruoli, 3, 100)
End Function
Sul foglio1 in G2 basterà scrivere
ed avrai come risultato per Bianchi Mario: "cuoco, giardiniere"
Se ricopi la formula verso il basso avrai le mansioni degli altri nominativi.
N.B. Per semplicità ho eleminato gli omonimi per cui se vi sono vanno in qualche modo differenziati.
Alfredo |
| | Post: 44 | Registrato il: 04/11/2016
| Città: FIUMICINO | Età: 39 | Utente Junior | Excel 2003 | | OFFLINE | |
|
09/04/2017 18:43 | |
Ragazzi, ha aspettato più di 10 anni per farvi la prima domanda, dovete cercare di non spaventarla sennò chissà quando la rivediamo!!
Ma nel 2006 c'era il 2007?
Buona Domenica delle Palme [Modificato da Riky0185 09/04/2017 18:44] |
| | Post: 3.055 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
09/04/2017 18:59 | |
Ma no Ricky se vai ne profilo di =Passione= vedrai che è iscritta dall'8/4/2017 e comunque speriamo di non dover aspettare 10 anni per il riscontro. [Modificato da alfrimpa 09/04/2017 19:07]
Alfredo |
| | Post: 1.169 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
09/04/2017 19:46 | |
Ciao Alfredo, mi sa che la risentirai, in quanto dice:
=Passione=, 08/04/2017 11.19:
....e siccome ho degli omonimi vorrei prendere nome cognome e data di nascita...
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 3.056 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
09/04/2017 19:58 | |
Ciao Domenico
Io più che nome cognome e data di nascita metterei un id univoco per ogni nominativo; mi sembra la soluzione più semplice.
Diversamente si dovrebbe concatenare nome, cognome e data di nascita su tutti i fogli (con i problemi delle date nel CONCATENA).
Alfredo |
| | Post: 3 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
10/04/2017 10:52 | |
buongiorno,
allora rispondo a un pò di domande, su questo forum ci sono capitata per caso facendo una ricerca su google sabato .... per quanto riguarda la mia iscrizione risale a 10 anni fa perchè avevo messo su un forum di libri che neanche ricordavo insieme ad una mia amica e quando ho messo i dati per registrarmi qui è saltato fuori che lo ero già ....... e nn riesco neanche a cambiare il nickname
Ora passando al mio problema a riguardo al programmare in vba non tanto ho qualche ricordo delle superiori purtroppo, immaginavo che un semplice cerca vert o altre formule nn potessero aiutarmi ...... proverò a vedere il programmino che mi ha scritto alfrimpa .
Vi ringrazio tutti per l'aiuto |
| | Post: 3.059 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
10/04/2017 10:52 | |
Ciao Passione ed un saluto a Domenico
Ho provato la mia funzione sulle strutture Tabelle che sono presenti nel file (in precedenza le avevo eliminate) e sembra funzionare anche in presenza di omonimi.
P.S. Passione ho visto che hai risposto ora; prova un po' e fammi sapere. [Modificato da alfrimpa 10/04/2017 10:54]
Alfredo |
| | Post: 3.060 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
10/04/2017 10:56 | |
=Passione=, 10/04/2017 10.52:
buongiorno,
allora rispondo a un pò di domande, su questo forum ci sono capitata per caso facendo una ricerca su google sabato .... per quanto riguarda la mia iscrizione risale a 10 anni fa perchè avevo messo su un forum di libri che neanche ricordavo insieme ad una mia amica e quando ho messo i dati per registrarmi qui è saltato fuori che lo ero già ....... e nn riesco neanche a cambiare il nickname
Ora passando al mio problema a riguardo al programmare in vba non tanto ho qualche ricordo delle superiori purtroppo, immaginavo che un semplice cerca vert o altre formule nn potessero aiutarmi ...... proverò a vedere il programmino che mi ha scritto alfrimpa .
Vi ringrazio tutti per l'aiuto
Ed infatti sul tuo profilo c'è la corretta data della tua iscrizione (8/4/2017)
Poi se ci dici anche il tuo nome è ancora meglio
Alfredo |
| | Post: 4 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
10/04/2017 10:59 | |
giorno,
adesso ci provo vedo come va .....
mi chiamo Giusy piacere :-D |
| | Post: 3.062 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
10/04/2017 11:05 | |
Giusy il piacere è mio
Alfredo |
| | Post: 3.063 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
10/04/2017 11:24 | |
Ciao Giusy
Come dettoti ti allego il tuo file con la funzione inserita
Questa è la function che ho lievemente modificato rispetto alla precedente ma il risultato è, credo, lo stesso.
vb Function mansioni(a)
Dim i As Integer
Dim rng As Range
Dim ruoli As String
For i = 2 To Sheets.Count
With Sheets(i).Range("B:B")
Set rng = .Find(What:=a, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rng Is Nothing Then
mansioni = mansioni & rng.Offset(0, -1).Value & ", "
End If
End With
Next i
End Function
Fai sapere. [Modificato da alfrimpa 10/04/2017 15:45]
Alfredo |
| | Post: 5 | Registrato il: 06/09/2006
| Utente Junior | excel 2007 | | OFFLINE | |
|
10/04/2017 11:49 | |
grazie grazie milleeeeee |
|
|